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

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

Issue 8496002: Sync: Improve handling of database load failures (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Many improvements and scope expansion 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 538 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 (!success) { 558 if (!success) {
559 // If backend initialization failed, abort. We only want to blow away 559 // Something went unexpectedly wrong. Play it safe: nuke our current state
560 // state (DBs, etc) if this was a first-time scenario that failed. 560 // and prepare ourselves to try again later.
561 wizard_.Step(SyncSetupWizard::FATAL_ERROR); 561 DisableForUser();
tim (not reviewing) 2011/11/14 19:13:13 Lets add a UMA counter here so we track the # of u
rlarocque 2011/11/14 22:56:26 Done.
562 Shutdown(!HasSyncSetupCompleted());
563 return; 562 return;
564 } 563 }
565 564
566 backend_initialized_ = true; 565 backend_initialized_ = true;
567 566
568 sync_js_controller_.AttachJsBackend(js_backend); 567 sync_js_controller_.AttachJsBackend(js_backend);
569 568
570 // The very first time the backend initializes is effectively the first time 569 // The very first time the backend initializes is effectively the first time
571 // we can say we successfully "synced". last_synced_time_ will only be null 570 // we can say we successfully "synced". last_synced_time_ will only be null
572 // in this case, because the pref wasn't restored on StartUp. 571 // in this case, because the pref wasn't restored on StartUp.
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after
1543 << "Unrecoverable error."; 1542 << "Unrecoverable error.";
1544 } else { 1543 } else {
1545 VLOG(0) << "ConfigureDataTypeManager not invoked because backend is not " 1544 VLOG(0) << "ConfigureDataTypeManager not invoked because backend is not "
1546 << "initialized"; 1545 << "initialized";
1547 } 1546 }
1548 } 1547 }
1549 1548
1550 const FailedDatatypesHandler& ProfileSyncService::failed_datatypes_handler() { 1549 const FailedDatatypesHandler& ProfileSyncService::failed_datatypes_handler() {
1551 return failed_datatypes_handler_; 1550 return failed_datatypes_handler_;
1552 } 1551 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698