UserMediaPermissionCheckProxy.h [plain text]
#pragma once
#include "APIObject.h"
#include <WebCore/MediaConstraints.h>
#include <wtf/Function.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
class SecurityOrigin;
}
namespace WebKit {
class UserMediaPermissionRequestManagerProxy;
class UserMediaPermissionCheckProxy : public API::ObjectImpl<API::Object::Type::UserMediaPermissionCheck> {
public:
using CompletionHandler = WTF::Function<void(uint64_t, String&&, bool allowed)>;
static Ref<UserMediaPermissionCheckProxy> create(uint64_t userMediaID, uint64_t frameID, CompletionHandler&& handler, Ref<WebCore::SecurityOrigin>&& userMediaDocumentOrigin, Ref<WebCore::SecurityOrigin>&& topLevelDocumentOrigin)
{
return adoptRef(*new UserMediaPermissionCheckProxy(userMediaID, frameID, WTFMove(handler), WTFMove(userMediaDocumentOrigin), WTFMove(topLevelDocumentOrigin)));
}
void setUserMediaAccessInfo(String&&, bool allowed);
void invalidate();
uint64_t frameID() const { return m_frameID; }
WebCore::SecurityOrigin& userMediaDocumentSecurityOrigin() { return m_userMediaDocumentSecurityOrigin.get(); }
WebCore::SecurityOrigin& topLevelDocumentSecurityOrigin() { return m_topLevelDocumentSecurityOrigin.get(); }
CompletionHandler& completionHandler() { return m_completionHandler; }
private:
UserMediaPermissionCheckProxy(uint64_t userMediaID, uint64_t frameID, CompletionHandler&&, Ref<WebCore::SecurityOrigin>&& userMediaDocumentOrigin, Ref<WebCore::SecurityOrigin>&& topLevelDocumentOrigin);
uint64_t m_userMediaID;
uint64_t m_frameID;
CompletionHandler m_completionHandler;
Ref<WebCore::SecurityOrigin> m_userMediaDocumentSecurityOrigin;
Ref<WebCore::SecurityOrigin> m_topLevelDocumentSecurityOrigin;
};
}