Chromium Code Reviews| Index: chrome/browser/guest_view/web_view/web_view_guest.cc |
| diff --git a/chrome/browser/guest_view/web_view/web_view_guest.cc b/chrome/browser/guest_view/web_view/web_view_guest.cc |
| index c9e75d13a0b4b9f35f3275b71f49330c000bfe3b..a78495c85fcefbac188574f5381c8308b22b8c71 100644 |
| --- a/chrome/browser/guest_view/web_view/web_view_guest.cc |
| +++ b/chrome/browser/guest_view/web_view/web_view_guest.cc |
| @@ -935,75 +935,50 @@ bool WebViewGuest::ClearData(const base::Time remove_since, |
| } |
| // static |
| -void WebViewGuest::FileSystemAccessedAsync(int render_process_id, |
| - int render_frame_id, |
| - int request_id, |
| - const GURL& url, |
| - bool blocked_by_policy) { |
| +void WebViewGuest::FileSystemAccessed(int render_process_id, |
| + int render_frame_id, |
| + const GURL& url, |
| + bool blocked_by_policy, |
| + base::Callback<void(bool)> callback) { |
| WebViewGuest* guest = |
| WebViewGuest::FromFrameID(render_process_id, render_frame_id); |
| DCHECK(guest); |
| guest->RequestFileSystemPermission( |
| url, |
| !blocked_by_policy, |
| - base::Bind(&WebViewGuest::FileSystemAccessedAsyncResponse, |
| + base::Bind(&WebViewGuest::FileSystemAccessedResponse, |
| render_process_id, |
| render_frame_id, |
| - request_id, |
| - url)); |
| + url, |
| + callback)); |
| } |
| // static |
| -void WebViewGuest::FileSystemAccessedAsyncResponse(int render_process_id, |
| - int render_frame_id, |
| - int request_id, |
| - const GURL& url, |
| - bool allowed) { |
| +void WebViewGuest::FileSystemAccessedResponse( |
| + int render_process_id, |
| + int render_frame_id, |
| + const GURL& url, |
| + base::Callback<void(bool)> callback, |
| + bool allowed) { |
| TabSpecificContentSettings::FileSystemAccessed( |
| render_process_id, render_frame_id, url, !allowed); |
| - content::RenderFrameHost* render_frame_host = |
| - content::RenderFrameHost::FromID(render_process_id, render_frame_id); |
| - if (!render_frame_host) |
| - return; |
| - render_frame_host->Send( |
| - new ChromeViewMsg_RequestFileSystemAccessAsyncResponse( |
| - render_frame_id, request_id, allowed)); |
| + callback.Run(allowed); |
|
Fady Samuel
2014/07/08 14:42:46
attached() && allowed
Xi Han
2014/07/08 21:28:24
The attached() && allowed is done in WebViewGuest:
|
| } |
| // static |
| -void WebViewGuest::FileSystemAccessedSync(int render_process_id, |
| - int render_frame_id, |
| - const GURL& url, |
| - bool blocked_by_policy, |
| - IPC::Message* reply_msg) { |
| +void WebViewGuest::RequestFileSystemAccessPermission( |
|
Fady Samuel
2014/07/08 14:42:46
RequestFileSystemPermissionFromIOThread
Do the th
Xi Han
2014/07/08 21:28:24
Done.
|
| + int render_process_id, |
| + int render_frame_id, |
| + const GURL& url, |
| + bool blocked_by_policy, |
|
Fady Samuel
2014/07/08 14:42:46
Can we reduce "blocked_by_policy"? Replace instanc
Xi Han
2014/07/08 21:28:24
Done.
|
| + base::Callback<void(bool)> callback) { |
| WebViewGuest* guest = |
| WebViewGuest::FromFrameID(render_process_id, render_frame_id); |
| DCHECK(guest); |
| guest->RequestFileSystemPermission( |
| url, |
| !blocked_by_policy, |
| - base::Bind(&WebViewGuest::FileSystemAccessedSyncResponse, |
| - render_process_id, |
| - render_frame_id, |
| - url, |
| - reply_msg)); |
| -} |
| - |
| -// static |
| -void WebViewGuest::FileSystemAccessedSyncResponse(int render_process_id, |
| - int render_frame_id, |
| - const GURL& url, |
| - IPC::Message* reply_msg, |
| - bool allowed) { |
| - TabSpecificContentSettings::FileSystemAccessed( |
| - render_process_id, render_frame_id, url, !allowed); |
| - ChromeViewHostMsg_RequestFileSystemAccessSync::WriteReplyParams(reply_msg, |
| - allowed); |
| - content::RenderFrameHost* render_frame_host = |
| - content::RenderFrameHost::FromID(render_process_id, render_frame_id); |
| - if (!render_frame_id) |
| - return; |
| - render_frame_host->Send(reply_msg); |
| + callback); |
| } |
| WebViewGuest::~WebViewGuest() { |