| OLD | NEW |
| 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 #include "chrome/browser/sync/profile_sync_service.h" | 5 #include "chrome/browser/sync/profile_sync_service.h" |
| 6 | 6 |
| 7 #include <cstddef> | 7 #include <cstddef> |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 693 } | 693 } |
| 694 start_up_time_ = base::Time(); | 694 start_up_time_ = base::Time(); |
| 695 } | 695 } |
| 696 | 696 |
| 697 if (!success) { | 697 if (!success) { |
| 698 // Something went unexpectedly wrong. Play it safe: stop syncing at once | 698 // Something went unexpectedly wrong. Play it safe: stop syncing at once |
| 699 // and surface error UI to alert the user sync has stopped. | 699 // and surface error UI to alert the user sync has stopped. |
| 700 // Keep the directory around for now so that on restart we will retry | 700 // Keep the directory around for now so that on restart we will retry |
| 701 // again and potentially succeed in presence of transient file IO failures | 701 // again and potentially succeed in presence of transient file IO failures |
| 702 // or permissions issues, etc. | 702 // or permissions issues, etc. |
| 703 // |
| 704 // TODO(rlarocque): Consider making this UnrecoverableError less special. |
| 705 // Unlike every other UnrecoverableError, it does not delete our sync data. |
| 706 // This exception made sense at the time it was implemented, but our new |
| 707 // directory corruption recovery mechanism makes it obsolete. By the time |
| 708 // we get here, we will have already tried and failed to delete the |
| 709 // directory. It would be no big deal if we tried to delete it again. |
| 703 OnInternalUnrecoverableError(FROM_HERE, | 710 OnInternalUnrecoverableError(FROM_HERE, |
| 704 "BackendInitialize failure", | 711 "BackendInitialize failure", |
| 705 false, | 712 false, |
| 706 ERROR_REASON_BACKEND_INIT_FAILURE); | 713 ERROR_REASON_BACKEND_INIT_FAILURE); |
| 707 return; | 714 return; |
| 708 } | 715 } |
| 709 | 716 |
| 710 backend_initialized_ = true; | 717 backend_initialized_ = true; |
| 711 | 718 |
| 712 sync_js_controller_.AttachJsBackend(js_backend); | 719 sync_js_controller_.AttachJsBackend(js_backend); |
| (...skipping 1079 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1792 // See http://stackoverflow.com/questions/6224121/is-new-this-myclass-undefine
d-behaviour-after-directly-calling-the-destru. | 1799 // See http://stackoverflow.com/questions/6224121/is-new-this-myclass-undefine
d-behaviour-after-directly-calling-the-destru. |
| 1793 ProfileSyncService* old_this = this; | 1800 ProfileSyncService* old_this = this; |
| 1794 this->~ProfileSyncService(); | 1801 this->~ProfileSyncService(); |
| 1795 new(old_this) ProfileSyncService( | 1802 new(old_this) ProfileSyncService( |
| 1796 new ProfileSyncComponentsFactoryImpl(profile, | 1803 new ProfileSyncComponentsFactoryImpl(profile, |
| 1797 CommandLine::ForCurrentProcess()), | 1804 CommandLine::ForCurrentProcess()), |
| 1798 profile, | 1805 profile, |
| 1799 signin, | 1806 signin, |
| 1800 behavior); | 1807 behavior); |
| 1801 } | 1808 } |
| OLD | NEW |