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

Side by Side Diff: ios/chrome/browser/ui/webui/sync_internals/sync_internals_message_handler.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 "ios/chrome/browser/ui/webui/sync_internals/sync_internals_message_hand ler.h" 5 #include "ios/chrome/browser/ui/webui/sync_internals/sync_internals_message_hand ler.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "components/browser_sync/profile_sync_service.h" 10 #include "components/browser_sync/profile_sync_service.h"
(...skipping 19 matching lines...) Expand all
30 30
31 SyncInternalsMessageHandler::SyncInternalsMessageHandler() 31 SyncInternalsMessageHandler::SyncInternalsMessageHandler()
32 : is_registered_(false), 32 : is_registered_(false),
33 is_registered_for_counters_(false), 33 is_registered_for_counters_(false),
34 weak_ptr_factory_(this) {} 34 weak_ptr_factory_(this) {}
35 35
36 SyncInternalsMessageHandler::~SyncInternalsMessageHandler() { 36 SyncInternalsMessageHandler::~SyncInternalsMessageHandler() {
37 if (js_controller_) 37 if (js_controller_)
38 js_controller_->RemoveJsEventHandler(this); 38 js_controller_->RemoveJsEventHandler(this);
39 39
40 syncer::SyncService* service = GetSyncService(); 40 sync_driver::SyncService* service = GetSyncService();
41 if (service && service->HasObserver(this)) { 41 if (service && service->HasObserver(this)) {
42 service->RemoveObserver(this); 42 service->RemoveObserver(this);
43 service->RemoveProtocolEventObserver(this); 43 service->RemoveProtocolEventObserver(this);
44 } 44 }
45 45
46 if (service && is_registered_for_counters_) { 46 if (service && is_registered_for_counters_) {
47 service->RemoveTypeDebugInfoObserver(this); 47 service->RemoveTypeDebugInfoObserver(this);
48 } 48 }
49 } 49 }
50 50
51 void SyncInternalsMessageHandler::RegisterMessages() { 51 void SyncInternalsMessageHandler::RegisterMessages() {
52 DCHECK_CURRENTLY_ON(web::WebThread::UI); 52 DCHECK_CURRENTLY_ON(web::WebThread::UI);
53 53
54 web_ui()->RegisterMessageCallback( 54 web_ui()->RegisterMessageCallback(
55 syncer::sync_ui_util::kRegisterForEvents, 55 sync_driver::sync_ui_util::kRegisterForEvents,
56 base::Bind(&SyncInternalsMessageHandler::HandleRegisterForEvents, 56 base::Bind(&SyncInternalsMessageHandler::HandleRegisterForEvents,
57 base::Unretained(this))); 57 base::Unretained(this)));
58 58
59 web_ui()->RegisterMessageCallback( 59 web_ui()->RegisterMessageCallback(
60 syncer::sync_ui_util::kRegisterForPerTypeCounters, 60 sync_driver::sync_ui_util::kRegisterForPerTypeCounters,
61 base::Bind(&SyncInternalsMessageHandler::HandleRegisterForPerTypeCounters, 61 base::Bind(&SyncInternalsMessageHandler::HandleRegisterForPerTypeCounters,
62 base::Unretained(this))); 62 base::Unretained(this)));
63 63
64 web_ui()->RegisterMessageCallback( 64 web_ui()->RegisterMessageCallback(
65 syncer::sync_ui_util::kRequestUpdatedAboutInfo, 65 sync_driver::sync_ui_util::kRequestUpdatedAboutInfo,
66 base::Bind(&SyncInternalsMessageHandler::HandleRequestUpdatedAboutInfo, 66 base::Bind(&SyncInternalsMessageHandler::HandleRequestUpdatedAboutInfo,
67 base::Unretained(this))); 67 base::Unretained(this)));
68 68
69 web_ui()->RegisterMessageCallback( 69 web_ui()->RegisterMessageCallback(
70 syncer::sync_ui_util::kRequestListOfTypes, 70 sync_driver::sync_ui_util::kRequestListOfTypes,
71 base::Bind(&SyncInternalsMessageHandler::HandleRequestListOfTypes, 71 base::Bind(&SyncInternalsMessageHandler::HandleRequestListOfTypes,
72 base::Unretained(this))); 72 base::Unretained(this)));
73 73
74 web_ui()->RegisterMessageCallback( 74 web_ui()->RegisterMessageCallback(
75 syncer::sync_ui_util::kGetAllNodes, 75 sync_driver::sync_ui_util::kGetAllNodes,
76 base::Bind(&SyncInternalsMessageHandler::HandleGetAllNodes, 76 base::Bind(&SyncInternalsMessageHandler::HandleGetAllNodes,
77 base::Unretained(this))); 77 base::Unretained(this)));
78 } 78 }
79 79
80 void SyncInternalsMessageHandler::HandleRegisterForEvents( 80 void SyncInternalsMessageHandler::HandleRegisterForEvents(
81 const base::ListValue* args) { 81 const base::ListValue* args) {
82 DCHECK(args->empty()); 82 DCHECK(args->empty());
83 83
84 // is_registered_ flag protects us from double-registering. This could 84 // is_registered_ flag protects us from double-registering. This could
85 // happen on a page refresh, where the JavaScript gets re-run but the 85 // happen on a page refresh, where the JavaScript gets re-run but the
86 // message handler remains unchanged. 86 // message handler remains unchanged.
87 syncer::SyncService* service = GetSyncService(); 87 sync_driver::SyncService* service = GetSyncService();
88 if (service && !is_registered_) { 88 if (service && !is_registered_) {
89 service->AddObserver(this); 89 service->AddObserver(this);
90 service->AddProtocolEventObserver(this); 90 service->AddProtocolEventObserver(this);
91 js_controller_ = service->GetJsController(); 91 js_controller_ = service->GetJsController();
92 js_controller_->AddJsEventHandler(this); 92 js_controller_->AddJsEventHandler(this);
93 is_registered_ = true; 93 is_registered_ = true;
94 } 94 }
95 } 95 }
96 96
97 void SyncInternalsMessageHandler::HandleRegisterForPerTypeCounters( 97 void SyncInternalsMessageHandler::HandleRegisterForPerTypeCounters(
98 const base::ListValue* args) { 98 const base::ListValue* args) {
99 DCHECK(args->empty()); 99 DCHECK(args->empty());
100 100
101 if (syncer::SyncService* service = GetSyncService()) { 101 if (sync_driver::SyncService* service = GetSyncService()) {
102 if (!is_registered_for_counters_) { 102 if (!is_registered_for_counters_) {
103 service->AddTypeDebugInfoObserver(this); 103 service->AddTypeDebugInfoObserver(this);
104 is_registered_for_counters_ = true; 104 is_registered_for_counters_ = true;
105 } else { 105 } else {
106 // Re-register to ensure counters get re-emitted. 106 // Re-register to ensure counters get re-emitted.
107 service->RemoveTypeDebugInfoObserver(this); 107 service->RemoveTypeDebugInfoObserver(this);
108 service->AddTypeDebugInfoObserver(this); 108 service->AddTypeDebugInfoObserver(this);
109 } 109 }
110 } 110 }
111 } 111 }
112 112
113 void SyncInternalsMessageHandler::HandleRequestUpdatedAboutInfo( 113 void SyncInternalsMessageHandler::HandleRequestUpdatedAboutInfo(
114 const base::ListValue* args) { 114 const base::ListValue* args) {
115 DCHECK(args->empty()); 115 DCHECK(args->empty());
116 SendAboutInfo(); 116 SendAboutInfo();
117 } 117 }
118 118
119 void SyncInternalsMessageHandler::HandleRequestListOfTypes( 119 void SyncInternalsMessageHandler::HandleRequestListOfTypes(
120 const base::ListValue* args) { 120 const base::ListValue* args) {
121 DCHECK(args->empty()); 121 DCHECK(args->empty());
122 base::DictionaryValue event_details; 122 base::DictionaryValue event_details;
123 std::unique_ptr<base::ListValue> type_list(new base::ListValue()); 123 std::unique_ptr<base::ListValue> type_list(new base::ListValue());
124 ModelTypeSet protocol_types = syncer::ProtocolTypes(); 124 ModelTypeSet protocol_types = syncer::ProtocolTypes();
125 for (ModelTypeSet::Iterator it = protocol_types.First(); it.Good(); 125 for (ModelTypeSet::Iterator it = protocol_types.First(); it.Good();
126 it.Inc()) { 126 it.Inc()) {
127 type_list->Append(new base::StringValue(ModelTypeToString(it.Get()))); 127 type_list->Append(new base::StringValue(ModelTypeToString(it.Get())));
128 } 128 }
129 event_details.Set(syncer::sync_ui_util::kTypes, type_list.release()); 129 event_details.Set(sync_driver::sync_ui_util::kTypes, type_list.release());
130 web_ui()->CallJavascriptFunction( 130 web_ui()->CallJavascriptFunction(
131 syncer::sync_ui_util::kDispatchEvent, 131 sync_driver::sync_ui_util::kDispatchEvent,
132 base::StringValue(syncer::sync_ui_util::kOnReceivedListOfTypes), 132 base::StringValue(sync_driver::sync_ui_util::kOnReceivedListOfTypes),
133 event_details); 133 event_details);
134 } 134 }
135 135
136 void SyncInternalsMessageHandler::HandleGetAllNodes( 136 void SyncInternalsMessageHandler::HandleGetAllNodes(
137 const base::ListValue* args) { 137 const base::ListValue* args) {
138 DCHECK_EQ(1U, args->GetSize()); 138 DCHECK_EQ(1U, args->GetSize());
139 int request_id = 0; 139 int request_id = 0;
140 bool success = args->GetInteger(0, &request_id); 140 bool success = args->GetInteger(0, &request_id);
141 DCHECK(success); 141 DCHECK(success);
142 142
143 syncer::SyncService* service = GetSyncService(); 143 sync_driver::SyncService* service = GetSyncService();
144 if (service) { 144 if (service) {
145 service->GetAllNodes( 145 service->GetAllNodes(
146 base::Bind(&SyncInternalsMessageHandler::OnReceivedAllNodes, 146 base::Bind(&SyncInternalsMessageHandler::OnReceivedAllNodes,
147 weak_ptr_factory_.GetWeakPtr(), request_id)); 147 weak_ptr_factory_.GetWeakPtr(), request_id));
148 } 148 }
149 } 149 }
150 150
151 void SyncInternalsMessageHandler::OnReceivedAllNodes( 151 void SyncInternalsMessageHandler::OnReceivedAllNodes(
152 int request_id, 152 int request_id,
153 std::unique_ptr<base::ListValue> nodes) { 153 std::unique_ptr<base::ListValue> nodes) {
154 base::FundamentalValue id(request_id); 154 base::FundamentalValue id(request_id);
155 web_ui()->CallJavascriptFunction(syncer::sync_ui_util::kGetAllNodesCallback, 155 web_ui()->CallJavascriptFunction(
156 id, *nodes); 156 sync_driver::sync_ui_util::kGetAllNodesCallback, id, *nodes);
157 } 157 }
158 158
159 void SyncInternalsMessageHandler::OnStateChanged() { 159 void SyncInternalsMessageHandler::OnStateChanged() {
160 SendAboutInfo(); 160 SendAboutInfo();
161 } 161 }
162 162
163 void SyncInternalsMessageHandler::OnProtocolEvent( 163 void SyncInternalsMessageHandler::OnProtocolEvent(
164 const syncer::ProtocolEvent& event) { 164 const syncer::ProtocolEvent& event) {
165 std::unique_ptr<base::DictionaryValue> value( 165 std::unique_ptr<base::DictionaryValue> value(
166 syncer::ProtocolEvent::ToValue(event)); 166 syncer::ProtocolEvent::ToValue(event));
167 web_ui()->CallJavascriptFunction( 167 web_ui()->CallJavascriptFunction(
168 syncer::sync_ui_util::kDispatchEvent, 168 sync_driver::sync_ui_util::kDispatchEvent,
169 base::StringValue(syncer::sync_ui_util::kOnProtocolEvent), *value); 169 base::StringValue(sync_driver::sync_ui_util::kOnProtocolEvent), *value);
170 } 170 }
171 171
172 void SyncInternalsMessageHandler::OnCommitCountersUpdated( 172 void SyncInternalsMessageHandler::OnCommitCountersUpdated(
173 syncer::ModelType type, 173 syncer::ModelType type,
174 const syncer::CommitCounters& counters) { 174 const syncer::CommitCounters& counters) {
175 EmitCounterUpdate(type, syncer::sync_ui_util::kCommit, counters.ToValue()); 175 EmitCounterUpdate(type, sync_driver::sync_ui_util::kCommit,
176 counters.ToValue());
176 } 177 }
177 178
178 void SyncInternalsMessageHandler::OnUpdateCountersUpdated( 179 void SyncInternalsMessageHandler::OnUpdateCountersUpdated(
179 syncer::ModelType type, 180 syncer::ModelType type,
180 const syncer::UpdateCounters& counters) { 181 const syncer::UpdateCounters& counters) {
181 EmitCounterUpdate(type, syncer::sync_ui_util::kUpdate, counters.ToValue()); 182 EmitCounterUpdate(type, sync_driver::sync_ui_util::kUpdate,
183 counters.ToValue());
182 } 184 }
183 185
184 void SyncInternalsMessageHandler::OnStatusCountersUpdated( 186 void SyncInternalsMessageHandler::OnStatusCountersUpdated(
185 syncer::ModelType type, 187 syncer::ModelType type,
186 const syncer::StatusCounters& counters) { 188 const syncer::StatusCounters& counters) {
187 EmitCounterUpdate(type, syncer::sync_ui_util::kStatus, counters.ToValue()); 189 EmitCounterUpdate(type, sync_driver::sync_ui_util::kStatus,
190 counters.ToValue());
188 } 191 }
189 192
190 void SyncInternalsMessageHandler::EmitCounterUpdate( 193 void SyncInternalsMessageHandler::EmitCounterUpdate(
191 syncer::ModelType type, 194 syncer::ModelType type,
192 const std::string& counter_type, 195 const std::string& counter_type,
193 std::unique_ptr<base::DictionaryValue> value) { 196 std::unique_ptr<base::DictionaryValue> value) {
194 std::unique_ptr<base::DictionaryValue> details(new base::DictionaryValue()); 197 std::unique_ptr<base::DictionaryValue> details(new base::DictionaryValue());
195 details->SetString(syncer::sync_ui_util::kModelType, ModelTypeToString(type)); 198 details->SetString(sync_driver::sync_ui_util::kModelType,
196 details->SetString(syncer::sync_ui_util::kCounterType, counter_type); 199 ModelTypeToString(type));
197 details->Set(syncer::sync_ui_util::kCounters, value.release()); 200 details->SetString(sync_driver::sync_ui_util::kCounterType, counter_type);
201 details->Set(sync_driver::sync_ui_util::kCounters, value.release());
198 web_ui()->CallJavascriptFunction( 202 web_ui()->CallJavascriptFunction(
199 syncer::sync_ui_util::kDispatchEvent, 203 sync_driver::sync_ui_util::kDispatchEvent,
200 base::StringValue(syncer::sync_ui_util::kOnCountersUpdated), *details); 204 base::StringValue(sync_driver::sync_ui_util::kOnCountersUpdated),
205 *details);
201 } 206 }
202 207
203 void SyncInternalsMessageHandler::HandleJsEvent(const std::string& name, 208 void SyncInternalsMessageHandler::HandleJsEvent(const std::string& name,
204 const JsEventDetails& details) { 209 const JsEventDetails& details) {
205 DVLOG(1) << "Handling event: " << name << " with details " 210 DVLOG(1) << "Handling event: " << name << " with details "
206 << details.ToString(); 211 << details.ToString();
207 web_ui()->CallJavascriptFunction(syncer::sync_ui_util::kDispatchEvent, 212 web_ui()->CallJavascriptFunction(sync_driver::sync_ui_util::kDispatchEvent,
208 base::StringValue(name), details.Get()); 213 base::StringValue(name), details.Get());
209 } 214 }
210 215
211 void SyncInternalsMessageHandler::SendAboutInfo() { 216 void SyncInternalsMessageHandler::SendAboutInfo() {
212 ios::ChromeBrowserState* browser_state = 217 ios::ChromeBrowserState* browser_state =
213 ios::ChromeBrowserState::FromWebUIIOS(web_ui()); 218 ios::ChromeBrowserState::FromWebUIIOS(web_ui());
214 SigninManager* signin_manager = 219 SigninManager* signin_manager =
215 ios::SigninManagerFactory::GetForBrowserState(browser_state); 220 ios::SigninManagerFactory::GetForBrowserState(browser_state);
216 syncer::SyncService* sync_service = GetSyncService(); 221 sync_driver::SyncService* sync_service = GetSyncService();
217 std::unique_ptr<base::DictionaryValue> value = 222 std::unique_ptr<base::DictionaryValue> value =
218 syncer::sync_ui_util::ConstructAboutInformation( 223 sync_driver::sync_ui_util::ConstructAboutInformation(
219 sync_service, signin_manager, GetChannel()); 224 sync_service, signin_manager, GetChannel());
220 web_ui()->CallJavascriptFunction( 225 web_ui()->CallJavascriptFunction(
221 syncer::sync_ui_util::kDispatchEvent, 226 sync_driver::sync_ui_util::kDispatchEvent,
222 base::StringValue(syncer::sync_ui_util::kOnAboutInfoUpdated), *value); 227 base::StringValue(sync_driver::sync_ui_util::kOnAboutInfoUpdated),
228 *value);
223 } 229 }
224 230
225 // Gets the SyncService of the underlying original profile. May return null. 231 // Gets the SyncService of the underlying original profile. May return null.
226 syncer::SyncService* SyncInternalsMessageHandler::GetSyncService() { 232 sync_driver::SyncService* SyncInternalsMessageHandler::GetSyncService() {
227 ios::ChromeBrowserState* browser_state = 233 ios::ChromeBrowserState* browser_state =
228 ios::ChromeBrowserState::FromWebUIIOS(web_ui()); 234 ios::ChromeBrowserState::FromWebUIIOS(web_ui());
229 return IOSChromeProfileSyncServiceFactory::GetForBrowserState( 235 return IOSChromeProfileSyncServiceFactory::GetForBrowserState(
230 browser_state->GetOriginalChromeBrowserState()); 236 browser_state->GetOriginalChromeBrowserState());
231 } 237 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698