Index: chrome/browser/guest_view/web_view/web_view_guest.h |
diff --git a/chrome/browser/guest_view/web_view/web_view_guest.h b/chrome/browser/guest_view/web_view/web_view_guest.h |
index f7b6d2ba0a7ee606a241e1cb30202a32031a3d32..41d27ab4512d29e8b2b08f954a9df6e60d51e289 100644 |
--- a/chrome/browser/guest_view/web_view/web_view_guest.h |
+++ b/chrome/browser/guest_view/web_view/web_view_guest.h |
@@ -172,35 +172,11 @@ class WebViewGuest : public GuestView<WebViewGuest>, |
const GURL& requesting_frame, |
bool user_gesture, |
const base::Callback<void(bool)>& callback); |
- |
- void OnWebViewGeolocationPermissionResponse( |
- int bridge_id, |
- bool user_gesture, |
- const base::Callback<void(bool)>& callback, |
- bool allow, |
- const std::string& user_input); |
- |
void CancelGeolocationPermissionRequest(int bridge_id); |
- void OnWebViewMediaPermissionResponse( |
- const content::MediaStreamRequest& request, |
- const content::MediaResponseCallback& callback, |
- bool allow, |
- const std::string& user_input); |
- |
- void OnWebViewDownloadPermissionResponse( |
- const base::Callback<void(bool)>& callback, |
- bool allow, |
- const std::string& user_input); |
- |
- void OnWebViewPointerLockPermissionResponse( |
- const base::Callback<void(bool)>& callback, |
- bool allow, |
- const std::string& user_input); |
- |
- void OnWebViewNewWindowResponse(int new_window_instance_id, |
- bool allow, |
- const std::string& user_input); |
+ void RequestFileSystemPermission(const GURL& url, |
+ bool allowed_by_default, |
+ const base::Callback<void(bool)>& callback); |
enum PermissionResponseAction { |
DENY, |
@@ -243,6 +219,38 @@ class WebViewGuest : public GuestView<WebViewGuest>, |
return script_executor_.get(); |
} |
+ // Called when a specific file system in the current page of a webview guest |
+ // was accessed. It will ask the embbedder whether the guest has the |
fsamuel
2014/05/30 19:46:51
Called when file system access is requested by the
Xi Han
2014/05/30 20:27:46
Done.
|
+ // permission to request file system. The access will be: |
+ // denied if the guest doesn't have permission; |
+ // allowed if the guest have a permission; |
+ // determined by the guest's content settings if embbedder doesn't sepcify the |
+ // permission. |
+ // If access was blocked due to the user's content settings, |
+ // |blocked_by_policy| should be true, and this function should invoke |
+ // OnContentBlocked. |
+ static void FileSystemAccessedAsync(int render_process_id, |
+ int render_frame_id, |
+ int request_id, |
+ const GURL& url, |
+ bool blocked_by_policy); |
+ |
+ // Called when a specific file system in the current page of a webview guest |
+ // was accessed. It will ask the embbedder whether the guest has the |
+ // permission to request file system. The access will be: |
+ // denied if the guest doesn't have permission; |
+ // allowed if the guest have a permission; |
+ // determined by the guest's content settings if embbedder doesn't sepcify the |
+ // permission. |
+ // If access was blocked due to the user's content settings, |
+ // |blocked_by_policy| should be true, and this function should invoke |
+ // OnContentBlocked. |
fsamuel
2014/05/30 19:46:51
Called when file system access is requested by the
Xi Han
2014/05/30 20:27:46
Done.
|
+ static void FileSystemAccessedSync(int render_process_id, |
+ int render_frame_id, |
+ const GURL& url, |
+ IPC::Message* reply_msg, |
+ bool blocked_by_policy); |
+ |
private: |
virtual ~WebViewGuest(); |
@@ -264,6 +272,49 @@ class WebViewGuest : public GuestView<WebViewGuest>, |
// Returns the top level items (ignoring submenus) as Value. |
static scoped_ptr<base::ListValue> MenuModelToValue( |
const ui::SimpleMenuModel& menu_model); |
fsamuel
2014/05/30 19:46:51
space between this and the next method.
Xi Han
2014/05/30 20:27:46
Done.
|
+ void OnWebViewGeolocationPermissionResponse( |
+ int bridge_id, |
+ bool user_gesture, |
+ const base::Callback<void(bool)>& callback, |
+ bool allow, |
+ const std::string& user_input); |
+ |
+ void OnWebViewFileSystemPermissionResponse( |
+ const base::Callback<void(bool)>& callback, |
+ bool allow, |
+ const std::string& user_input); |
+ |
+ void OnWebViewMediaPermissionResponse( |
+ const content::MediaStreamRequest& request, |
+ const content::MediaResponseCallback& callback, |
+ bool allow, |
+ const std::string& user_input); |
+ |
+ void OnWebViewDownloadPermissionResponse( |
+ const base::Callback<void(bool)>& callback, |
+ bool allow, |
+ const std::string& user_input); |
+ |
+ void OnWebViewPointerLockPermissionResponse( |
+ const base::Callback<void(bool)>& callback, |
+ bool allow, |
+ const std::string& user_input); |
+ |
+ void OnWebViewNewWindowResponse(int new_window_instance_id, |
+ bool allow, |
+ const std::string& user_input); |
+ |
+ static void FileSystemAccessedAsyncResponse(int render_process_id, |
+ int render_frame_id, |
+ int request_id, |
+ const GURL& url, |
+ bool allowed); |
+ |
+ static void FileSystemAccessedSyncResponse(int render_process_id, |
+ int render_frame_id, |
+ const GURL& url, |
+ IPC::Message* reply_msg, |
+ bool allowed); |
// WebContentsObserver implementation. |
virtual void DidCommitProvisionalLoadForFrame( |