Chromium Code Reviews| 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/glue/sync_backend_host_impl.h" | 5 #include "chrome/browser/sync/glue/sync_backend_host_impl.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "chrome/browser/chrome_notification_types.h" | 8 #include "chrome/browser/chrome_notification_types.h" |
| 9 #include "chrome/browser/invalidation/invalidation_service.h" | 9 #include "chrome/browser/invalidation/invalidation_service.h" |
| 10 #include "chrome/browser/invalidation/invalidation_service_factory.h" | 10 #include "chrome/browser/invalidation/invalidation_service_factory.h" |
| (...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 595 void SyncBackendHostImpl::HandleSyncCycleCompletedOnFrontendLoop( | 595 void SyncBackendHostImpl::HandleSyncCycleCompletedOnFrontendLoop( |
| 596 const syncer::sessions::SyncSessionSnapshot& snapshot) { | 596 const syncer::sessions::SyncSessionSnapshot& snapshot) { |
| 597 if (!frontend_) | 597 if (!frontend_) |
| 598 return; | 598 return; |
| 599 DCHECK_EQ(base::MessageLoop::current(), frontend_loop_); | 599 DCHECK_EQ(base::MessageLoop::current(), frontend_loop_); |
| 600 | 600 |
| 601 last_snapshot_ = snapshot; | 601 last_snapshot_ = snapshot; |
| 602 | 602 |
| 603 SDVLOG(1) << "Got snapshot " << snapshot.ToString(); | 603 SDVLOG(1) << "Got snapshot " << snapshot.ToString(); |
| 604 | 604 |
| 605 const syncer::ModelTypeSet to_migrate = | |
| 606 snapshot.model_neutral_state().types_needing_local_migration; | |
| 607 if (!to_migrate.Empty()) | |
| 608 frontend_->OnMigrationNeededForTypes(to_migrate); | |
| 609 | |
| 610 // Process any changes to the datatypes we're syncing. | 605 // Process any changes to the datatypes we're syncing. |
| 611 // TODO(sync): add support for removing types. | 606 // TODO(sync): add support for removing types. |
| 612 if (initialized()) | 607 if (initialized()) |
| 613 AddExperimentalTypes(); | 608 AddExperimentalTypes(); |
|
Nicolas Zea
2014/02/12 20:05:18
Kindda unrelated to this patch, but I wonder if we
| |
| 614 | 609 |
| 615 if (initialized()) | 610 if (initialized()) |
| 616 frontend_->OnSyncCycleCompleted(); | 611 frontend_->OnSyncCycleCompleted(); |
| 617 } | 612 } |
| 618 | 613 |
| 619 void SyncBackendHostImpl::RetryConfigurationOnFrontendLoop( | 614 void SyncBackendHostImpl::RetryConfigurationOnFrontendLoop( |
| 620 const base::Closure& retry_callback) { | 615 const base::Closure& retry_callback) { |
| 621 SDVLOG(1) << "Failed to complete configuration, informing of retry."; | 616 SDVLOG(1) << "Failed to complete configuration, informing of retry."; |
| 622 retry_callback.Run(); | 617 retry_callback.Run(); |
| 623 } | 618 } |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 634 } | 629 } |
| 635 | 630 |
| 636 void SyncBackendHostImpl::HandleActionableErrorEventOnFrontendLoop( | 631 void SyncBackendHostImpl::HandleActionableErrorEventOnFrontendLoop( |
| 637 const syncer::SyncProtocolError& sync_error) { | 632 const syncer::SyncProtocolError& sync_error) { |
| 638 if (!frontend_) | 633 if (!frontend_) |
| 639 return; | 634 return; |
| 640 DCHECK_EQ(base::MessageLoop::current(), frontend_loop_); | 635 DCHECK_EQ(base::MessageLoop::current(), frontend_loop_); |
| 641 frontend_->OnActionableError(sync_error); | 636 frontend_->OnActionableError(sync_error); |
| 642 } | 637 } |
| 643 | 638 |
| 639 void SyncBackendHostImpl::HandleMigrationRequestedOnFrontendLoop( | |
| 640 syncer::ModelTypeSet types) { | |
| 641 if (!frontend_) | |
| 642 return; | |
| 643 DCHECK_EQ(base::MessageLoop::current(), frontend_loop_); | |
| 644 frontend_->OnMigrationNeededForTypes(types); | |
| 645 } | |
| 646 | |
| 644 void SyncBackendHostImpl::OnInvalidatorStateChange( | 647 void SyncBackendHostImpl::OnInvalidatorStateChange( |
| 645 syncer::InvalidatorState state) { | 648 syncer::InvalidatorState state) { |
| 646 registrar_->sync_thread()->message_loop()->PostTask( | 649 registrar_->sync_thread()->message_loop()->PostTask( |
| 647 FROM_HERE, | 650 FROM_HERE, |
| 648 base::Bind(&SyncBackendHostCore::DoOnInvalidatorStateChange, | 651 base::Bind(&SyncBackendHostCore::DoOnInvalidatorStateChange, |
| 649 core_.get(), | 652 core_.get(), |
| 650 state)); | 653 state)); |
| 651 } | 654 } |
| 652 | 655 |
| 653 void SyncBackendHostImpl::OnIncomingInvalidation( | 656 void SyncBackendHostImpl::OnIncomingInvalidation( |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 746 base::MessageLoop* SyncBackendHostImpl::GetSyncLoopForTesting() { | 749 base::MessageLoop* SyncBackendHostImpl::GetSyncLoopForTesting() { |
| 747 return registrar_->sync_thread()->message_loop(); | 750 return registrar_->sync_thread()->message_loop(); |
| 748 } | 751 } |
| 749 | 752 |
| 750 } // namespace browser_sync | 753 } // namespace browser_sync |
| 751 | 754 |
| 752 #undef SDVLOG | 755 #undef SDVLOG |
| 753 | 756 |
| 754 #undef SLOG | 757 #undef SLOG |
| 755 | 758 |
| OLD | NEW |