[M108 Migration] Add ewk apis to support functionality for Permissions.query JS api
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / efl_integration / private / ewk_user_media_private.h
index 9e3def5..8b347c7 100644 (file)
@@ -11,6 +11,7 @@
 #include "content/public/browser/media_stream_request.h"
 #include "private/ewk_security_origin_private.h"
 #include "public/ewk_security_origin.h"
+#include "third_party/blink/public/common/permissions/permission_utils.h"
 #include "web_contents_delegate_efl.h"
 
 using content::BrowserThread;
@@ -40,4 +41,28 @@ class _Ewk_User_Media_Permission_Request {
   bool suspended_;
 };
 
+// Non suspendible
+class _Ewk_User_Media_Permission_Query {
+ public:
+  _Ewk_User_Media_Permission_Query(
+      content::WebContentsDelegateEfl* web_contents,
+      blink::PermissionType permission,
+      const GURL& requesting_origin);
+
+  const _Ewk_Security_Origin* Origin() const { return origin_.get(); }
+  blink::PermissionType GetPermissionType() { return permission_type_; }
+  content::WebContentsDelegateEfl* WebContents() const { return web_contents_; }
+  bool IsAudioRequested() const {
+    return permission_type_ == blink::PermissionType::AUDIO_CAPTURE;
+  }
+  bool IsVideoRequested() const {
+    return permission_type_ == blink::PermissionType::VIDEO_CAPTURE;
+  }
+
+ private:
+  content::WebContentsDelegateEfl* web_contents_;
+  blink::PermissionType permission_type_;
+  std::unique_ptr<_Ewk_Security_Origin> origin_;
+};
+
 #endif // ewk_user_media_private_h