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

Side by Side Diff: components/autofill/core/browser/autofill_wallet_data_type_controller.cc

Issue 2388673002: Revert of [Sync] Move //components/sync to the syncer namespace. (patchset #5 id:40001 of https://co (Closed)
Patch Set: Created 4 years, 2 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/autofill/core/browser/autofill_wallet_data_type_controller. h" 5 #include "components/autofill/core/browser/autofill_wallet_data_type_controller. h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "components/autofill/core/browser/personal_data_manager.h" 8 #include "components/autofill/core/browser/personal_data_manager.h"
9 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" 9 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
10 #include "components/autofill/core/common/autofill_pref_names.h" 10 #include "components/autofill/core/common/autofill_pref_names.h"
11 #include "components/prefs/pref_service.h" 11 #include "components/prefs/pref_service.h"
12 #include "components/sync/api/sync_error.h" 12 #include "components/sync/api/sync_error.h"
13 #include "components/sync/api/syncable_service.h" 13 #include "components/sync/api/syncable_service.h"
14 #include "components/sync/driver/sync_client.h" 14 #include "components/sync/driver/sync_client.h"
15 #include "components/sync/driver/sync_service.h" 15 #include "components/sync/driver/sync_service.h"
16 16
17 namespace browser_sync { 17 namespace browser_sync {
18 18
19 AutofillWalletDataTypeController::AutofillWalletDataTypeController( 19 AutofillWalletDataTypeController::AutofillWalletDataTypeController(
20 syncer::ModelType type, 20 syncer::ModelType type,
21 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread, 21 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread,
22 const base::Closure& dump_stack, 22 const base::Closure& dump_stack,
23 syncer::SyncClient* sync_client, 23 sync_driver::SyncClient* sync_client,
24 const scoped_refptr<autofill::AutofillWebDataService>& web_data_service) 24 const scoped_refptr<autofill::AutofillWebDataService>& web_data_service)
25 : NonUIDataTypeController(type, dump_stack, sync_client), 25 : NonUIDataTypeController(type, dump_stack, sync_client),
26 db_thread_(db_thread), 26 db_thread_(db_thread),
27 sync_client_(sync_client), 27 sync_client_(sync_client),
28 callback_registered_(false), 28 callback_registered_(false),
29 web_data_service_(web_data_service), 29 web_data_service_(web_data_service),
30 currently_enabled_(IsEnabled()) { 30 currently_enabled_(IsEnabled()) {
31 DCHECK(type == syncer::AUTOFILL_WALLET_DATA || 31 DCHECK(type == syncer::AUTOFILL_WALLET_DATA ||
32 type == syncer::AUTOFILL_WALLET_METADATA); 32 type == syncer::AUTOFILL_WALLET_METADATA);
33 pref_registrar_.Init(sync_client_->GetPrefService()); 33 pref_registrar_.Init(sync_client_->GetPrefService());
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 73
74 void AutofillWalletDataTypeController::StopModels() { 74 void AutofillWalletDataTypeController::StopModels() {
75 DCHECK(CalledOnValidThread()); 75 DCHECK(CalledOnValidThread());
76 76
77 // This function is called when shutting down (nothing is changing), when 77 // This function is called when shutting down (nothing is changing), when
78 // sync is disabled completely, or when wallet sync is disabled. In the 78 // sync is disabled completely, or when wallet sync is disabled. In the
79 // cases where wallet sync or sync in general is disabled, clear wallet cards 79 // cases where wallet sync or sync in general is disabled, clear wallet cards
80 // and addresses copied from the server. This is different than other sync 80 // and addresses copied from the server. This is different than other sync
81 // cases since this type of data reflects what's on the server rather than 81 // cases since this type of data reflects what's on the server rather than
82 // syncing local data between clients, so this extra step is required. 82 // syncing local data between clients, so this extra step is required.
83 syncer::SyncService* service = sync_client_->GetSyncService(); 83 sync_driver::SyncService* service = sync_client_->GetSyncService();
84 84
85 // CanSyncStart indicates if sync is currently enabled at all. The preferred 85 // CanSyncStart indicates if sync is currently enabled at all. The preferred
86 // data type indicates if wallet sync data/metadata is enabled, and 86 // data type indicates if wallet sync data/metadata is enabled, and
87 // currently_enabled_ indicates if the other prefs are enabled. All of these 87 // currently_enabled_ indicates if the other prefs are enabled. All of these
88 // have to be enabled to sync wallet data/metadata. 88 // have to be enabled to sync wallet data/metadata.
89 if (!service->CanSyncStart() || 89 if (!service->CanSyncStart() ||
90 !service->GetPreferredDataTypes().Has(type()) || !currently_enabled_) { 90 !service->GetPreferredDataTypes().Has(type()) || !currently_enabled_) {
91 autofill::PersonalDataManager* pdm = sync_client_->GetPersonalDataManager(); 91 autofill::PersonalDataManager* pdm = sync_client_->GetPersonalDataManager();
92 if (pdm) 92 if (pdm)
93 pdm->ClearAllServerData(); 93 pdm->ClearAllServerData();
94 } 94 }
95 } 95 }
96 96
97 bool AutofillWalletDataTypeController::ReadyForStart() const { 97 bool AutofillWalletDataTypeController::ReadyForStart() const {
98 DCHECK(CalledOnValidThread()); 98 DCHECK(CalledOnValidThread());
99 return currently_enabled_; 99 return currently_enabled_;
100 } 100 }
101 101
102 void AutofillWalletDataTypeController::OnUserPrefChanged() { 102 void AutofillWalletDataTypeController::OnUserPrefChanged() {
103 DCHECK(CalledOnValidThread()); 103 DCHECK(CalledOnValidThread());
104 104
105 bool new_enabled = IsEnabled(); 105 bool new_enabled = IsEnabled();
106 if (currently_enabled_ == new_enabled) 106 if (currently_enabled_ == new_enabled)
107 return; // No change to sync state. 107 return; // No change to sync state.
108 currently_enabled_ = new_enabled; 108 currently_enabled_ = new_enabled;
109 109
110 if (currently_enabled_) { 110 if (currently_enabled_) {
111 // The preference was just enabled. Trigger a reconfiguration. This will do 111 // The preference was just enabled. Trigger a reconfiguration. This will do
112 // nothing if the type isn't preferred. 112 // nothing if the type isn't preferred.
113 syncer::SyncService* sync_service = sync_client_->GetSyncService(); 113 sync_driver::SyncService* sync_service = sync_client_->GetSyncService();
114 sync_service->ReenableDatatype(type()); 114 sync_service->ReenableDatatype(type());
115 } else { 115 } else {
116 // Report the error (which will stop the datatype asynchronously). 116 // Report the error (which will stop the datatype asynchronously).
117 if (state() != NOT_RUNNING && state() != STOPPING) { 117 if (state() != NOT_RUNNING && state() != STOPPING) {
118 CreateErrorHandler()->OnUnrecoverableError( 118 CreateErrorHandler()->OnUnrecoverableError(
119 syncer::SyncError(FROM_HERE, syncer::SyncError::DATATYPE_POLICY_ERROR, 119 syncer::SyncError(FROM_HERE, syncer::SyncError::DATATYPE_POLICY_ERROR,
120 "Wallet syncing is disabled by policy.", type())); 120 "Wallet syncing is disabled by policy.", type()));
121 } 121 }
122 } 122 }
123 } 123 }
124 124
125 bool AutofillWalletDataTypeController::IsEnabled() { 125 bool AutofillWalletDataTypeController::IsEnabled() {
126 DCHECK(CalledOnValidThread()); 126 DCHECK(CalledOnValidThread());
127 127
128 // Require the user-visible pref to be enabled to sync Wallet data/metadata. 128 // Require the user-visible pref to be enabled to sync Wallet data/metadata.
129 PrefService* ps = sync_client_->GetPrefService(); 129 PrefService* ps = sync_client_->GetPrefService();
130 return ps->GetBoolean(autofill::prefs::kAutofillWalletImportEnabled); 130 return ps->GetBoolean(autofill::prefs::kAutofillWalletImportEnabled);
131 } 131 }
132 132
133 } // namespace browser_sync 133 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698