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

Side by Side Diff: webkit/fileapi/file_system_context.cc

Issue 10781014: Isolated FS for media devices. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix Device intent source (media detach notification) Created 8 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/fileapi/file_system_context.h" 5 #include "webkit/fileapi/file_system_context.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 const FilePath& profile_path, 53 const FilePath& profile_path,
54 const FileSystemOptions& options) 54 const FileSystemOptions& options)
55 : file_task_runner_(file_task_runner), 55 : file_task_runner_(file_task_runner),
56 io_task_runner_(io_task_runner), 56 io_task_runner_(io_task_runner),
57 quota_manager_proxy_(quota_manager_proxy), 57 quota_manager_proxy_(quota_manager_proxy),
58 sandbox_provider_( 58 sandbox_provider_(
59 new SandboxMountPointProvider( 59 new SandboxMountPointProvider(
60 file_task_runner, 60 file_task_runner,
61 profile_path, 61 profile_path,
62 options)), 62 options)),
63 isolated_provider_(new IsolatedMountPointProvider) { 63 isolated_provider_(new IsolatedMountPointProvider(profile_path)) {
64 if (quota_manager_proxy) { 64 if (quota_manager_proxy) {
65 quota_manager_proxy->RegisterClient(CreateQuotaClient( 65 quota_manager_proxy->RegisterClient(CreateQuotaClient(
66 this, options.is_incognito())); 66 this, options.is_incognito()));
67 } 67 }
68 #if defined(OS_CHROMEOS) 68 #if defined(OS_CHROMEOS)
69 external_provider_.reset( 69 external_provider_.reset(
70 new chromeos::CrosMountPointProvider(special_storage_policy)); 70 new chromeos::CrosMountPointProvider(special_storage_policy));
71 #endif 71 #endif
72 } 72 }
73 73
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 } 115 }
116 116
117 FileSystemMountPointProvider* FileSystemContext::GetMountPointProvider( 117 FileSystemMountPointProvider* FileSystemContext::GetMountPointProvider(
118 FileSystemType type) const { 118 FileSystemType type) const {
119 switch (type) { 119 switch (type) {
120 case kFileSystemTypeTemporary: 120 case kFileSystemTypeTemporary:
121 case kFileSystemTypePersistent: 121 case kFileSystemTypePersistent:
122 return sandbox_provider_.get(); 122 return sandbox_provider_.get();
123 case kFileSystemTypeExternal: 123 case kFileSystemTypeExternal:
124 return external_provider_.get(); 124 return external_provider_.get();
125 case kFileSystemTypeDeviceMedia:
125 case kFileSystemTypeIsolated: 126 case kFileSystemTypeIsolated:
126 case kFileSystemTypeDragged: 127 case kFileSystemTypeDragged:
127 return isolated_provider_.get(); 128 return isolated_provider_.get();
128 default: 129 default:
129 if (provider_map_.find(type) != provider_map_.end()) 130 if (provider_map_.find(type) != provider_map_.end())
130 return provider_map_.find(type)->second; 131 return provider_map_.find(type)->second;
131 // Fall through. 132 // Fall through.
132 case kFileSystemTypeUnknown: 133 case kFileSystemTypeUnknown:
133 NOTREACHED(); 134 NOTREACHED();
134 return NULL; 135 return NULL;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 if (!io_task_runner_->RunsTasksOnCurrentThread() && 205 if (!io_task_runner_->RunsTasksOnCurrentThread() &&
205 io_task_runner_->DeleteSoon(FROM_HERE, this)) { 206 io_task_runner_->DeleteSoon(FROM_HERE, this)) {
206 return; 207 return;
207 } 208 }
208 STLDeleteContainerPairSecondPointers(provider_map_.begin(), 209 STLDeleteContainerPairSecondPointers(provider_map_.begin(),
209 provider_map_.end()); 210 provider_map_.end());
210 delete this; 211 delete this;
211 } 212 }
212 213
213 } // namespace fileapi 214 } // namespace fileapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698