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

Unified Diff: content/browser/worker_host/worker_process_host.cc

Issue 338353007: Implementation of shared worker code path for WebView file system permission. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master_sharedworker
Patch Set: Initial patch Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/worker_host/worker_process_host.cc
diff --git a/content/browser/worker_host/worker_process_host.cc b/content/browser/worker_host/worker_process_host.cc
index 81645f66732281828328e43019b12793bc435751..fbcb41abdd15d6f951d6310cb0c5502267271456 100644
--- a/content/browser/worker_host/worker_process_host.cc
+++ b/content/browser/worker_host/worker_process_host.cc
@@ -386,8 +386,9 @@ bool WorkerProcessHost::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(WorkerHostMsg_WorkerConnected,
OnWorkerConnected)
IPC_MESSAGE_HANDLER(WorkerProcessHostMsg_AllowDatabase, OnAllowDatabase)
- IPC_MESSAGE_HANDLER(WorkerProcessHostMsg_RequestFileSystemAccessSync,
- OnRequestFileSystemAccessSync)
+ IPC_MESSAGE_HANDLER_DELAY_REPLY(
+ WorkerProcessHostMsg_RequestFileSystemAccessSync,
+ OnRequestFileSystemAccessSync)
IPC_MESSAGE_HANDLER(WorkerProcessHostMsg_AllowIndexedDB, OnAllowIndexedDB)
IPC_MESSAGE_HANDLER(WorkerProcessHostMsg_ForceKillWorker,
OnForceKillWorkerProcess)
@@ -475,9 +476,22 @@ void WorkerProcessHost::OnAllowDatabase(int worker_route_id,
void WorkerProcessHost::OnRequestFileSystemAccessSync(int worker_route_id,
const GURL& url,
- bool* result) {
- *result = GetContentClient()->browser()->AllowWorkerFileSystem(
- url, resource_context_, GetRenderFrameIDsForWorker(worker_route_id));
+ IPC::Message* reply_msg) {
+ GetContentClient()->browser()->RequestWorkerFileSystemAccessSync(
+ url,
+ resource_context_,
+ GetRenderFrameIDsForWorker(worker_route_id),
+ base::Bind(&WorkerProcessHost::OnRequestFileSystemAccessSyncResponse,
+ base::Unretained(this),
+ reply_msg));
+}
+
+void WorkerProcessHost::OnRequestFileSystemAccessSyncResponse(
+ IPC::Message* reply_msg,
+ bool allowed) {
+ WorkerProcessHostMsg_RequestFileSystemAccessSync::WriteReplyParams(reply_msg,
+ allowed);
+ Send(reply_msg);
}
void WorkerProcessHost::OnAllowIndexedDB(int worker_route_id,

Powered by Google App Engine
This is Rietveld 408576698