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

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

Issue 3127017: Revert 56423 - Added classes to enable session sync functionality.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 4 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) 2010 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"
(...skipping 11 matching lines...) Expand all
22 #include "chrome/browser/chrome_thread.h" 22 #include "chrome/browser/chrome_thread.h"
23 #include "chrome/browser/history/history_types.h" 23 #include "chrome/browser/history/history_types.h"
24 #include "chrome/browser/platform_util.h" 24 #include "chrome/browser/platform_util.h"
25 #include "chrome/browser/pref_service.h" 25 #include "chrome/browser/pref_service.h"
26 #include "chrome/browser/profile.h" 26 #include "chrome/browser/profile.h"
27 #include "chrome/browser/net/gaia/token_service.h" 27 #include "chrome/browser/net/gaia/token_service.h"
28 #include "chrome/browser/sync/engine/syncapi.h" 28 #include "chrome/browser/sync/engine/syncapi.h"
29 #include "chrome/browser/sync/glue/change_processor.h" 29 #include "chrome/browser/sync/glue/change_processor.h"
30 #include "chrome/browser/sync/glue/data_type_controller.h" 30 #include "chrome/browser/sync/glue/data_type_controller.h"
31 #include "chrome/browser/sync/glue/data_type_manager.h" 31 #include "chrome/browser/sync/glue/data_type_manager.h"
32 #include "chrome/browser/sync/glue/session_data_type_controller.h"
33 #include "chrome/browser/sync/profile_sync_factory.h" 32 #include "chrome/browser/sync/profile_sync_factory.h"
34 #include "chrome/browser/sync/syncable/directory_manager.h" 33 #include "chrome/browser/sync/syncable/directory_manager.h"
35 #include "chrome/common/chrome_switches.h" 34 #include "chrome/common/chrome_switches.h"
36 #include "chrome/common/notification_details.h" 35 #include "chrome/common/notification_details.h"
37 #include "chrome/common/notification_service.h" 36 #include "chrome/common/notification_service.h"
38 #include "chrome/common/notification_source.h" 37 #include "chrome/common/notification_source.h"
39 #include "chrome/common/notification_type.h" 38 #include "chrome/common/notification_type.h"
40 #include "chrome/common/pref_names.h" 39 #include "chrome/common/pref_names.h"
41 #include "chrome/common/time_format.h" 40 #include "chrome/common/time_format.h"
42 #include "grit/generated_resources.h" 41 #include "grit/generated_resources.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 } 162 }
164 } 163 }
165 164
166 void ProfileSyncService::RegisterDataTypeController( 165 void ProfileSyncService::RegisterDataTypeController(
167 DataTypeController* data_type_controller) { 166 DataTypeController* data_type_controller) {
168 DCHECK_EQ(data_type_controllers_.count(data_type_controller->type()), 0U); 167 DCHECK_EQ(data_type_controllers_.count(data_type_controller->type()), 0U);
169 data_type_controllers_[data_type_controller->type()] = 168 data_type_controllers_[data_type_controller->type()] =
170 data_type_controller; 169 data_type_controller;
171 } 170 }
172 171
173 browser_sync::SessionModelAssociator*
174 ProfileSyncService::GetSessionModelAssociator() {
175 if (data_type_controllers_.find(syncable::SESSIONS) ==
176 data_type_controllers_.end() ||
177 data_type_controllers_.find(syncable::SESSIONS)->second->state() !=
178 DataTypeController::RUNNING) {
179 return NULL;
180 }
181 return static_cast<browser_sync::SessionDataTypeController*>(
182 data_type_controllers_.find(
183 syncable::SESSIONS)->second.get())->GetModelAssociator();
184 }
185
186 void ProfileSyncService::GetDataTypeControllerStates( 172 void ProfileSyncService::GetDataTypeControllerStates(
187 browser_sync::DataTypeController::StateMap* state_map) const { 173 browser_sync::DataTypeController::StateMap* state_map) const {
188 browser_sync::DataTypeController::TypeMap::const_iterator iter 174 browser_sync::DataTypeController::TypeMap::const_iterator iter
189 = data_type_controllers_.begin(); 175 = data_type_controllers_.begin();
190 for ( ; iter != data_type_controllers_.end(); ++iter ) { 176 for ( ; iter != data_type_controllers_.end(); ++iter ) {
191 (*state_map)[iter->first] = iter->second.get()->state(); 177 (*state_map)[iter->first] = iter->second.get()->state();
192 } 178 }
193 } 179 }
194 180
195 void ProfileSyncService::InitSettings() { 181 void ProfileSyncService::InitSettings() {
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 #endif 233 #endif
248 234
249 pref_service->RegisterBooleanPref(prefs::kSyncBookmarks, true); 235 pref_service->RegisterBooleanPref(prefs::kSyncBookmarks, true);
250 pref_service->RegisterBooleanPref(prefs::kSyncPasswords, enable_by_default); 236 pref_service->RegisterBooleanPref(prefs::kSyncPasswords, enable_by_default);
251 pref_service->RegisterBooleanPref(prefs::kSyncPreferences, enable_by_default); 237 pref_service->RegisterBooleanPref(prefs::kSyncPreferences, enable_by_default);
252 pref_service->RegisterBooleanPref(prefs::kSyncAutofill, enable_by_default); 238 pref_service->RegisterBooleanPref(prefs::kSyncAutofill, enable_by_default);
253 pref_service->RegisterBooleanPref(prefs::kSyncThemes, enable_by_default); 239 pref_service->RegisterBooleanPref(prefs::kSyncThemes, enable_by_default);
254 pref_service->RegisterBooleanPref(prefs::kSyncTypedUrls, enable_by_default); 240 pref_service->RegisterBooleanPref(prefs::kSyncTypedUrls, enable_by_default);
255 pref_service->RegisterBooleanPref(prefs::kSyncExtensions, enable_by_default); 241 pref_service->RegisterBooleanPref(prefs::kSyncExtensions, enable_by_default);
256 pref_service->RegisterBooleanPref(prefs::kSyncApps, enable_by_default); 242 pref_service->RegisterBooleanPref(prefs::kSyncApps, enable_by_default);
257 pref_service->RegisterBooleanPref(prefs::kSyncSessions, enable_by_default); 243
258 pref_service->RegisterBooleanPref(prefs::kKeepEverythingSynced, 244 pref_service->RegisterBooleanPref(prefs::kKeepEverythingSynced,
259 enable_by_default); 245 enable_by_default);
246
260 pref_service->RegisterBooleanPref(prefs::kSyncManaged, false); 247 pref_service->RegisterBooleanPref(prefs::kSyncManaged, false);
261 } 248 }
262 249
263 void ProfileSyncService::ClearPreferences() { 250 void ProfileSyncService::ClearPreferences() {
264 PrefService* pref_service = profile_->GetPrefs(); 251 PrefService* pref_service = profile_->GetPrefs();
265 pref_service->ClearPref(prefs::kSyncLastSyncedTime); 252 pref_service->ClearPref(prefs::kSyncLastSyncedTime);
266 pref_service->ClearPref(prefs::kSyncHasSetupCompleted); 253 pref_service->ClearPref(prefs::kSyncHasSetupCompleted);
267 // TODO(nick): The current behavior does not clear e.g. prefs::kSyncBookmarks. 254 // TODO(nick): The current behavior does not clear e.g. prefs::kSyncBookmarks.
268 // Is that really what we want? 255 // Is that really what we want?
269 pref_service->ScheduleSavePersistentPrefs(); 256 pref_service->ScheduleSavePersistentPrefs();
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 profile_->GetPrefs()->GetInt64(prefs::kSyncLastSyncedTime)); 314 profile_->GetPrefs()->GetInt64(prefs::kSyncLastSyncedTime));
328 315
329 CreateBackend(); 316 CreateBackend();
330 // Initialize the backend. Every time we start up a new SyncBackendHost, 317 // Initialize the backend. Every time we start up a new SyncBackendHost,
331 // we'll want to start from a fresh SyncDB, so delete any old one that might 318 // we'll want to start from a fresh SyncDB, so delete any old one that might
332 // be there. 319 // be there.
333 InitializeBackend(!HasSyncSetupCompleted()); 320 InitializeBackend(!HasSyncSetupCompleted());
334 } 321 }
335 322
336 void ProfileSyncService::Shutdown(bool sync_disabled) { 323 void ProfileSyncService::Shutdown(bool sync_disabled) {
337 // Stop all data type controllers, if needed. 324
325 // Stop all data type controllers, if needed.
338 if (data_type_manager_.get() && 326 if (data_type_manager_.get() &&
339 data_type_manager_->state() != DataTypeManager::STOPPED) { 327 data_type_manager_->state() != DataTypeManager::STOPPED) {
340 data_type_manager_->Stop(); 328 data_type_manager_->Stop();
341 } 329 }
342 330
343 data_type_manager_.reset(); 331 data_type_manager_.reset();
344 332
345 // Move aside the backend so nobody else tries to use it while we are 333 // Move aside the backend so nobody else tries to use it while we are
346 // shutting it down. 334 // shutting it down.
347 scoped_ptr<SyncBackendHost> doomed_backend(backend_.release()); 335 scoped_ptr<SyncBackendHost> doomed_backend(backend_.release());
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 case syncable::AUTOFILL: 402 case syncable::AUTOFILL:
415 return prefs::kSyncAutofill; 403 return prefs::kSyncAutofill;
416 case syncable::THEMES: 404 case syncable::THEMES:
417 return prefs::kSyncThemes; 405 return prefs::kSyncThemes;
418 case syncable::TYPED_URLS: 406 case syncable::TYPED_URLS:
419 return prefs::kSyncTypedUrls; 407 return prefs::kSyncTypedUrls;
420 case syncable::EXTENSIONS: 408 case syncable::EXTENSIONS:
421 return prefs::kSyncExtensions; 409 return prefs::kSyncExtensions;
422 case syncable::APPS: 410 case syncable::APPS:
423 return prefs::kSyncApps; 411 return prefs::kSyncApps;
424 case syncable::SESSIONS:
425 return prefs::kSyncSessions;
426 default: 412 default:
427 NOTREACHED(); 413 NOTREACHED();
428 return NULL; 414 return NULL;
429 } 415 }
430 } 416 }
431 417
432 // An invariant has been violated. Transition to an error state where we try 418 // An invariant has been violated. Transition to an error state where we try
433 // to do as little work as possible, to avoid further corruption or crashes. 419 // to do as little work as possible, to avoid further corruption or crashes.
434 void ProfileSyncService::OnUnrecoverableError( 420 void ProfileSyncService::OnUnrecoverableError(
435 const tracked_objects::Location& from_here, 421 const tracked_objects::Location& from_here,
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 // is initialized, all enabled data types are consistent with one 843 // is initialized, all enabled data types are consistent with one
858 // another, and no unrecoverable error has transpired. 844 // another, and no unrecoverable error has transpired.
859 if (unrecoverable_error_detected_) 845 if (unrecoverable_error_detected_)
860 return false; 846 return false;
861 847
862 if (!data_type_manager_.get()) 848 if (!data_type_manager_.get())
863 return false; 849 return false;
864 850
865 return data_type_manager_->state() == DataTypeManager::CONFIGURED; 851 return data_type_manager_->state() == DataTypeManager::CONFIGURED;
866 } 852 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_service.h ('k') | chrome/browser/sync/profile_sync_service_password_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698