OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/browser/fileapi/syncable/canned_syncable_file_system.h" | 5 #include "webkit/browser/fileapi/syncable/canned_syncable_file_system.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/message_loop_proxy.h" | 10 #include "base/message_loop_proxy.h" |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 void EnsureLastTaskRuns(base::SingleThreadTaskRunner* runner) { | 170 void EnsureLastTaskRuns(base::SingleThreadTaskRunner* runner) { |
171 base::RunLoop run_loop; | 171 base::RunLoop run_loop; |
172 runner->PostTaskAndReply( | 172 runner->PostTaskAndReply( |
173 FROM_HERE, base::Bind(&base::DoNothing), run_loop.QuitClosure()); | 173 FROM_HERE, base::Bind(&base::DoNothing), run_loop.QuitClosure()); |
174 run_loop.Run(); | 174 run_loop.Run(); |
175 } | 175 } |
176 | 176 |
177 } // namespace | 177 } // namespace |
178 | 178 |
179 CannedSyncableFileSystem::CannedSyncableFileSystem( | 179 CannedSyncableFileSystem::CannedSyncableFileSystem( |
180 const GURL& origin, const std::string& service, | 180 const GURL& origin, |
181 base::SingleThreadTaskRunner* io_task_runner, | 181 base::SingleThreadTaskRunner* io_task_runner, |
182 base::SingleThreadTaskRunner* file_task_runner) | 182 base::SingleThreadTaskRunner* file_task_runner) |
183 : service_name_(service), | 183 : origin_(origin), |
184 origin_(origin), | |
185 type_(fileapi::kFileSystemTypeSyncable), | 184 type_(fileapi::kFileSystemTypeSyncable), |
186 result_(base::PLATFORM_FILE_OK), | 185 result_(base::PLATFORM_FILE_OK), |
187 sync_status_(sync_file_system::SYNC_STATUS_OK), | 186 sync_status_(sync_file_system::SYNC_STATUS_OK), |
188 io_task_runner_(io_task_runner), | 187 io_task_runner_(io_task_runner), |
189 file_task_runner_(file_task_runner), | 188 file_task_runner_(file_task_runner), |
190 is_filesystem_set_up_(false), | 189 is_filesystem_set_up_(false), |
191 is_filesystem_opened_(false), | 190 is_filesystem_opened_(false), |
192 sync_status_observers_(new ObserverList) { | 191 sync_status_observers_(new ObserverList) { |
193 } | 192 } |
194 | 193 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
241 EXPECT_TRUE(is_filesystem_opened_); | 240 EXPECT_TRUE(is_filesystem_opened_); |
242 | 241 |
243 GURL url(root_url_.spec() + path); | 242 GURL url(root_url_.spec() + path); |
244 return file_system_context_->CrackURL(url); | 243 return file_system_context_->CrackURL(url); |
245 } | 244 } |
246 | 245 |
247 PlatformFileError CannedSyncableFileSystem::OpenFileSystem() { | 246 PlatformFileError CannedSyncableFileSystem::OpenFileSystem() { |
248 EXPECT_TRUE(is_filesystem_set_up_); | 247 EXPECT_TRUE(is_filesystem_set_up_); |
249 EXPECT_FALSE(is_filesystem_opened_); | 248 EXPECT_FALSE(is_filesystem_opened_); |
250 file_system_context_->OpenSyncableFileSystem( | 249 file_system_context_->OpenSyncableFileSystem( |
251 service_name_, origin_, type_, | 250 origin_, type_, |
252 fileapi::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT, | 251 fileapi::OPEN_FILE_SYSTEM_CREATE_IF_NONEXISTENT, |
253 base::Bind(&CannedSyncableFileSystem::DidOpenFileSystem, | 252 base::Bind(&CannedSyncableFileSystem::DidOpenFileSystem, |
254 base::Unretained(this))); | 253 base::Unretained(this))); |
255 base::MessageLoop::current()->Run(); | 254 base::MessageLoop::current()->Run(); |
256 if (file_system_context_->sync_context()) { | 255 if (file_system_context_->sync_context()) { |
257 // Register 'this' as a sync status observer. | 256 // Register 'this' as a sync status observer. |
258 RunOnThread( | 257 RunOnThread( |
259 io_task_runner_.get(), | 258 io_task_runner_.get(), |
260 FROM_HERE, | 259 FROM_HERE, |
261 base::Bind(&CannedSyncableFileSystem::InitializeSyncStatusObserver, | 260 base::Bind(&CannedSyncableFileSystem::InitializeSyncStatusObserver, |
(...skipping 13 matching lines...) Expand all Loading... |
275 } | 274 } |
276 | 275 |
277 SyncStatusCode CannedSyncableFileSystem::MaybeInitializeFileSystemContext( | 276 SyncStatusCode CannedSyncableFileSystem::MaybeInitializeFileSystemContext( |
278 LocalFileSyncContext* sync_context) { | 277 LocalFileSyncContext* sync_context) { |
279 DCHECK(sync_context); | 278 DCHECK(sync_context); |
280 sync_status_ = sync_file_system::SYNC_STATUS_UNKNOWN; | 279 sync_status_ = sync_file_system::SYNC_STATUS_UNKNOWN; |
281 VerifySameTaskRunner(io_task_runner_.get(), | 280 VerifySameTaskRunner(io_task_runner_.get(), |
282 sync_context->io_task_runner_.get()); | 281 sync_context->io_task_runner_.get()); |
283 sync_context->MaybeInitializeFileSystemContext( | 282 sync_context->MaybeInitializeFileSystemContext( |
284 origin_, | 283 origin_, |
285 service_name_, | |
286 file_system_context_.get(), | 284 file_system_context_.get(), |
287 base::Bind(&CannedSyncableFileSystem::DidInitializeFileSystemContext, | 285 base::Bind(&CannedSyncableFileSystem::DidInitializeFileSystemContext, |
288 base::Unretained(this))); | 286 base::Unretained(this))); |
289 base::MessageLoop::current()->Run(); | 287 base::MessageLoop::current()->Run(); |
290 return sync_status_; | 288 return sync_status_; |
291 } | 289 } |
292 | 290 |
293 PlatformFileError CannedSyncableFileSystem::CreateDirectory( | 291 PlatformFileError CannedSyncableFileSystem::CreateDirectory( |
294 const FileSystemURL& url) { | 292 const FileSystemURL& url) { |
295 return RunOnThread<PlatformFileError>( | 293 return RunOnThread<PlatformFileError>( |
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
626 sync_status_ = status; | 624 sync_status_ = status; |
627 base::MessageLoop::current()->Quit(); | 625 base::MessageLoop::current()->Quit(); |
628 } | 626 } |
629 | 627 |
630 void CannedSyncableFileSystem::InitializeSyncStatusObserver() { | 628 void CannedSyncableFileSystem::InitializeSyncStatusObserver() { |
631 ASSERT_TRUE(io_task_runner_->RunsTasksOnCurrentThread()); | 629 ASSERT_TRUE(io_task_runner_->RunsTasksOnCurrentThread()); |
632 file_system_context_->sync_context()->sync_status()->AddObserver(this); | 630 file_system_context_->sync_context()->sync_status()->AddObserver(this); |
633 } | 631 } |
634 | 632 |
635 } // namespace sync_file_system | 633 } // namespace sync_file_system |
OLD | NEW |