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

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

Issue 2802015: Massively simplify the NetworkChangeNotifier infrastructure:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/profile_sync_service.h" 5 #include "chrome/browser/sync/profile_sync_service.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "app/l10n_util.h" 10 #include "app/l10n_util.h"
11 #include "base/callback.h" 11 #include "base/callback.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 using browser_sync::SyncBackendHost; 44 using browser_sync::SyncBackendHost;
45 45
46 typedef GoogleServiceAuthError AuthError; 46 typedef GoogleServiceAuthError AuthError;
47 47
48 const char* ProfileSyncService::kSyncServerUrl = 48 const char* ProfileSyncService::kSyncServerUrl =
49 "https://clients4.google.com/chrome-sync"; 49 "https://clients4.google.com/chrome-sync";
50 50
51 const char* ProfileSyncService::kDevServerUrl = 51 const char* ProfileSyncService::kDevServerUrl =
52 "https://clients4.google.com/chrome-sync/dev"; 52 "https://clients4.google.com/chrome-sync/dev";
53 53
54 ProfileSyncService::ProfileSyncService( 54 ProfileSyncService::ProfileSyncService(ProfileSyncFactory* factory,
55 ProfileSyncFactory* factory, 55 Profile* profile,
56 Profile* profile, 56 bool bootstrap_sync_authentication)
57 chrome_common_net::NetworkChangeNotifierThread*
58 network_change_notifier_thread,
59 bool bootstrap_sync_authentication)
60 : last_auth_error_(AuthError::None()), 57 : last_auth_error_(AuthError::None()),
61 factory_(factory), 58 factory_(factory),
62 profile_(profile), 59 profile_(profile),
63 network_change_notifier_thread_(network_change_notifier_thread),
64 bootstrap_sync_authentication_(bootstrap_sync_authentication), 60 bootstrap_sync_authentication_(bootstrap_sync_authentication),
65 sync_service_url_(kDevServerUrl), 61 sync_service_url_(kDevServerUrl),
66 backend_initialized_(false), 62 backend_initialized_(false),
67 expecting_first_run_auth_needed_event_(false), 63 expecting_first_run_auth_needed_event_(false),
68 is_auth_in_progress_(false), 64 is_auth_in_progress_(false),
69 ALLOW_THIS_IN_INITIALIZER_LIST(wizard_(this)), 65 ALLOW_THIS_IN_INITIALIZER_LIST(wizard_(this)),
70 unrecoverable_error_detected_(false), 66 unrecoverable_error_detected_(false),
71 notification_method_(browser_sync::kDefaultNotificationMethod), 67 notification_method_(browser_sync::kDefaultNotificationMethod),
72 ALLOW_THIS_IN_INITIALIZER_LIST(scoped_runnable_method_factory_(this)) { 68 ALLOW_THIS_IN_INITIALIZER_LIST(scoped_runnable_method_factory_(this)) {
73 DCHECK(factory); 69 DCHECK(factory);
74 DCHECK(profile); 70 DCHECK(profile);
75 DCHECK(network_change_notifier_thread_);
76 registrar_.Add(this, 71 registrar_.Add(this,
77 NotificationType::SYNC_CONFIGURE_START, 72 NotificationType::SYNC_CONFIGURE_START,
78 NotificationService::AllSources()); 73 NotificationService::AllSources());
79 registrar_.Add(this, 74 registrar_.Add(this,
80 NotificationType::SYNC_CONFIGURE_DONE, 75 NotificationType::SYNC_CONFIGURE_DONE,
81 NotificationService::AllSources()); 76 NotificationService::AllSources());
82 registrar_.Add(this, 77 registrar_.Add(this,
83 NotificationType::SYNC_PASSPHRASE_REQUIRED, 78 NotificationType::SYNC_PASSPHRASE_REQUIRED,
84 NotificationService::AllSources()); 79 NotificationService::AllSources());
85 registrar_.Add(this, 80 registrar_.Add(this,
(...skipping 17 matching lines...) Expand all
103 } 98 }
104 #else 99 #else
105 LOG(INFO) << "Unofficial build, using dev channel sync server."; 100 LOG(INFO) << "Unofficial build, using dev channel sync server.";
106 #endif 101 #endif
107 } 102 }
108 103
109 ProfileSyncService::ProfileSyncService() 104 ProfileSyncService::ProfileSyncService()
110 : last_auth_error_(AuthError::None()), 105 : last_auth_error_(AuthError::None()),
111 factory_(NULL), 106 factory_(NULL),
112 profile_(NULL), 107 profile_(NULL),
113 network_change_notifier_thread_(NULL),
114 bootstrap_sync_authentication_(false), 108 bootstrap_sync_authentication_(false),
115 sync_service_url_(kSyncServerUrl), 109 sync_service_url_(kSyncServerUrl),
116 backend_initialized_(false), 110 backend_initialized_(false),
117 expecting_first_run_auth_needed_event_(false), 111 expecting_first_run_auth_needed_event_(false),
118 is_auth_in_progress_(false), 112 is_auth_in_progress_(false),
119 ALLOW_THIS_IN_INITIALIZER_LIST(wizard_(this)), 113 ALLOW_THIS_IN_INITIALIZER_LIST(wizard_(this)),
120 unrecoverable_error_detected_(false), 114 unrecoverable_error_detected_(false),
121 notification_method_(browser_sync::kDefaultNotificationMethod), 115 notification_method_(browser_sync::kDefaultNotificationMethod),
122 ALLOW_THIS_IN_INITIALIZER_LIST(scoped_runnable_method_factory_(this)) { 116 ALLOW_THIS_IN_INITIALIZER_LIST(scoped_runnable_method_factory_(this)) {
123 } 117 }
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 invalidate_sync_login = CommandLine::ForCurrentProcess()->HasSwitch( 261 invalidate_sync_login = CommandLine::ForCurrentProcess()->HasSwitch(
268 switches::kInvalidateSyncLogin); 262 switches::kInvalidateSyncLogin);
269 invalidate_sync_xmpp_login = CommandLine::ForCurrentProcess()->HasSwitch( 263 invalidate_sync_xmpp_login = CommandLine::ForCurrentProcess()->HasSwitch(
270 switches::kInvalidateSyncXmppLogin); 264 switches::kInvalidateSyncXmppLogin);
271 #endif 265 #endif
272 266
273 syncable::ModelTypeSet types; 267 syncable::ModelTypeSet types;
274 GetPreferredDataTypes(&types); 268 GetPreferredDataTypes(&types);
275 backend_->Initialize(sync_service_url_, 269 backend_->Initialize(sync_service_url_,
276 types, 270 types,
277 network_change_notifier_thread_,
278 profile_->GetRequestContext(), 271 profile_->GetRequestContext(),
279 GetLsidForAuthBootstraping(), 272 GetLsidForAuthBootstraping(),
280 delete_sync_data_folder, 273 delete_sync_data_folder,
281 invalidate_sync_login, 274 invalidate_sync_login,
282 invalidate_sync_xmpp_login, 275 invalidate_sync_xmpp_login,
283 notification_method_); 276 notification_method_);
284 } 277 }
285 278
286 void ProfileSyncService::StartUp() { 279 void ProfileSyncService::StartUp() {
287 // Don't start up multiple times. 280 // Don't start up multiple times.
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 // is initialized, all enabled data types are consistent with one 780 // is initialized, all enabled data types are consistent with one
788 // another, and no unrecoverable error has transpired. 781 // another, and no unrecoverable error has transpired.
789 if (unrecoverable_error_detected_) 782 if (unrecoverable_error_detected_)
790 return false; 783 return false;
791 784
792 if (!data_type_manager_.get()) 785 if (!data_type_manager_.get())
793 return false; 786 return false;
794 787
795 return data_type_manager_->state() == DataTypeManager::CONFIGURED; 788 return data_type_manager_->state() == DataTypeManager::CONFIGURED;
796 } 789 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698