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

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

Issue 8586004: Revert 110356 - Sync: Improve handling of database load failures (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <algorithm> 7 #include <algorithm>
8 #include <cstddef> 8 #include <cstddef>
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 << " -- ProfileSyncService unusable: " << message; 548 << " -- ProfileSyncService unusable: " << message;
549 549
550 // Shut all data types down. 550 // Shut all data types down.
551 MessageLoop::current()->PostTask(FROM_HERE, 551 MessageLoop::current()->PostTask(FROM_HERE,
552 scoped_runnable_method_factory_.NewRunnableMethod( 552 scoped_runnable_method_factory_.NewRunnableMethod(
553 &ProfileSyncService::Shutdown, true)); 553 &ProfileSyncService::Shutdown, true));
554 } 554 }
555 555
556 void ProfileSyncService::OnBackendInitialized( 556 void ProfileSyncService::OnBackendInitialized(
557 const WeakHandle<JsBackend>& js_backend, bool success) { 557 const WeakHandle<JsBackend>& js_backend, bool success) {
558 if (HasSyncSetupCompleted()) {
559 UMA_HISTOGRAM_BOOLEAN("Sync.FirstBackendInitializeSuccess", success);
560 } else {
561 UMA_HISTOGRAM_BOOLEAN("Sync.RestoreBackendInitializeSuccess", success);
562 }
563
564 if (!success) { 558 if (!success) {
565 // Something went unexpectedly wrong. Play it safe: nuke our current state 559 // If backend initialization failed, abort. We only want to blow away
566 // and prepare ourselves to try again later. 560 // state (DBs, etc) if this was a first-time scenario that failed.
567 DisableForUser(); 561 wizard_.Step(SyncSetupWizard::FATAL_ERROR);
562 Shutdown(!HasSyncSetupCompleted());
568 return; 563 return;
569 } 564 }
570 565
571 backend_initialized_ = true; 566 backend_initialized_ = true;
572 567
573 sync_js_controller_.AttachJsBackend(js_backend); 568 sync_js_controller_.AttachJsBackend(js_backend);
574 569
575 // The very first time the backend initializes is effectively the first time 570 // The very first time the backend initializes is effectively the first time
576 // we can say we successfully "synced". last_synced_time_ will only be null 571 // we can say we successfully "synced". last_synced_time_ will only be null
577 // in this case, because the pref wasn't restored on StartUp. 572 // in this case, because the pref wasn't restored on StartUp.
(...skipping 971 matching lines...) Expand 10 before | Expand all | Expand 10 after
1549 << "Unrecoverable error."; 1544 << "Unrecoverable error.";
1550 } else { 1545 } else {
1551 VLOG(0) << "ConfigureDataTypeManager not invoked because backend is not " 1546 VLOG(0) << "ConfigureDataTypeManager not invoked because backend is not "
1552 << "initialized"; 1547 << "initialized";
1553 } 1548 }
1554 } 1549 }
1555 1550
1556 const FailedDatatypesHandler& ProfileSyncService::failed_datatypes_handler() { 1551 const FailedDatatypesHandler& ProfileSyncService::failed_datatypes_handler() {
1557 return failed_datatypes_handler_; 1552 return failed_datatypes_handler_;
1558 } 1553 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/internal_api/sync_manager.cc ('k') | chrome/browser/sync/profile_sync_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698