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

Side by Side Diff: chrome/browser/sync_file_system/drive_metadata_store.cc

Issue 16290004: Update chrome/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 "chrome/browser/sync_file_system/drive_metadata_store.h" 5 #include "chrome/browser/sync_file_system/drive_metadata_store.h"
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 DriveMetadataStore::~DriveMetadataStore() { 243 DriveMetadataStore::~DriveMetadataStore() {
244 DCHECK(CalledOnValidThread()); 244 DCHECK(CalledOnValidThread());
245 file_task_runner_->DeleteSoon(FROM_HERE, db_.release()); 245 file_task_runner_->DeleteSoon(FROM_HERE, db_.release());
246 } 246 }
247 247
248 void DriveMetadataStore::Initialize(const InitializationCallback& callback) { 248 void DriveMetadataStore::Initialize(const InitializationCallback& callback) {
249 DCHECK(CalledOnValidThread()); 249 DCHECK(CalledOnValidThread());
250 DriveMetadataDBContents* contents = new DriveMetadataDBContents; 250 DriveMetadataDBContents* contents = new DriveMetadataDBContents;
251 251
252 base::PostTaskAndReplyWithResult( 252 base::PostTaskAndReplyWithResult(
253 file_task_runner_, FROM_HERE, 253 file_task_runner_.get(),
254 FROM_HERE,
254 base::Bind(InitializeDBOnFileThread, db_.get(), contents), 255 base::Bind(InitializeDBOnFileThread, db_.get(), contents),
255 base::Bind(&DriveMetadataStore::DidInitialize, AsWeakPtr(), 256 base::Bind(&DriveMetadataStore::DidInitialize,
256 callback, base::Owned(contents))); 257 AsWeakPtr(),
258 callback,
259 base::Owned(contents)));
257 } 260 }
258 261
259 void DriveMetadataStore::DidInitialize(const InitializationCallback& callback, 262 void DriveMetadataStore::DidInitialize(const InitializationCallback& callback,
260 DriveMetadataDBContents* contents, 263 DriveMetadataDBContents* contents,
261 SyncStatusCode status) { 264 SyncStatusCode status) {
262 DCHECK(CalledOnValidThread()); 265 DCHECK(CalledOnValidThread());
263 DCHECK(contents); 266 DCHECK(contents);
264 267
265 db_status_ = status; 268 db_status_ = status;
266 if (status != SYNC_STATUS_OK) { 269 if (status != SYNC_STATUS_OK) {
(...skipping 13 matching lines...) Expand all
280 InsertReverseMap(disabled_origins_, &origin_by_resource_id_); 283 InsertReverseMap(disabled_origins_, &origin_by_resource_id_);
281 284
282 callback.Run(status, largest_changestamp_ <= 0); 285 callback.Run(status, largest_changestamp_ <= 0);
283 } 286 }
284 287
285 void DriveMetadataStore::RestoreSyncRootDirectory( 288 void DriveMetadataStore::RestoreSyncRootDirectory(
286 const SyncStatusCallback& callback) { 289 const SyncStatusCallback& callback) {
287 DCHECK(CalledOnValidThread()); 290 DCHECK(CalledOnValidThread());
288 std::string* sync_root_directory_resource_id = new std::string; 291 std::string* sync_root_directory_resource_id = new std::string;
289 base::PostTaskAndReplyWithResult( 292 base::PostTaskAndReplyWithResult(
290 file_task_runner_, FROM_HERE, 293 file_task_runner_.get(),
294 FROM_HERE,
291 base::Bind(&DriveMetadataDB::GetSyncRootDirectory, 295 base::Bind(&DriveMetadataDB::GetSyncRootDirectory,
292 base::Unretained(db_.get()), 296 base::Unretained(db_.get()),
293 sync_root_directory_resource_id), 297 sync_root_directory_resource_id),
294 base::Bind(&DriveMetadataStore::DidRestoreSyncRootDirectory, 298 base::Bind(&DriveMetadataStore::DidRestoreSyncRootDirectory,
295 AsWeakPtr(), callback, 299 AsWeakPtr(),
300 callback,
296 base::Owned(sync_root_directory_resource_id))); 301 base::Owned(sync_root_directory_resource_id)));
297 } 302 }
298 303
299 void DriveMetadataStore::DidRestoreSyncRootDirectory( 304 void DriveMetadataStore::DidRestoreSyncRootDirectory(
300 const SyncStatusCallback& callback, 305 const SyncStatusCallback& callback,
301 std::string* sync_root_directory_resource_id, 306 std::string* sync_root_directory_resource_id,
302 SyncStatusCode status) { 307 SyncStatusCode status) {
303 DCHECK(CalledOnValidThread()); 308 DCHECK(CalledOnValidThread());
304 DCHECK(sync_root_directory_resource_id); 309 DCHECK(sync_root_directory_resource_id);
305 310
306 db_status_ = status; 311 db_status_ = status;
307 if (status != SYNC_STATUS_OK) { 312 if (status != SYNC_STATUS_OK) {
308 callback.Run(status); 313 callback.Run(status);
309 return; 314 return;
310 } 315 }
311 316
312 sync_root_directory_resource_id_.swap(*sync_root_directory_resource_id); 317 sync_root_directory_resource_id_.swap(*sync_root_directory_resource_id);
313 callback.Run(status); 318 callback.Run(status);
314 } 319 }
315 320
316 void DriveMetadataStore::RestoreOrigins( 321 void DriveMetadataStore::RestoreOrigins(
317 const SyncStatusCallback& callback) { 322 const SyncStatusCallback& callback) {
318 DCHECK(CalledOnValidThread()); 323 DCHECK(CalledOnValidThread());
319 ResourceIdByOrigin* incremental_sync_origins = new ResourceIdByOrigin; 324 ResourceIdByOrigin* incremental_sync_origins = new ResourceIdByOrigin;
320 ResourceIdByOrigin* disabled_origins = new ResourceIdByOrigin; 325 ResourceIdByOrigin* disabled_origins = new ResourceIdByOrigin;
321 base::PostTaskAndReplyWithResult( 326 base::PostTaskAndReplyWithResult(
322 file_task_runner_, FROM_HERE, 327 file_task_runner_.get(),
328 FROM_HERE,
323 base::Bind(&DriveMetadataDB::GetOrigins, 329 base::Bind(&DriveMetadataDB::GetOrigins,
324 base::Unretained(db_.get()), 330 base::Unretained(db_.get()),
325 incremental_sync_origins, 331 incremental_sync_origins,
326 disabled_origins), 332 disabled_origins),
327 base::Bind(&DriveMetadataStore::DidRestoreOrigins, 333 base::Bind(&DriveMetadataStore::DidRestoreOrigins,
328 AsWeakPtr(), callback, 334 AsWeakPtr(),
335 callback,
329 base::Owned(incremental_sync_origins), 336 base::Owned(incremental_sync_origins),
330 base::Owned(disabled_origins))); 337 base::Owned(disabled_origins)));
331 } 338 }
332 339
333 void DriveMetadataStore::DidRestoreOrigins( 340 void DriveMetadataStore::DidRestoreOrigins(
334 const SyncStatusCallback& callback, 341 const SyncStatusCallback& callback,
335 ResourceIdByOrigin* incremental_sync_origins, 342 ResourceIdByOrigin* incremental_sync_origins,
336 ResourceIdByOrigin* disabled_origins, 343 ResourceIdByOrigin* disabled_origins,
337 SyncStatusCode status) { 344 SyncStatusCode status) {
338 DCHECK(CalledOnValidThread()); 345 DCHECK(CalledOnValidThread());
(...skipping 20 matching lines...) Expand all
359 return db_->db_.get(); 366 return db_->db_.get();
360 } 367 }
361 368
362 void DriveMetadataStore::SetLargestChangeStamp( 369 void DriveMetadataStore::SetLargestChangeStamp(
363 int64 largest_changestamp, 370 int64 largest_changestamp,
364 const SyncStatusCallback& callback) { 371 const SyncStatusCallback& callback) {
365 DCHECK(CalledOnValidThread()); 372 DCHECK(CalledOnValidThread());
366 DCHECK_EQ(SYNC_STATUS_OK, db_status_); 373 DCHECK_EQ(SYNC_STATUS_OK, db_status_);
367 largest_changestamp_ = largest_changestamp; 374 largest_changestamp_ = largest_changestamp;
368 base::PostTaskAndReplyWithResult( 375 base::PostTaskAndReplyWithResult(
369 file_task_runner_, FROM_HERE, 376 file_task_runner_.get(),
377 FROM_HERE,
370 base::Bind(&DriveMetadataDB::SetLargestChangestamp, 378 base::Bind(&DriveMetadataDB::SetLargestChangestamp,
371 base::Unretained(db_.get()), largest_changestamp), 379 base::Unretained(db_.get()),
380 largest_changestamp),
372 base::Bind(&DriveMetadataStore::UpdateDBStatusAndInvokeCallback, 381 base::Bind(&DriveMetadataStore::UpdateDBStatusAndInvokeCallback,
373 AsWeakPtr(), callback)); 382 AsWeakPtr(),
383 callback));
374 } 384 }
375 385
376 int64 DriveMetadataStore::GetLargestChangeStamp() const { 386 int64 DriveMetadataStore::GetLargestChangeStamp() const {
377 DCHECK(CalledOnValidThread()); 387 DCHECK(CalledOnValidThread());
378 DCHECK_EQ(SYNC_STATUS_OK, db_status_); 388 DCHECK_EQ(SYNC_STATUS_OK, db_status_);
379 return largest_changestamp_; 389 return largest_changestamp_;
380 } 390 }
381 391
382 void DriveMetadataStore::UpdateEntry( 392 void DriveMetadataStore::UpdateEntry(
383 const FileSystemURL& url, 393 const FileSystemURL& url,
384 const DriveMetadata& metadata, 394 const DriveMetadata& metadata,
385 const SyncStatusCallback& callback) { 395 const SyncStatusCallback& callback) {
386 DCHECK(CalledOnValidThread()); 396 DCHECK(CalledOnValidThread());
387 DCHECK_EQ(SYNC_STATUS_OK, db_status_); 397 DCHECK_EQ(SYNC_STATUS_OK, db_status_);
388 DCHECK(!metadata.conflicted() || !metadata.to_be_fetched()); 398 DCHECK(!metadata.conflicted() || !metadata.to_be_fetched());
389 399
390 std::pair<PathToMetadata::iterator, bool> result = 400 std::pair<PathToMetadata::iterator, bool> result =
391 metadata_map_[url.origin()].insert(std::make_pair(url.path(), metadata)); 401 metadata_map_[url.origin()].insert(std::make_pair(url.path(), metadata));
392 if (!result.second) 402 if (!result.second)
393 result.first->second = metadata; 403 result.first->second = metadata;
394 404
395 base::PostTaskAndReplyWithResult( 405 base::PostTaskAndReplyWithResult(
396 file_task_runner_, FROM_HERE, 406 file_task_runner_.get(),
397 base::Bind(&DriveMetadataDB::UpdateEntry, base::Unretained(db_.get()), 407 FROM_HERE,
398 url, metadata), 408 base::Bind(&DriveMetadataDB::UpdateEntry,
409 base::Unretained(db_.get()),
410 url,
411 metadata),
399 base::Bind(&DriveMetadataStore::UpdateDBStatusAndInvokeCallback, 412 base::Bind(&DriveMetadataStore::UpdateDBStatusAndInvokeCallback,
400 AsWeakPtr(), callback)); 413 AsWeakPtr(),
414 callback));
401 } 415 }
402 416
403 void DriveMetadataStore::DeleteEntry( 417 void DriveMetadataStore::DeleteEntry(
404 const FileSystemURL& url, 418 const FileSystemURL& url,
405 const SyncStatusCallback& callback) { 419 const SyncStatusCallback& callback) {
406 DCHECK(CalledOnValidThread()); 420 DCHECK(CalledOnValidThread());
407 MetadataMap::iterator found = metadata_map_.find(url.origin()); 421 MetadataMap::iterator found = metadata_map_.find(url.origin());
408 if (found == metadata_map_.end()) { 422 if (found == metadata_map_.end()) {
409 base::MessageLoopProxy::current()->PostTask( 423 base::MessageLoopProxy::current()->PostTask(
410 FROM_HERE, 424 FROM_HERE,
411 base::Bind(callback, SYNC_DATABASE_ERROR_NOT_FOUND)); 425 base::Bind(callback, SYNC_DATABASE_ERROR_NOT_FOUND));
412 return; 426 return;
413 } 427 }
414 428
415 if (found->second.erase(url.path()) == 1) { 429 if (found->second.erase(url.path()) == 1) {
416 base::PostTaskAndReplyWithResult( 430 base::PostTaskAndReplyWithResult(
417 file_task_runner_, FROM_HERE, 431 file_task_runner_.get(),
418 base::Bind(&DriveMetadataDB::DeleteEntry, 432 FROM_HERE,
419 base::Unretained(db_.get()), url), 433 base::Bind(
434 &DriveMetadataDB::DeleteEntry, base::Unretained(db_.get()), url),
420 base::Bind(&DriveMetadataStore::UpdateDBStatusAndInvokeCallback, 435 base::Bind(&DriveMetadataStore::UpdateDBStatusAndInvokeCallback,
421 AsWeakPtr(), callback)); 436 AsWeakPtr(),
437 callback));
422 return; 438 return;
423 } 439 }
424 440
425 base::MessageLoopProxy::current()->PostTask( 441 base::MessageLoopProxy::current()->PostTask(
426 FROM_HERE, 442 FROM_HERE,
427 base::Bind(callback, SYNC_DATABASE_ERROR_NOT_FOUND)); 443 base::Bind(callback, SYNC_DATABASE_ERROR_NOT_FOUND));
428 } 444 }
429 445
430 SyncStatusCode DriveMetadataStore::ReadEntry(const FileSystemURL& url, 446 SyncStatusCode DriveMetadataStore::ReadEntry(const FileSystemURL& url,
431 DriveMetadata* metadata) const { 447 DriveMetadata* metadata) const {
(...skipping 18 matching lines...) Expand all
450 DCHECK(CalledOnValidThread()); 466 DCHECK(CalledOnValidThread());
451 DCHECK(!IsIncrementalSyncOrigin(origin)); 467 DCHECK(!IsIncrementalSyncOrigin(origin));
452 DCHECK(!IsOriginDisabled(origin)); 468 DCHECK(!IsOriginDisabled(origin));
453 DCHECK_EQ(SYNC_STATUS_OK, db_status_); 469 DCHECK_EQ(SYNC_STATUS_OK, db_status_);
454 470
455 incremental_sync_origins_.insert(std::make_pair(origin, resource_id)); 471 incremental_sync_origins_.insert(std::make_pair(origin, resource_id));
456 origin_by_resource_id_.insert(std::make_pair(resource_id, origin)); 472 origin_by_resource_id_.insert(std::make_pair(resource_id, origin));
457 473
458 // Store a pair of |origin| and |resource_id| in the DB. 474 // Store a pair of |origin| and |resource_id| in the DB.
459 base::PostTaskAndReplyWithResult( 475 base::PostTaskAndReplyWithResult(
460 file_task_runner_, FROM_HERE, 476 file_task_runner_.get(),
477 FROM_HERE,
461 base::Bind(&DriveMetadataDB::UpdateOriginAsIncrementalSync, 478 base::Bind(&DriveMetadataDB::UpdateOriginAsIncrementalSync,
462 base::Unretained(db_.get()), origin, resource_id), 479 base::Unretained(db_.get()),
480 origin,
481 resource_id),
463 base::Bind(&DriveMetadataStore::UpdateDBStatus, AsWeakPtr())); 482 base::Bind(&DriveMetadataStore::UpdateDBStatus, AsWeakPtr()));
464 } 483 }
465 484
466 void DriveMetadataStore::SetSyncRootDirectory(const std::string& resource_id) { 485 void DriveMetadataStore::SetSyncRootDirectory(const std::string& resource_id) {
467 DCHECK(CalledOnValidThread()); 486 DCHECK(CalledOnValidThread());
468 487
469 sync_root_directory_resource_id_ = resource_id; 488 sync_root_directory_resource_id_ = resource_id;
470 489
471 // Set the resource ID for the sync root directory in the DB. 490 // Set the resource ID for the sync root directory in the DB.
472 base::PostTaskAndReplyWithResult( 491 base::PostTaskAndReplyWithResult(
473 file_task_runner_, FROM_HERE, 492 file_task_runner_.get(),
493 FROM_HERE,
474 base::Bind(&DriveMetadataDB::SetSyncRootDirectory, 494 base::Bind(&DriveMetadataDB::SetSyncRootDirectory,
475 base::Unretained(db_.get()), resource_id), 495 base::Unretained(db_.get()),
496 resource_id),
476 base::Bind(&DriveMetadataStore::UpdateDBStatus, AsWeakPtr())); 497 base::Bind(&DriveMetadataStore::UpdateDBStatus, AsWeakPtr()));
477 } 498 }
478 499
479 void DriveMetadataStore::SetOriginRootDirectory( 500 void DriveMetadataStore::SetOriginRootDirectory(
480 const GURL& origin, 501 const GURL& origin,
481 const std::string& resource_id) { 502 const std::string& resource_id) {
482 DCHECK(CalledOnValidThread()); 503 DCHECK(CalledOnValidThread());
483 DCHECK(IsKnownOrigin(origin)); 504 DCHECK(IsKnownOrigin(origin));
484 505
485 DriveMetadataDB::OriginSyncType sync_type; 506 DriveMetadataDB::OriginSyncType sync_type;
486 if (UpdateResourceIdMap( 507 if (UpdateResourceIdMap(
487 &incremental_sync_origins_, &origin_by_resource_id_, 508 &incremental_sync_origins_, &origin_by_resource_id_,
488 origin, resource_id)) { 509 origin, resource_id)) {
489 sync_type = DriveMetadataDB::INCREMENTAL_SYNC_ORIGIN; 510 sync_type = DriveMetadataDB::INCREMENTAL_SYNC_ORIGIN;
490 } else if (UpdateResourceIdMap(&disabled_origins_, &origin_by_resource_id_, 511 } else if (UpdateResourceIdMap(&disabled_origins_, &origin_by_resource_id_,
491 origin, resource_id)) { 512 origin, resource_id)) {
492 sync_type = DriveMetadataDB::DISABLED_ORIGIN; 513 sync_type = DriveMetadataDB::DISABLED_ORIGIN;
493 } else { 514 } else {
494 return; 515 return;
495 } 516 }
496 base::PostTaskAndReplyWithResult( 517 base::PostTaskAndReplyWithResult(
497 file_task_runner_, FROM_HERE, 518 file_task_runner_.get(),
519 FROM_HERE,
498 base::Bind(&DriveMetadataDB::SetOriginRootDirectory, 520 base::Bind(&DriveMetadataDB::SetOriginRootDirectory,
499 base::Unretained(db_.get()), origin, sync_type, resource_id), 521 base::Unretained(db_.get()),
522 origin,
523 sync_type,
524 resource_id),
500 base::Bind(&DriveMetadataStore::UpdateDBStatus, AsWeakPtr())); 525 base::Bind(&DriveMetadataStore::UpdateDBStatus, AsWeakPtr()));
501 } 526 }
502 527
503 bool DriveMetadataStore::IsKnownOrigin(const GURL& origin) const { 528 bool DriveMetadataStore::IsKnownOrigin(const GURL& origin) const {
504 DCHECK(CalledOnValidThread()); 529 DCHECK(CalledOnValidThread());
505 return IsIncrementalSyncOrigin(origin) || IsOriginDisabled(origin); 530 return IsIncrementalSyncOrigin(origin) || IsOriginDisabled(origin);
506 } 531 }
507 532
508 bool DriveMetadataStore::IsIncrementalSyncOrigin(const GURL& origin) const { 533 bool DriveMetadataStore::IsIncrementalSyncOrigin(const GURL& origin) const {
509 DCHECK(CalledOnValidThread()); 534 DCHECK(CalledOnValidThread());
(...skipping 19 matching lines...) Expand all
529 disabled_origins_.erase(found); 554 disabled_origins_.erase(found);
530 555
531 // |Origin| goes back to DriveFileSyncService.pending_batch_sync_origins_ 556 // |Origin| goes back to DriveFileSyncService.pending_batch_sync_origins_
532 // only and is not stored in drive_metadata_store. 557 // only and is not stored in drive_metadata_store.
533 found = incremental_sync_origins_.find(origin); 558 found = incremental_sync_origins_.find(origin);
534 if (found != incremental_sync_origins_.end()) 559 if (found != incremental_sync_origins_.end())
535 incremental_sync_origins_.erase(found); 560 incremental_sync_origins_.erase(found);
536 561
537 // Store a pair of |origin| and |resource_id| in the DB. 562 // Store a pair of |origin| and |resource_id| in the DB.
538 base::PostTaskAndReplyWithResult( 563 base::PostTaskAndReplyWithResult(
539 file_task_runner_, FROM_HERE, 564 file_task_runner_.get(),
565 FROM_HERE,
540 base::Bind(&DriveMetadataDB::EnableOrigin, 566 base::Bind(&DriveMetadataDB::EnableOrigin,
541 base::Unretained(db_.get()), origin, resource_id), 567 base::Unretained(db_.get()),
568 origin,
569 resource_id),
542 base::Bind(&DriveMetadataStore::DidUpdateOrigin, AsWeakPtr(), callback)); 570 base::Bind(&DriveMetadataStore::DidUpdateOrigin, AsWeakPtr(), callback));
543 } 571 }
544 572
545 void DriveMetadataStore::DisableOrigin( 573 void DriveMetadataStore::DisableOrigin(
546 const GURL& origin, 574 const GURL& origin,
547 const SyncStatusCallback& callback) { 575 const SyncStatusCallback& callback) {
548 DCHECK(CalledOnValidThread()); 576 DCHECK(CalledOnValidThread());
549 577
550 std::string resource_id; 578 std::string resource_id;
551 std::map<GURL, std::string>::iterator found = 579 std::map<GURL, std::string>::iterator found =
552 incremental_sync_origins_.find(origin); 580 incremental_sync_origins_.find(origin);
553 if (found != incremental_sync_origins_.end()) { 581 if (found != incremental_sync_origins_.end()) {
554 resource_id = found->second; 582 resource_id = found->second;
555 incremental_sync_origins_.erase(found); 583 incremental_sync_origins_.erase(found);
556 } 584 }
557 585
558 if (resource_id.empty()) { 586 if (resource_id.empty()) {
559 // |origin| has not been registered yet. 587 // |origin| has not been registered yet.
560 return; 588 return;
561 } 589 }
562 590
563 disabled_origins_.insert(std::make_pair(origin, resource_id)); 591 disabled_origins_.insert(std::make_pair(origin, resource_id));
564 592
565 // Store a pair of |origin| and |resource_id| in the DB. 593 // Store a pair of |origin| and |resource_id| in the DB.
566 base::PostTaskAndReplyWithResult( 594 base::PostTaskAndReplyWithResult(
567 file_task_runner_, FROM_HERE, 595 file_task_runner_.get(),
596 FROM_HERE,
568 base::Bind(&DriveMetadataDB::DisableOrigin, 597 base::Bind(&DriveMetadataDB::DisableOrigin,
569 base::Unretained(db_.get()), origin, resource_id), 598 base::Unretained(db_.get()),
599 origin,
600 resource_id),
570 base::Bind(&DriveMetadataStore::DidUpdateOrigin, AsWeakPtr(), callback)); 601 base::Bind(&DriveMetadataStore::DidUpdateOrigin, AsWeakPtr(), callback));
571 } 602 }
572 603
573 void DriveMetadataStore::RemoveOrigin( 604 void DriveMetadataStore::RemoveOrigin(
574 const GURL& origin, 605 const GURL& origin,
575 const SyncStatusCallback& callback) { 606 const SyncStatusCallback& callback) {
576 DCHECK(CalledOnValidThread()); 607 DCHECK(CalledOnValidThread());
577 608
578 metadata_map_.erase(origin); 609 metadata_map_.erase(origin);
579 610
580 std::string resource_id; 611 std::string resource_id;
581 if (EraseIfExists(&incremental_sync_origins_, origin, &resource_id) || 612 if (EraseIfExists(&incremental_sync_origins_, origin, &resource_id) ||
582 EraseIfExists(&disabled_origins_, origin, &resource_id)) { 613 EraseIfExists(&disabled_origins_, origin, &resource_id)) {
583 origin_by_resource_id_.erase(resource_id); 614 origin_by_resource_id_.erase(resource_id);
584 } 615 }
585 616
586 base::PostTaskAndReplyWithResult( 617 base::PostTaskAndReplyWithResult(
587 file_task_runner_, FROM_HERE, 618 file_task_runner_.get(),
588 base::Bind(&DriveMetadataDB::RemoveOrigin, 619 FROM_HERE,
589 base::Unretained(db_.get()), origin), 620 base::Bind(
621 &DriveMetadataDB::RemoveOrigin, base::Unretained(db_.get()), origin),
590 base::Bind(&DriveMetadataStore::DidUpdateOrigin, AsWeakPtr(), callback)); 622 base::Bind(&DriveMetadataStore::DidUpdateOrigin, AsWeakPtr(), callback));
591 } 623 }
592 624
593 void DriveMetadataStore::DidUpdateOrigin( 625 void DriveMetadataStore::DidUpdateOrigin(
594 const SyncStatusCallback& callback, 626 const SyncStatusCallback& callback,
595 SyncStatusCode status) { 627 SyncStatusCode status) {
596 UpdateDBStatus(status); 628 UpdateDBStatus(status);
597 callback.Run(status); 629 callback.Run(status);
598 } 630 }
599 631
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
1038 1070
1039 bool result = disabled_origins->insert( 1071 bool result = disabled_origins->insert(
1040 std::make_pair(origin, origin_resource_id)).second; 1072 std::make_pair(origin, origin_resource_id)).second;
1041 DCHECK(result); 1073 DCHECK(result);
1042 } 1074 }
1043 1075
1044 return SYNC_STATUS_OK; 1076 return SYNC_STATUS_OK;
1045 } 1077 }
1046 1078
1047 } // namespace sync_file_system 1079 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698