Index: Source/web/LocalFileSystemClient.cpp |
diff --git a/Source/web/LocalFileSystemClient.cpp b/Source/web/LocalFileSystemClient.cpp |
index 9f933a9369fe80015f6fd48a70265bef894dfdff..3b4f5dbf850393484828535a96c5f2424ee49976 100644 |
--- a/Source/web/LocalFileSystemClient.cpp |
+++ b/Source/web/LocalFileSystemClient.cpp |
@@ -66,7 +66,19 @@ bool LocalFileSystemClient::allowFileSystem(ExecutionContext* context) |
return WorkerPermissionClient::from(*toWorkerGlobalScope(context))->allowFileSystem(); |
} |
-void LocalFileSystemClient::requestFileSystemAccess(ExecutionContext* context, PassOwnPtr<WebCore::PermissionCallbacks> callbacks) |
+bool LocalFileSystemClient::requestFileSystemAccessSync(ExecutionContext* context) |
+{ |
+ ASSERT(context); |
+ if (context->isDocument()) { |
+ Document* document = toDocument(context); |
jochen (gone - plz use gerrit)
2014/05/15 14:35:20
this should not be reachable, no?
Xi Han
2014/05/15 15:33:25
Good catch, thanks.
On 2014/05/15 14:35:20, joche
|
+ WebLocalFrameImpl* webFrame = WebLocalFrameImpl::fromFrame(document->frame()); |
+ return !webFrame->permissionClient() || webFrame->permissionClient()->requestFileSystemAccessSync(); |
+ } |
+ ASSERT(context->isWorkerGlobalScope()); |
+ return WorkerPermissionClient::from(*toWorkerGlobalScope(context))->requestFileSystemAccessSync(); |
+} |
+ |
+void LocalFileSystemClient::requestFileSystemAccessAsync(ExecutionContext* context, PassOwnPtr<WebCore::PermissionCallbacks> callbacks) |
{ |
ASSERT(context); |
if (context->isDocument()) { |
@@ -76,11 +88,11 @@ void LocalFileSystemClient::requestFileSystemAccess(ExecutionContext* context, P |
callbacks->onAllowed(); |
return; |
} |
- webFrame->permissionClient()->requestFileSystemAccess(callbacks); |
+ webFrame->permissionClient()->requestFileSystemAccessAsync(callbacks); |
return; |
} |
ASSERT(context->isWorkerGlobalScope()); |
- WorkerPermissionClient::from(*toWorkerGlobalScope(context))->requestFileSystemAccess(callbacks); |
+ WorkerPermissionClient::from(*toWorkerGlobalScope(context))->requestFileSystemAccessAsync(callbacks); |
} |
LocalFileSystemClient::LocalFileSystemClient() |