OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "components/sync/driver/sync_service_base.h" | 5 #include "components/sync/driver/sync_service_base.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
12 #include "base/memory/ptr_util.h" | 12 #include "base/memory/ptr_util.h" |
13 #include "base/metrics/histogram_macros.h" | 13 #include "base/metrics/histogram_macros.h" |
14 #include "base/path_service.h" | 14 #include "base/path_service.h" |
15 #include "base/syslog_logging.h" | 15 #include "base/syslog_logging.h" |
16 #include "components/invalidation/public/invalidation_service.h" | 16 #include "components/invalidation/public/invalidation_service.h" |
17 #include "components/sync/base/report_unrecoverable_error.h" | 17 #include "components/sync/base/report_unrecoverable_error.h" |
18 #include "components/sync/device_info/local_device_info_provider.h" | 18 #include "components/sync/device_info/local_device_info_provider.h" |
19 #include "components/sync/driver/sync_driver_switches.h" | 19 #include "components/sync/driver/sync_driver_switches.h" |
20 #include "components/sync/engine/engine_components_factory_impl.h" | 20 #include "components/sync/engine/engine_components_factory_impl.h" |
21 | 21 |
22 namespace syncer { | 22 namespace syncer { |
23 | 23 |
24 namespace { | 24 namespace { |
25 | 25 |
26 const base::FilePath::CharType kSyncDataFolderName[] = | 26 const base::FilePath::CharType kSyncDataFolderName[] = |
27 FILE_PATH_LITERAL("Sync Data"); | 27 FILE_PATH_LITERAL("Sync Data"); |
28 | 28 |
| 29 const base::FilePath::CharType kLevelDBFolderName[] = |
| 30 FILE_PATH_LITERAL("LevelDB"); |
| 31 |
29 EngineComponentsFactory::Switches EngineSwitchesFromCommandLine() { | 32 EngineComponentsFactory::Switches EngineSwitchesFromCommandLine() { |
30 EngineComponentsFactory::Switches factory_switches = { | 33 EngineComponentsFactory::Switches factory_switches = { |
31 EngineComponentsFactory::ENCRYPTION_KEYSTORE, | 34 EngineComponentsFactory::ENCRYPTION_KEYSTORE, |
32 EngineComponentsFactory::BACKOFF_NORMAL}; | 35 EngineComponentsFactory::BACKOFF_NORMAL}; |
33 | 36 |
34 base::CommandLine* cl = base::CommandLine::ForCurrentProcess(); | 37 base::CommandLine* cl = base::CommandLine::ForCurrentProcess(); |
35 if (cl->HasSwitch(switches::kSyncShortInitialRetryOverride)) { | 38 if (cl->HasSwitch(switches::kSyncShortInitialRetryOverride)) { |
36 factory_switches.backoff_override = | 39 factory_switches.backoff_override = |
37 EngineComponentsFactory::BACKOFF_SHORT_INITIAL_RETRY_OVERRIDE; | 40 EngineComponentsFactory::BACKOFF_SHORT_INITIAL_RETRY_OVERRIDE; |
38 } | 41 } |
(...skipping 12 matching lines...) Expand all Loading... |
51 | 54 |
52 SyncServiceBase::SyncServiceBase(std::unique_ptr<SyncClient> sync_client, | 55 SyncServiceBase::SyncServiceBase(std::unique_ptr<SyncClient> sync_client, |
53 std::unique_ptr<SigninManagerWrapper> signin, | 56 std::unique_ptr<SigninManagerWrapper> signin, |
54 const version_info::Channel& channel, | 57 const version_info::Channel& channel, |
55 const base::FilePath& base_directory, | 58 const base::FilePath& base_directory, |
56 const std::string& debug_identifier) | 59 const std::string& debug_identifier) |
57 : sync_client_(std::move(sync_client)), | 60 : sync_client_(std::move(sync_client)), |
58 signin_(std::move(signin)), | 61 signin_(std::move(signin)), |
59 channel_(channel), | 62 channel_(channel), |
60 base_directory_(base_directory), | 63 base_directory_(base_directory), |
61 sync_data_folder_( | |
62 base_directory_.Append(base::FilePath(kSyncDataFolderName))), | |
63 debug_identifier_(debug_identifier), | 64 debug_identifier_(debug_identifier), |
64 sync_prefs_(sync_client_->GetPrefService()) { | 65 sync_prefs_(sync_client_->GetPrefService()) { |
65 ResetCryptoState(); | 66 ResetCryptoState(); |
66 } | 67 } |
67 | 68 |
68 SyncServiceBase::~SyncServiceBase() = default; | 69 SyncServiceBase::~SyncServiceBase() = default; |
69 | 70 |
70 void SyncServiceBase::AddObserver(SyncServiceObserver* observer) { | 71 void SyncServiceBase::AddObserver(SyncServiceObserver* observer) { |
71 DCHECK(thread_checker_.CalledOnValidThread()); | 72 DCHECK(thread_checker_.CalledOnValidThread()); |
72 observers_.AddObserver(observer); | 73 observers_.AddObserver(observer); |
73 } | 74 } |
74 | 75 |
75 void SyncServiceBase::RemoveObserver(SyncServiceObserver* observer) { | 76 void SyncServiceBase::RemoveObserver(SyncServiceObserver* observer) { |
76 DCHECK(thread_checker_.CalledOnValidThread()); | 77 DCHECK(thread_checker_.CalledOnValidThread()); |
77 observers_.RemoveObserver(observer); | 78 observers_.RemoveObserver(observer); |
78 } | 79 } |
79 | 80 |
| 81 // static |
| 82 base::FilePath SyncServiceBase::FormatSyncDataPath( |
| 83 const base::FilePath& base_directory) { |
| 84 return base_directory.Append(base::FilePath(kSyncDataFolderName)); |
| 85 } |
| 86 |
| 87 // static |
| 88 base::FilePath SyncServiceBase::FormatSharedModelTypeStorePath( |
| 89 const base::FilePath& base_directory) { |
| 90 return FormatSyncDataPath(base_directory) |
| 91 .Append(base::FilePath(kLevelDBFolderName)); |
| 92 } |
| 93 |
80 bool SyncServiceBase::HasObserver(const SyncServiceObserver* observer) const { | 94 bool SyncServiceBase::HasObserver(const SyncServiceObserver* observer) const { |
81 DCHECK(thread_checker_.CalledOnValidThread()); | 95 DCHECK(thread_checker_.CalledOnValidThread()); |
82 return observers_.HasObserver(observer); | 96 return observers_.HasObserver(observer); |
83 } | 97 } |
84 | 98 |
85 void SyncServiceBase::NotifyObservers() { | 99 void SyncServiceBase::NotifyObservers() { |
86 for (auto& observer : observers_) { | 100 for (auto& observer : observers_) { |
87 observer.OnStateChanged(this); | 101 observer.OnStateChanged(this); |
88 } | 102 } |
89 } | 103 } |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 void SyncServiceBase::ResetCryptoState() { | 154 void SyncServiceBase::ResetCryptoState() { |
141 crypto_ = base::MakeUnique<SyncServiceCrypto>( | 155 crypto_ = base::MakeUnique<SyncServiceCrypto>( |
142 base::BindRepeating(&SyncServiceBase::NotifyObservers, | 156 base::BindRepeating(&SyncServiceBase::NotifyObservers, |
143 base::Unretained(this)), | 157 base::Unretained(this)), |
144 base::BindRepeating(&SyncService::GetPreferredDataTypes, | 158 base::BindRepeating(&SyncService::GetPreferredDataTypes, |
145 base::Unretained(this)), | 159 base::Unretained(this)), |
146 &sync_prefs_); | 160 &sync_prefs_); |
147 } | 161 } |
148 | 162 |
149 } // namespace syncer | 163 } // namespace syncer |
OLD | NEW |