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

Side by Side Diff: chrome/browser/sync/profile_sync_service.h

Issue 1406943004: [sync] Isolate FOREIGN_SESSION_UPDATED notification in ProfileSyncService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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
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 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ 5 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_
6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ 6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 21 matching lines...) Expand all
32 #include "components/sync_driver/data_type_manager_observer.h" 32 #include "components/sync_driver/data_type_manager_observer.h"
33 #include "components/sync_driver/data_type_status_table.h" 33 #include "components/sync_driver/data_type_status_table.h"
34 #include "components/sync_driver/device_info_sync_service.h" 34 #include "components/sync_driver/device_info_sync_service.h"
35 #include "components/sync_driver/local_device_info_provider.h" 35 #include "components/sync_driver/local_device_info_provider.h"
36 #include "components/sync_driver/protocol_event_observer.h" 36 #include "components/sync_driver/protocol_event_observer.h"
37 #include "components/sync_driver/startup_controller.h" 37 #include "components/sync_driver/startup_controller.h"
38 #include "components/sync_driver/sync_frontend.h" 38 #include "components/sync_driver/sync_frontend.h"
39 #include "components/sync_driver/sync_prefs.h" 39 #include "components/sync_driver/sync_prefs.h"
40 #include "components/sync_driver/sync_service.h" 40 #include "components/sync_driver/sync_service.h"
41 #include "components/sync_driver/sync_stopped_reporter.h" 41 #include "components/sync_driver/sync_stopped_reporter.h"
42 #include "content/public/browser/notification_observer.h"
43 #include "content/public/browser/notification_registrar.h"
42 #include "google_apis/gaia/google_service_auth_error.h" 44 #include "google_apis/gaia/google_service_auth_error.h"
43 #include "google_apis/gaia/oauth2_token_service.h" 45 #include "google_apis/gaia/oauth2_token_service.h"
44 #include "net/base/backoff_entry.h" 46 #include "net/base/backoff_entry.h"
45 #include "sync/internal_api/public/base/model_type.h" 47 #include "sync/internal_api/public/base/model_type.h"
46 #include "sync/internal_api/public/engine/model_safe_worker.h" 48 #include "sync/internal_api/public/engine/model_safe_worker.h"
47 #include "sync/internal_api/public/network_time_update_callback.h" 49 #include "sync/internal_api/public/network_time_update_callback.h"
48 #include "sync/internal_api/public/shutdown_reason.h" 50 #include "sync/internal_api/public/shutdown_reason.h"
49 #include "sync/internal_api/public/sync_manager_factory.h" 51 #include "sync/internal_api/public/sync_manager_factory.h"
50 #include "sync/internal_api/public/user_share.h" 52 #include "sync/internal_api/public/user_share.h"
51 #include "sync/internal_api/public/util/experiments.h" 53 #include "sync/internal_api/public/util/experiments.h"
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 // SetSyncSetupCompleted() followed by SetSetupInProgress(false) - this will 173 // SetSyncSetupCompleted() followed by SetSetupInProgress(false) - this will
172 // tell the sync engine that setup is completed and it can begin downloading 174 // tell the sync engine that setup is completed and it can begin downloading
173 // data from the sync server. 175 // data from the sync server.
174 // 176 //
175 class ProfileSyncService : public sync_driver::SyncService, 177 class ProfileSyncService : public sync_driver::SyncService,
176 public sync_driver::SyncFrontend, 178 public sync_driver::SyncFrontend,
177 public sync_driver::SyncPrefObserver, 179 public sync_driver::SyncPrefObserver,
178 public sync_driver::DataTypeManagerObserver, 180 public sync_driver::DataTypeManagerObserver,
179 public syncer::UnrecoverableErrorHandler, 181 public syncer::UnrecoverableErrorHandler,
180 public KeyedService, 182 public KeyedService,
183 public content::NotificationObserver,
181 public OAuth2TokenService::Consumer, 184 public OAuth2TokenService::Consumer,
182 public OAuth2TokenService::Observer, 185 public OAuth2TokenService::Observer,
183 public SigninManagerBase::Observer { 186 public SigninManagerBase::Observer {
184 public: 187 public:
185 typedef browser_sync::SyncBackendHost::Status Status; 188 typedef browser_sync::SyncBackendHost::Status Status;
186 189
187 enum SyncEventCodes { 190 enum SyncEventCodes {
188 MIN_SYNC_EVENT_CODE = 0, 191 MIN_SYNC_EVENT_CODE = 0,
189 192
190 // Events starting the sync service. 193 // Events starting the sync service.
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 AUTH_ERROR_ENCOUNTERED, 637 AUTH_ERROR_ENCOUNTERED,
635 AUTH_ERROR_FIXED, 638 AUTH_ERROR_FIXED,
636 AUTH_ERROR_LIMIT 639 AUTH_ERROR_LIMIT
637 }; 640 };
638 641
639 friend class ProfileSyncServicePasswordTest; 642 friend class ProfileSyncServicePasswordTest;
640 friend class SyncTest; 643 friend class SyncTest;
641 friend class TestProfileSyncService; 644 friend class TestProfileSyncService;
642 FRIEND_TEST_ALL_PREFIXES(ProfileSyncServiceTest, InitialState); 645 FRIEND_TEST_ALL_PREFIXES(ProfileSyncServiceTest, InitialState);
643 646
647 // Observe notifications.
648 void Observe(int type,
649 const content::NotificationSource& source,
650 const content::NotificationDetails& details) override;
651
644 // Stops the sync engine. Does NOT set IsSyncRequested to false. Use 652 // Stops the sync engine. Does NOT set IsSyncRequested to false. Use
645 // RequestStop for that. |data_fate| controls whether the local sync data is 653 // RequestStop for that. |data_fate| controls whether the local sync data is
646 // deleted or kept when the engine shuts down. 654 // deleted or kept when the engine shuts down.
647 void StopImpl(SyncStopDataFate data_fate); 655 void StopImpl(SyncStopDataFate data_fate);
648 656
649 // Update the last auth error and notify observers of error state. 657 // Update the last auth error and notify observers of error state.
650 void UpdateAuthErrorState(const GoogleServiceAuthError& error); 658 void UpdateAuthErrorState(const GoogleServiceAuthError& error);
651 659
652 // Detects and attempts to recover from a previous improper datatype 660 // Detects and attempts to recover from a previous improper datatype
653 // configuration where Keep Everything Synced and the preferred types were 661 // configuration where Keep Everything Synced and the preferred types were
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after
974 // to OnConfigureDone originated from BeginConfigureCatchUpBeforeClear and 982 // to OnConfigureDone originated from BeginConfigureCatchUpBeforeClear and
975 // needs to be followed by ClearAndRestartSyncForPassphraseEncryption(). 983 // needs to be followed by ClearAndRestartSyncForPassphraseEncryption().
976 bool catch_up_configure_in_progress_; 984 bool catch_up_configure_in_progress_;
977 985
978 // Whether the major version has changed since the last time Chrome ran, 986 // Whether the major version has changed since the last time Chrome ran,
979 // and therefore a passphrase required state should result in prompting 987 // and therefore a passphrase required state should result in prompting
980 // the user. This logic is only enabled on platforms that consume the 988 // the user. This logic is only enabled on platforms that consume the
981 // IsPassphrasePrompted sync preference. 989 // IsPassphrasePrompted sync preference.
982 bool passphrase_prompt_triggered_by_version_; 990 bool passphrase_prompt_triggered_by_version_;
983 991
992 content::NotificationRegistrar registrar_;
993
984 base::WeakPtrFactory<ProfileSyncService> weak_factory_; 994 base::WeakPtrFactory<ProfileSyncService> weak_factory_;
985 995
986 // We don't use |weak_factory_| for the StartupController because the weak 996 // We don't use |weak_factory_| for the StartupController because the weak
987 // ptrs should be bound to the lifetime of ProfileSyncService and not to the 997 // ptrs should be bound to the lifetime of ProfileSyncService and not to the
988 // [Initialize -> sync disabled/shutdown] lifetime. We don't pass 998 // [Initialize -> sync disabled/shutdown] lifetime. We don't pass
989 // StartupController an Unretained reference to future-proof against 999 // StartupController an Unretained reference to future-proof against
990 // the controller impl changing to post tasks. Therefore, we have a separate 1000 // the controller impl changing to post tasks. Therefore, we have a separate
991 // factory. 1001 // factory.
992 base::WeakPtrFactory<ProfileSyncService> startup_controller_weak_factory_; 1002 base::WeakPtrFactory<ProfileSyncService> startup_controller_weak_factory_;
993 1003
994 DISALLOW_COPY_AND_ASSIGN(ProfileSyncService); 1004 DISALLOW_COPY_AND_ASSIGN(ProfileSyncService);
995 }; 1005 };
996 1006
997 bool ShouldShowActionOnUI( 1007 bool ShouldShowActionOnUI(
998 const syncer::SyncProtocolError& error); 1008 const syncer::SyncProtocolError& error);
999 1009
1000 1010
1001 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ 1011 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_
OLDNEW
« no previous file with comments | « chrome/browser/android/foreign_session_helper.cc ('k') | chrome/browser/sync/profile_sync_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698