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 "chrome/browser/sync_file_system/local/canned_syncable_file_system.h" | 5 #include "chrome/browser/sync_file_system/local/canned_syncable_file_system.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <iterator> | 8 #include <iterator> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 void CannedSyncableFileSystem::SetUp(QuotaMode quota_mode) { | 228 void CannedSyncableFileSystem::SetUp(QuotaMode quota_mode) { |
229 ASSERT_FALSE(is_filesystem_set_up_); | 229 ASSERT_FALSE(is_filesystem_set_up_); |
230 ASSERT_TRUE(data_dir_.CreateUniqueTempDir()); | 230 ASSERT_TRUE(data_dir_.CreateUniqueTempDir()); |
231 | 231 |
232 scoped_refptr<storage::SpecialStoragePolicy> storage_policy = | 232 scoped_refptr<storage::SpecialStoragePolicy> storage_policy = |
233 new content::MockSpecialStoragePolicy(); | 233 new content::MockSpecialStoragePolicy(); |
234 | 234 |
235 if (quota_mode == QUOTA_ENABLED) { | 235 if (quota_mode == QUOTA_ENABLED) { |
236 quota_manager_ = new QuotaManager(false /* is_incognito */, | 236 quota_manager_ = new QuotaManager(false /* is_incognito */, |
237 data_dir_.path(), | 237 data_dir_.path(), |
238 io_task_runner_, | 238 io_task_runner_.get(), |
239 base::ThreadTaskRunnerHandle::Get().get(), | 239 base::ThreadTaskRunnerHandle::Get().get(), |
240 storage_policy.get()); | 240 storage_policy.get()); |
241 } | 241 } |
242 | 242 |
243 std::vector<std::string> additional_allowed_schemes; | 243 std::vector<std::string> additional_allowed_schemes; |
244 additional_allowed_schemes.push_back(origin_.scheme()); | 244 additional_allowed_schemes.push_back(origin_.scheme()); |
245 storage::FileSystemOptions options( | 245 storage::FileSystemOptions options( |
246 storage::FileSystemOptions::PROFILE_MODE_NORMAL, | 246 storage::FileSystemOptions::PROFILE_MODE_NORMAL, |
247 additional_allowed_schemes, | 247 additional_allowed_schemes, |
248 env_override_); | 248 env_override_); |
249 | 249 |
250 ScopedVector<storage::FileSystemBackend> additional_backends; | 250 ScopedVector<storage::FileSystemBackend> additional_backends; |
251 additional_backends.push_back(SyncFileSystemBackend::CreateForTesting()); | 251 additional_backends.push_back(SyncFileSystemBackend::CreateForTesting()); |
252 | 252 |
253 file_system_context_ = new FileSystemContext( | 253 file_system_context_ = new FileSystemContext( |
254 io_task_runner_, | 254 io_task_runner_.get(), |
255 file_task_runner_, | 255 file_task_runner_.get(), |
256 storage::ExternalMountPoints::CreateRefCounted().get(), | 256 storage::ExternalMountPoints::CreateRefCounted().get(), |
257 storage_policy.get(), | 257 storage_policy.get(), |
258 quota_manager_ ? quota_manager_->proxy() : NULL, | 258 quota_manager_.get() ? quota_manager_->proxy() : NULL, |
259 additional_backends.Pass(), | 259 additional_backends.Pass(), |
260 std::vector<storage::URLRequestAutoMountHandler>(), | 260 std::vector<storage::URLRequestAutoMountHandler>(), |
261 data_dir_.path(), | 261 data_dir_.path(), |
262 options); | 262 options); |
263 | 263 |
264 is_filesystem_set_up_ = true; | 264 is_filesystem_set_up_ = true; |
265 } | 265 } |
266 | 266 |
267 void CannedSyncableFileSystem::TearDown() { | 267 void CannedSyncableFileSystem::TearDown() { |
268 quota_manager_ = NULL; | 268 quota_manager_ = NULL; |
269 file_system_context_ = NULL; | 269 file_system_context_ = NULL; |
270 | 270 |
271 // Make sure we give some more time to finish tasks on other threads. | 271 // Make sure we give some more time to finish tasks on other threads. |
272 EnsureLastTaskRuns(io_task_runner_); | 272 EnsureLastTaskRuns(io_task_runner_.get()); |
273 EnsureLastTaskRuns(file_task_runner_); | 273 EnsureLastTaskRuns(file_task_runner_.get()); |
274 } | 274 } |
275 | 275 |
276 FileSystemURL CannedSyncableFileSystem::URL(const std::string& path) const { | 276 FileSystemURL CannedSyncableFileSystem::URL(const std::string& path) const { |
277 EXPECT_TRUE(is_filesystem_set_up_); | 277 EXPECT_TRUE(is_filesystem_set_up_); |
278 EXPECT_FALSE(root_url_.is_empty()); | 278 EXPECT_FALSE(root_url_.is_empty()); |
279 | 279 |
280 GURL url(root_url_.spec() + path); | 280 GURL url(root_url_.spec() + path); |
281 return file_system_context_->CrackURL(url); | 281 return file_system_context_->CrackURL(url); |
282 } | 282 } |
283 | 283 |
284 File::Error CannedSyncableFileSystem::OpenFileSystem() { | 284 File::Error CannedSyncableFileSystem::OpenFileSystem() { |
285 EXPECT_TRUE(is_filesystem_set_up_); | 285 EXPECT_TRUE(is_filesystem_set_up_); |
286 | 286 |
287 base::RunLoop run_loop; | 287 base::RunLoop run_loop; |
288 io_task_runner_->PostTask( | 288 io_task_runner_->PostTask( |
289 FROM_HERE, | 289 FROM_HERE, |
290 base::Bind(&CannedSyncableFileSystem::DoOpenFileSystem, | 290 base::Bind(&CannedSyncableFileSystem::DoOpenFileSystem, |
291 base::Unretained(this), | 291 base::Unretained(this), |
292 base::Bind(&CannedSyncableFileSystem::DidOpenFileSystem, | 292 base::Bind(&CannedSyncableFileSystem::DidOpenFileSystem, |
293 base::Unretained(this), | 293 base::Unretained(this), |
294 base::ThreadTaskRunnerHandle::Get(), | 294 base::ThreadTaskRunnerHandle::Get(), |
295 run_loop.QuitClosure()))); | 295 run_loop.QuitClosure()))); |
296 run_loop.Run(); | 296 run_loop.Run(); |
297 | 297 |
298 if (backend()->sync_context()) { | 298 if (backend()->sync_context()) { |
299 // Register 'this' as a sync status observer. | 299 // Register 'this' as a sync status observer. |
300 RunOnThread( | 300 RunOnThread( |
301 io_task_runner_, | 301 io_task_runner_.get(), |
302 FROM_HERE, | 302 FROM_HERE, |
303 base::Bind(&CannedSyncableFileSystem::InitializeSyncStatusObserver, | 303 base::Bind(&CannedSyncableFileSystem::InitializeSyncStatusObserver, |
304 base::Unretained(this))); | 304 base::Unretained(this))); |
305 } | 305 } |
306 return result_; | 306 return result_; |
307 } | 307 } |
308 | 308 |
309 void CannedSyncableFileSystem::AddSyncStatusObserver( | 309 void CannedSyncableFileSystem::AddSyncStatusObserver( |
310 LocalFileSyncStatus::Observer* observer) { | 310 LocalFileSyncStatus::Observer* observer) { |
311 sync_status_observers_->AddObserver(observer); | 311 sync_status_observers_->AddObserver(observer); |
312 } | 312 } |
313 | 313 |
314 void CannedSyncableFileSystem::RemoveSyncStatusObserver( | 314 void CannedSyncableFileSystem::RemoveSyncStatusObserver( |
315 LocalFileSyncStatus::Observer* observer) { | 315 LocalFileSyncStatus::Observer* observer) { |
316 sync_status_observers_->RemoveObserver(observer); | 316 sync_status_observers_->RemoveObserver(observer); |
317 } | 317 } |
318 | 318 |
319 SyncStatusCode CannedSyncableFileSystem::MaybeInitializeFileSystemContext( | 319 SyncStatusCode CannedSyncableFileSystem::MaybeInitializeFileSystemContext( |
320 LocalFileSyncContext* sync_context) { | 320 LocalFileSyncContext* sync_context) { |
321 DCHECK(sync_context); | 321 DCHECK(sync_context); |
322 base::RunLoop run_loop; | 322 base::RunLoop run_loop; |
323 sync_status_ = sync_file_system::SYNC_STATUS_UNKNOWN; | 323 sync_status_ = sync_file_system::SYNC_STATUS_UNKNOWN; |
324 VerifySameTaskRunner(io_task_runner_, | 324 VerifySameTaskRunner(io_task_runner_.get(), |
325 sync_context->io_task_runner_); | 325 sync_context->io_task_runner_.get()); |
326 sync_context->MaybeInitializeFileSystemContext( | 326 sync_context->MaybeInitializeFileSystemContext( |
327 origin_, | 327 origin_, |
328 file_system_context_.get(), | 328 file_system_context_.get(), |
329 base::Bind(&CannedSyncableFileSystem::DidInitializeFileSystemContext, | 329 base::Bind(&CannedSyncableFileSystem::DidInitializeFileSystemContext, |
330 base::Unretained(this), | 330 base::Unretained(this), |
331 run_loop.QuitClosure())); | 331 run_loop.QuitClosure())); |
332 run_loop.Run(); | 332 run_loop.Run(); |
333 return sync_status_; | 333 return sync_status_; |
334 } | 334 } |
335 | 335 |
336 File::Error CannedSyncableFileSystem::CreateDirectory( | 336 File::Error CannedSyncableFileSystem::CreateDirectory( |
337 const FileSystemURL& url) { | 337 const FileSystemURL& url) { |
338 return RunOnThread<File::Error>( | 338 return RunOnThread<File::Error>( |
339 io_task_runner_, | 339 io_task_runner_.get(), |
340 FROM_HERE, | 340 FROM_HERE, |
341 base::Bind(&CannedSyncableFileSystem::DoCreateDirectory, | 341 base::Bind(&CannedSyncableFileSystem::DoCreateDirectory, |
342 base::Unretained(this), | 342 base::Unretained(this), |
343 url)); | 343 url)); |
344 } | 344 } |
345 | 345 |
346 File::Error CannedSyncableFileSystem::CreateFile(const FileSystemURL& url) { | 346 File::Error CannedSyncableFileSystem::CreateFile(const FileSystemURL& url) { |
347 return RunOnThread<File::Error>( | 347 return RunOnThread<File::Error>( |
348 io_task_runner_, | 348 io_task_runner_.get(), |
349 FROM_HERE, | 349 FROM_HERE, |
350 base::Bind(&CannedSyncableFileSystem::DoCreateFile, | 350 base::Bind(&CannedSyncableFileSystem::DoCreateFile, |
351 base::Unretained(this), | 351 base::Unretained(this), |
352 url)); | 352 url)); |
353 } | 353 } |
354 | 354 |
355 File::Error CannedSyncableFileSystem::Copy( | 355 File::Error CannedSyncableFileSystem::Copy( |
356 const FileSystemURL& src_url, const FileSystemURL& dest_url) { | 356 const FileSystemURL& src_url, const FileSystemURL& dest_url) { |
357 return RunOnThread<File::Error>( | 357 return RunOnThread<File::Error>(io_task_runner_.get(), |
358 io_task_runner_, | 358 FROM_HERE, |
359 FROM_HERE, | 359 base::Bind(&CannedSyncableFileSystem::DoCopy, |
360 base::Bind(&CannedSyncableFileSystem::DoCopy, | 360 base::Unretained(this), |
361 base::Unretained(this), | 361 src_url, |
362 src_url, | 362 dest_url)); |
363 dest_url)); | |
364 } | 363 } |
365 | 364 |
366 File::Error CannedSyncableFileSystem::Move( | 365 File::Error CannedSyncableFileSystem::Move( |
367 const FileSystemURL& src_url, const FileSystemURL& dest_url) { | 366 const FileSystemURL& src_url, const FileSystemURL& dest_url) { |
368 return RunOnThread<File::Error>( | 367 return RunOnThread<File::Error>(io_task_runner_.get(), |
369 io_task_runner_, | 368 FROM_HERE, |
370 FROM_HERE, | 369 base::Bind(&CannedSyncableFileSystem::DoMove, |
371 base::Bind(&CannedSyncableFileSystem::DoMove, | 370 base::Unretained(this), |
372 base::Unretained(this), | 371 src_url, |
373 src_url, | 372 dest_url)); |
374 dest_url)); | |
375 } | 373 } |
376 | 374 |
377 File::Error CannedSyncableFileSystem::TruncateFile( | 375 File::Error CannedSyncableFileSystem::TruncateFile( |
378 const FileSystemURL& url, int64 size) { | 376 const FileSystemURL& url, int64 size) { |
379 return RunOnThread<File::Error>( | 377 return RunOnThread<File::Error>( |
380 io_task_runner_, | 378 io_task_runner_.get(), |
381 FROM_HERE, | 379 FROM_HERE, |
382 base::Bind(&CannedSyncableFileSystem::DoTruncateFile, | 380 base::Bind(&CannedSyncableFileSystem::DoTruncateFile, |
383 base::Unretained(this), | 381 base::Unretained(this), |
384 url, | 382 url, |
385 size)); | 383 size)); |
386 } | 384 } |
387 | 385 |
388 File::Error CannedSyncableFileSystem::TouchFile( | 386 File::Error CannedSyncableFileSystem::TouchFile( |
389 const FileSystemURL& url, | 387 const FileSystemURL& url, |
390 const base::Time& last_access_time, | 388 const base::Time& last_access_time, |
391 const base::Time& last_modified_time) { | 389 const base::Time& last_modified_time) { |
392 return RunOnThread<File::Error>( | 390 return RunOnThread<File::Error>( |
393 io_task_runner_, | 391 io_task_runner_.get(), |
394 FROM_HERE, | 392 FROM_HERE, |
395 base::Bind(&CannedSyncableFileSystem::DoTouchFile, | 393 base::Bind(&CannedSyncableFileSystem::DoTouchFile, |
396 base::Unretained(this), | 394 base::Unretained(this), |
397 url, | 395 url, |
398 last_access_time, | 396 last_access_time, |
399 last_modified_time)); | 397 last_modified_time)); |
400 } | 398 } |
401 | 399 |
402 File::Error CannedSyncableFileSystem::Remove( | 400 File::Error CannedSyncableFileSystem::Remove( |
403 const FileSystemURL& url, bool recursive) { | 401 const FileSystemURL& url, bool recursive) { |
404 return RunOnThread<File::Error>( | 402 return RunOnThread<File::Error>( |
405 io_task_runner_, | 403 io_task_runner_.get(), |
406 FROM_HERE, | 404 FROM_HERE, |
407 base::Bind(&CannedSyncableFileSystem::DoRemove, | 405 base::Bind(&CannedSyncableFileSystem::DoRemove, |
408 base::Unretained(this), | 406 base::Unretained(this), |
409 url, | 407 url, |
410 recursive)); | 408 recursive)); |
411 } | 409 } |
412 | 410 |
413 File::Error CannedSyncableFileSystem::FileExists( | 411 File::Error CannedSyncableFileSystem::FileExists( |
414 const FileSystemURL& url) { | 412 const FileSystemURL& url) { |
415 return RunOnThread<File::Error>( | 413 return RunOnThread<File::Error>( |
416 io_task_runner_, | 414 io_task_runner_.get(), |
417 FROM_HERE, | 415 FROM_HERE, |
418 base::Bind(&CannedSyncableFileSystem::DoFileExists, | 416 base::Bind(&CannedSyncableFileSystem::DoFileExists, |
419 base::Unretained(this), | 417 base::Unretained(this), |
420 url)); | 418 url)); |
421 } | 419 } |
422 | 420 |
423 File::Error CannedSyncableFileSystem::DirectoryExists( | 421 File::Error CannedSyncableFileSystem::DirectoryExists( |
424 const FileSystemURL& url) { | 422 const FileSystemURL& url) { |
425 return RunOnThread<File::Error>( | 423 return RunOnThread<File::Error>( |
426 io_task_runner_, | 424 io_task_runner_.get(), |
427 FROM_HERE, | 425 FROM_HERE, |
428 base::Bind(&CannedSyncableFileSystem::DoDirectoryExists, | 426 base::Bind(&CannedSyncableFileSystem::DoDirectoryExists, |
429 base::Unretained(this), | 427 base::Unretained(this), |
430 url)); | 428 url)); |
431 } | 429 } |
432 | 430 |
433 File::Error CannedSyncableFileSystem::VerifyFile( | 431 File::Error CannedSyncableFileSystem::VerifyFile( |
434 const FileSystemURL& url, | 432 const FileSystemURL& url, |
435 const std::string& expected_data) { | 433 const std::string& expected_data) { |
436 return RunOnThread<File::Error>( | 434 return RunOnThread<File::Error>( |
437 io_task_runner_, | 435 io_task_runner_.get(), |
438 FROM_HERE, | 436 FROM_HERE, |
439 base::Bind(&CannedSyncableFileSystem::DoVerifyFile, | 437 base::Bind(&CannedSyncableFileSystem::DoVerifyFile, |
440 base::Unretained(this), | 438 base::Unretained(this), |
441 url, | 439 url, |
442 expected_data)); | 440 expected_data)); |
443 } | 441 } |
444 | 442 |
445 File::Error CannedSyncableFileSystem::GetMetadataAndPlatformPath( | 443 File::Error CannedSyncableFileSystem::GetMetadataAndPlatformPath( |
446 const FileSystemURL& url, | 444 const FileSystemURL& url, |
447 base::File::Info* info, | 445 base::File::Info* info, |
448 base::FilePath* platform_path) { | 446 base::FilePath* platform_path) { |
449 return RunOnThread<File::Error>( | 447 return RunOnThread<File::Error>( |
450 io_task_runner_, | 448 io_task_runner_.get(), |
451 FROM_HERE, | 449 FROM_HERE, |
452 base::Bind(&CannedSyncableFileSystem::DoGetMetadataAndPlatformPath, | 450 base::Bind(&CannedSyncableFileSystem::DoGetMetadataAndPlatformPath, |
453 base::Unretained(this), | 451 base::Unretained(this), |
454 url, | 452 url, |
455 info, | 453 info, |
456 platform_path)); | 454 platform_path)); |
457 } | 455 } |
458 | 456 |
459 File::Error CannedSyncableFileSystem::ReadDirectory( | 457 File::Error CannedSyncableFileSystem::ReadDirectory( |
460 const storage::FileSystemURL& url, | 458 const storage::FileSystemURL& url, |
461 FileEntryList* entries) { | 459 FileEntryList* entries) { |
462 return RunOnThread<File::Error>( | 460 return RunOnThread<File::Error>( |
463 io_task_runner_, | 461 io_task_runner_.get(), |
464 FROM_HERE, | 462 FROM_HERE, |
465 base::Bind(&CannedSyncableFileSystem::DoReadDirectory, | 463 base::Bind(&CannedSyncableFileSystem::DoReadDirectory, |
466 base::Unretained(this), | 464 base::Unretained(this), |
467 url, | 465 url, |
468 entries)); | 466 entries)); |
469 } | 467 } |
470 | 468 |
471 int64 CannedSyncableFileSystem::Write( | 469 int64 CannedSyncableFileSystem::Write( |
472 net::URLRequestContext* url_request_context, | 470 net::URLRequestContext* url_request_context, |
473 const FileSystemURL& url, | 471 const FileSystemURL& url, |
474 scoped_ptr<storage::BlobDataHandle> blob_data_handle) { | 472 scoped_ptr<storage::BlobDataHandle> blob_data_handle) { |
475 return RunOnThread<int64>(io_task_runner_, | 473 return RunOnThread<int64>(io_task_runner_.get(), |
476 FROM_HERE, | 474 FROM_HERE, |
477 base::Bind(&CannedSyncableFileSystem::DoWrite, | 475 base::Bind(&CannedSyncableFileSystem::DoWrite, |
478 base::Unretained(this), | 476 base::Unretained(this), |
479 url_request_context, | 477 url_request_context, |
480 url, | 478 url, |
481 base::Passed(&blob_data_handle))); | 479 base::Passed(&blob_data_handle))); |
482 } | 480 } |
483 | 481 |
484 int64 CannedSyncableFileSystem::WriteString( | 482 int64 CannedSyncableFileSystem::WriteString( |
485 const FileSystemURL& url, const std::string& data) { | 483 const FileSystemURL& url, const std::string& data) { |
486 return RunOnThread<int64>(io_task_runner_, | 484 return RunOnThread<int64>(io_task_runner_.get(), |
487 FROM_HERE, | 485 FROM_HERE, |
488 base::Bind(&CannedSyncableFileSystem::DoWriteString, | 486 base::Bind(&CannedSyncableFileSystem::DoWriteString, |
489 base::Unretained(this), | 487 base::Unretained(this), |
490 url, | 488 url, |
491 data)); | 489 data)); |
492 } | 490 } |
493 | 491 |
494 File::Error CannedSyncableFileSystem::DeleteFileSystem() { | 492 File::Error CannedSyncableFileSystem::DeleteFileSystem() { |
495 EXPECT_TRUE(is_filesystem_set_up_); | 493 EXPECT_TRUE(is_filesystem_set_up_); |
496 return RunOnThread<File::Error>( | 494 return RunOnThread<File::Error>( |
497 io_task_runner_, | 495 io_task_runner_.get(), |
498 FROM_HERE, | 496 FROM_HERE, |
499 base::Bind(&FileSystemContext::DeleteFileSystem, | 497 base::Bind(&FileSystemContext::DeleteFileSystem, |
500 file_system_context_, | 498 file_system_context_, |
501 origin_, | 499 origin_, |
502 type_)); | 500 type_)); |
503 } | 501 } |
504 | 502 |
505 storage::QuotaStatusCode CannedSyncableFileSystem::GetUsageAndQuota( | 503 storage::QuotaStatusCode CannedSyncableFileSystem::GetUsageAndQuota( |
506 int64* usage, | 504 int64* usage, |
507 int64* quota) { | 505 int64* quota) { |
508 return RunOnThread<storage::QuotaStatusCode>( | 506 return RunOnThread<storage::QuotaStatusCode>( |
509 io_task_runner_, | 507 io_task_runner_.get(), |
510 FROM_HERE, | 508 FROM_HERE, |
511 base::Bind(&CannedSyncableFileSystem::DoGetUsageAndQuota, | 509 base::Bind(&CannedSyncableFileSystem::DoGetUsageAndQuota, |
512 base::Unretained(this), | 510 base::Unretained(this), |
513 usage, | 511 usage, |
514 quota)); | 512 quota)); |
515 } | 513 } |
516 | 514 |
517 void CannedSyncableFileSystem::GetChangedURLsInTracker( | 515 void CannedSyncableFileSystem::GetChangedURLsInTracker( |
518 FileSystemURLSet* urls) { | 516 FileSystemURLSet* urls) { |
519 RunOnThread( | 517 RunOnThread(file_task_runner_.get(), |
520 file_task_runner_, | 518 FROM_HERE, |
521 FROM_HERE, | 519 base::Bind(&LocalFileChangeTracker::GetAllChangedURLs, |
522 base::Bind(&LocalFileChangeTracker::GetAllChangedURLs, | 520 base::Unretained(backend()->change_tracker()), |
523 base::Unretained(backend()->change_tracker()), | 521 urls)); |
524 urls)); | |
525 } | 522 } |
526 | 523 |
527 void CannedSyncableFileSystem::ClearChangeForURLInTracker( | 524 void CannedSyncableFileSystem::ClearChangeForURLInTracker( |
528 const FileSystemURL& url) { | 525 const FileSystemURL& url) { |
529 RunOnThread( | 526 RunOnThread(file_task_runner_.get(), |
530 file_task_runner_, | 527 FROM_HERE, |
531 FROM_HERE, | 528 base::Bind(&LocalFileChangeTracker::ClearChangesForURL, |
532 base::Bind(&LocalFileChangeTracker::ClearChangesForURL, | 529 base::Unretained(backend()->change_tracker()), |
533 base::Unretained(backend()->change_tracker()), | 530 url)); |
534 url)); | |
535 } | 531 } |
536 | 532 |
537 void CannedSyncableFileSystem::GetChangesForURLInTracker( | 533 void CannedSyncableFileSystem::GetChangesForURLInTracker( |
538 const FileSystemURL& url, | 534 const FileSystemURL& url, |
539 FileChangeList* changes) { | 535 FileChangeList* changes) { |
540 RunOnThread( | 536 RunOnThread(file_task_runner_.get(), |
541 file_task_runner_, | 537 FROM_HERE, |
542 FROM_HERE, | 538 base::Bind(&LocalFileChangeTracker::GetChangesForURL, |
543 base::Bind(&LocalFileChangeTracker::GetChangesForURL, | 539 base::Unretained(backend()->change_tracker()), |
544 base::Unretained(backend()->change_tracker()), | 540 url, |
545 url, changes)); | 541 changes)); |
546 } | 542 } |
547 | 543 |
548 SyncFileSystemBackend* CannedSyncableFileSystem::backend() { | 544 SyncFileSystemBackend* CannedSyncableFileSystem::backend() { |
549 return SyncFileSystemBackend::GetBackend(file_system_context_); | 545 return SyncFileSystemBackend::GetBackend(file_system_context_.get()); |
550 } | 546 } |
551 | 547 |
552 FileSystemOperationRunner* CannedSyncableFileSystem::operation_runner() { | 548 FileSystemOperationRunner* CannedSyncableFileSystem::operation_runner() { |
553 return file_system_context_->operation_runner(); | 549 return file_system_context_->operation_runner(); |
554 } | 550 } |
555 | 551 |
556 void CannedSyncableFileSystem::OnSyncEnabled(const FileSystemURL& url) { | 552 void CannedSyncableFileSystem::OnSyncEnabled(const FileSystemURL& url) { |
557 sync_status_observers_->Notify(&LocalFileSyncStatus::Observer::OnSyncEnabled, | 553 sync_status_observers_->Notify(&LocalFileSyncStatus::Observer::OnSyncEnabled, |
558 url); | 554 url); |
559 } | 555 } |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
716 base::Bind(&WriteHelper::DidWrite, | 712 base::Bind(&WriteHelper::DidWrite, |
717 base::Owned(helper), callback)); | 713 base::Owned(helper), callback)); |
718 } | 714 } |
719 | 715 |
720 void CannedSyncableFileSystem::DoGetUsageAndQuota( | 716 void CannedSyncableFileSystem::DoGetUsageAndQuota( |
721 int64* usage, | 717 int64* usage, |
722 int64* quota, | 718 int64* quota, |
723 const storage::StatusCallback& callback) { | 719 const storage::StatusCallback& callback) { |
724 EXPECT_TRUE(io_task_runner_->RunsTasksOnCurrentThread()); | 720 EXPECT_TRUE(io_task_runner_->RunsTasksOnCurrentThread()); |
725 EXPECT_TRUE(is_filesystem_opened_); | 721 EXPECT_TRUE(is_filesystem_opened_); |
726 DCHECK(quota_manager_); | 722 DCHECK(quota_manager_.get()); |
727 quota_manager_->GetUsageAndQuota( | 723 quota_manager_->GetUsageAndQuota( |
728 origin_, storage_type(), | 724 origin_, storage_type(), |
729 base::Bind(&DidGetUsageAndQuota, callback, usage, quota)); | 725 base::Bind(&DidGetUsageAndQuota, callback, usage, quota)); |
730 } | 726 } |
731 | 727 |
732 void CannedSyncableFileSystem::DidOpenFileSystem( | 728 void CannedSyncableFileSystem::DidOpenFileSystem( |
733 base::SingleThreadTaskRunner* original_task_runner, | 729 base::SingleThreadTaskRunner* original_task_runner, |
734 const base::Closure& quit_closure, | 730 const base::Closure& quit_closure, |
735 const GURL& root, | 731 const GURL& root, |
736 const std::string& name, | 732 const std::string& name, |
(...skipping 24 matching lines...) Expand all Loading... |
761 sync_status_ = status; | 757 sync_status_ = status; |
762 quit_closure.Run(); | 758 quit_closure.Run(); |
763 } | 759 } |
764 | 760 |
765 void CannedSyncableFileSystem::InitializeSyncStatusObserver() { | 761 void CannedSyncableFileSystem::InitializeSyncStatusObserver() { |
766 ASSERT_TRUE(io_task_runner_->RunsTasksOnCurrentThread()); | 762 ASSERT_TRUE(io_task_runner_->RunsTasksOnCurrentThread()); |
767 backend()->sync_context()->sync_status()->AddObserver(this); | 763 backend()->sync_context()->sync_status()->AddObserver(this); |
768 } | 764 } |
769 | 765 |
770 } // namespace sync_file_system | 766 } // namespace sync_file_system |
OLD | NEW |