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

Side by Side Diff: Source/web/LocalFileSystemClient.cpp

Issue 277353002: Use asynchronized api for file system request. [blink] (3/4) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Changes are made. Created 6 years, 7 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
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 PassOwnPtr<FileSystemClient> LocalFileSystemClient::create() 48 PassOwnPtr<FileSystemClient> LocalFileSystemClient::create()
49 { 49 {
50 return adoptPtr(static_cast<FileSystemClient*>(new LocalFileSystemClient())) ; 50 return adoptPtr(static_cast<FileSystemClient*>(new LocalFileSystemClient())) ;
51 } 51 }
52 52
53 LocalFileSystemClient::~LocalFileSystemClient() 53 LocalFileSystemClient::~LocalFileSystemClient()
54 { 54 {
55 } 55 }
56 56
57 bool LocalFileSystemClient::allowFileSystem(ExecutionContext* context) 57 bool LocalFileSystemClient::requestFileSystemAccessSync(ExecutionContext* contex t)
58 { 58 {
59 ASSERT(context); 59 ASSERT(context);
60 if (context->isDocument()) { 60 if (context->isDocument()) {
61 Document* document = toDocument(context); 61 ASSERT_NOT_REACHED();
62 WebLocalFrameImpl* webFrame = WebLocalFrameImpl::fromFrame(document->fra me()); 62 return false;
63 return !webFrame->permissionClient() || webFrame->permissionClient()->al lowFileSystem();
64 } 63 }
64
65 ASSERT(context->isWorkerGlobalScope()); 65 ASSERT(context->isWorkerGlobalScope());
66 return WorkerPermissionClient::from(*toWorkerGlobalScope(context))->allowFil eSystem(); 66 return WorkerPermissionClient::from(*toWorkerGlobalScope(context))->requestF ileSystemAccessSync();
67 } 67 }
68 68
69 void LocalFileSystemClient::requestFileSystemAccess(ExecutionContext* context, P assOwnPtr<WebCore::PermissionCallbacks> callbacks) 69 void LocalFileSystemClient::requestFileSystemAccessAsync(ExecutionContext* conte xt, PassOwnPtr<WebCore::PermissionCallbacks> callbacks)
70 { 70 {
71 ASSERT(context); 71 ASSERT(context);
72 if (context->isDocument()) { 72 if (!context->isDocument()) {
73 Document* document = toDocument(context); 73 ASSERT_NOT_REACHED();
74 WebLocalFrameImpl* webFrame = WebLocalFrameImpl::fromFrame(document->fra me());
75 if (!webFrame->permissionClient()) {
76 callbacks->onAllowed();
77 return;
78 }
79 webFrame->permissionClient()->requestFileSystemAccess(callbacks);
80 return; 74 return;
81 } 75 }
82 ASSERT(context->isWorkerGlobalScope()); 76
83 WorkerPermissionClient::from(*toWorkerGlobalScope(context))->requestFileSyst emAccess(callbacks); 77 Document* document = toDocument(context);
78 WebLocalFrameImpl* webFrame = WebLocalFrameImpl::fromFrame(document->frame() );
79 if (!webFrame->permissionClient()) {
80 callbacks->onAllowed();
81 return;
82 }
83 webFrame->permissionClient()->requestFileSystemAccessAsync(callbacks);
84 } 84 }
85 85
86 LocalFileSystemClient::LocalFileSystemClient() 86 LocalFileSystemClient::LocalFileSystemClient()
87 { 87 {
88 } 88 }
89 89
90 } // namespace blink 90 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698