Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Side by Side Diff: extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.h

Issue 468323002: Introduce WebViewPermissionHelperDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIWE_PERMISSION_HELPER_DELEGA TE_H_
6 #define EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIWE_PERMISSION_HELPER_DELEGA TE_H_
7
8 #include "content/public/browser/web_contents.h"
9 #include "content/public/browser/web_contents_observer.h"
10 #include "content/public/common/media_stream_request.h"
11
12 namespace extensions {
13
14 // A delegate class of WebViewPermissionHelper to request permissions that are
15 // not a part of extensions.
16 class WebViewPermissionHelperDelegate : public content::WebContentsObserver {
17 public:
18 explicit WebViewPermissionHelperDelegate(content::WebContents* contents);
19 virtual ~WebViewPermissionHelperDelegate();
20
21 virtual void RequestMediaAccessPermission(
22 content::WebContents* source,
23 const content::MediaStreamRequest& request,
24 const content::MediaResponseCallback& callback) {}
25
26 virtual void CanDownload(
27 content::RenderViewHost* render_view_host,
28 const GURL& url,
29 const std::string& request_method,
30 const base::Callback<void(bool)>& callback) {}
31
32 virtual void RequestPointerLockPermission(
33 bool user_gesture,
34 bool last_unlocked_by_target,
35 const base::Callback<void(bool)>& callback) {}
36
37 // Requests Geolocation Permission from the embedder.
38 virtual void RequestGeolocationPermission(
39 int bridge_id,
40 const GURL& requesting_frame,
41 bool user_gesture,
42 const base::Callback<void(bool)>& callback) {}
43
44 virtual void CancelGeolocationPermissionRequest(int bridge_id) {}
45
46 virtual void RequestFileSystemPermission(
47 const GURL& url,
48 bool allowed_by_default,
49 const base::Callback<void(bool)>& callback) {}
50
51 // Called when file system access is requested by the guest content using the
52 // asynchronous HTML5 file system API. The request is plumbed through the
53 // <webview> permission request API. The request will be:
54 // - Allowed if the embedder explicitly allowed it.
55 // - Denied if the embedder explicitly denied.
56 // - Determined by the guest's content settings if the embedder does not
57 // perform an explicit action.
58 // If access was blocked due to the page's content settings,
59 // |blocked_by_policy| should be true, and this function should invoke
60 // OnContentBlocked.
61 virtual void FileSystemAccessedAsync(
62 int render_process_id,
63 int render_frame_id,
64 int request_id,
65 const GURL& url,
66 bool blocked_by_policy) {}
67
68 // Called when file system access is requested by the guest content using the
69 // synchronous HTML5 file system API in a worker thread or shared worker. The
70 // request is plumbed through the <webview> permission request API. The
71 // request will be:
72 // - Allowed if the embedder explicitly allowed it.
73 // - Denied if the embedder explicitly denied.
74 // - Determined by the guest's content settings if the embedder does not
75 // perform an explicit action.
76 // If access was blocked due to the page's content settings,
77 // |blocked_by_policy| should be true, and this function should invoke
78 // OnContentBlocked.
79 virtual void FileSystemAccessedSync(
80 int render_process_id,
81 int render_frame_id,
82 const GURL& url,
83 bool blocked_by_policy,
84 IPC::Message* reply_msg) {}
85
86 private:
87 DISALLOW_COPY_AND_ASSIGN(WebViewPermissionHelperDelegate);
88 };
89
90 } // namespace extensions
91
92 #endif // EXTENSIONS_BROWSER_GUEST_VIEW_WEB_VIEW_WEB_VIWE_PERMISSION_HELPER_DEL EGATE_H_
OLDNEW
« no previous file with comments | « extensions/browser/guest_view/OWNERS ('k') | extensions/browser/guest_view/web_view/web_view_permission_helper_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698