OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |