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

Side by Side Diff: ios/chrome/browser/ui/webui/sync_internals/sync_internals_message_handler.cc

Issue 2376123003: [Sync] Move //components/sync to the syncer namespace. (Closed)
Patch Set: Rebase. 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 sync_driver::SyncService* service = GetSyncService(); 40 syncer::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 sync_driver::sync_ui_util::kRegisterForEvents, 55 syncer::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 sync_driver::sync_ui_util::kRegisterForPerTypeCounters, 60 syncer::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 sync_driver::sync_ui_util::kRequestUpdatedAboutInfo, 65 syncer::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 sync_driver::sync_ui_util::kRequestListOfTypes, 70 syncer::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 sync_driver::sync_ui_util::kGetAllNodes, 75 syncer::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 sync_driver::SyncService* service = GetSyncService(); 87 syncer::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 (sync_driver::SyncService* service = GetSyncService()) { 101 if (syncer::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(sync_driver::sync_ui_util::kTypes, type_list.release()); 129 event_details.Set(syncer::sync_ui_util::kTypes, type_list.release());
130 web_ui()->CallJavascriptFunction( 130 web_ui()->CallJavascriptFunction(
131 sync_driver::sync_ui_util::kDispatchEvent, 131 syncer::sync_ui_util::kDispatchEvent,
132 base::StringValue(sync_driver::sync_ui_util::kOnReceivedListOfTypes), 132 base::StringValue(syncer::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 sync_driver::SyncService* service = GetSyncService(); 143 syncer::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( 155 web_ui()->CallJavascriptFunction(syncer::sync_ui_util::kGetAllNodesCallback,
156 sync_driver::sync_ui_util::kGetAllNodesCallback, id, *nodes); 156 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 sync_driver::sync_ui_util::kDispatchEvent, 168 syncer::sync_ui_util::kDispatchEvent,
169 base::StringValue(sync_driver::sync_ui_util::kOnProtocolEvent), *value); 169 base::StringValue(syncer::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, sync_driver::sync_ui_util::kCommit, 175 EmitCounterUpdate(type, syncer::sync_ui_util::kCommit, counters.ToValue());
176 counters.ToValue());
177 } 176 }
178 177
179 void SyncInternalsMessageHandler::OnUpdateCountersUpdated( 178 void SyncInternalsMessageHandler::OnUpdateCountersUpdated(
180 syncer::ModelType type, 179 syncer::ModelType type,
181 const syncer::UpdateCounters& counters) { 180 const syncer::UpdateCounters& counters) {
182 EmitCounterUpdate(type, sync_driver::sync_ui_util::kUpdate, 181 EmitCounterUpdate(type, syncer::sync_ui_util::kUpdate, counters.ToValue());
183 counters.ToValue());
184 } 182 }
185 183
186 void SyncInternalsMessageHandler::OnStatusCountersUpdated( 184 void SyncInternalsMessageHandler::OnStatusCountersUpdated(
187 syncer::ModelType type, 185 syncer::ModelType type,
188 const syncer::StatusCounters& counters) { 186 const syncer::StatusCounters& counters) {
189 EmitCounterUpdate(type, sync_driver::sync_ui_util::kStatus, 187 EmitCounterUpdate(type, syncer::sync_ui_util::kStatus, counters.ToValue());
190 counters.ToValue());
191 } 188 }
192 189
193 void SyncInternalsMessageHandler::EmitCounterUpdate( 190 void SyncInternalsMessageHandler::EmitCounterUpdate(
194 syncer::ModelType type, 191 syncer::ModelType type,
195 const std::string& counter_type, 192 const std::string& counter_type,
196 std::unique_ptr<base::DictionaryValue> value) { 193 std::unique_ptr<base::DictionaryValue> value) {
197 std::unique_ptr<base::DictionaryValue> details(new base::DictionaryValue()); 194 std::unique_ptr<base::DictionaryValue> details(new base::DictionaryValue());
198 details->SetString(sync_driver::sync_ui_util::kModelType, 195 details->SetString(syncer::sync_ui_util::kModelType, ModelTypeToString(type));
199 ModelTypeToString(type)); 196 details->SetString(syncer::sync_ui_util::kCounterType, counter_type);
200 details->SetString(sync_driver::sync_ui_util::kCounterType, counter_type); 197 details->Set(syncer::sync_ui_util::kCounters, value.release());
201 details->Set(sync_driver::sync_ui_util::kCounters, value.release());
202 web_ui()->CallJavascriptFunction( 198 web_ui()->CallJavascriptFunction(
203 sync_driver::sync_ui_util::kDispatchEvent, 199 syncer::sync_ui_util::kDispatchEvent,
204 base::StringValue(sync_driver::sync_ui_util::kOnCountersUpdated), 200 base::StringValue(syncer::sync_ui_util::kOnCountersUpdated), *details);
205 *details);
206 } 201 }
207 202
208 void SyncInternalsMessageHandler::HandleJsEvent(const std::string& name, 203 void SyncInternalsMessageHandler::HandleJsEvent(const std::string& name,
209 const JsEventDetails& details) { 204 const JsEventDetails& details) {
210 DVLOG(1) << "Handling event: " << name << " with details " 205 DVLOG(1) << "Handling event: " << name << " with details "
211 << details.ToString(); 206 << details.ToString();
212 web_ui()->CallJavascriptFunction(sync_driver::sync_ui_util::kDispatchEvent, 207 web_ui()->CallJavascriptFunction(syncer::sync_ui_util::kDispatchEvent,
213 base::StringValue(name), details.Get()); 208 base::StringValue(name), details.Get());
214 } 209 }
215 210
216 void SyncInternalsMessageHandler::SendAboutInfo() { 211 void SyncInternalsMessageHandler::SendAboutInfo() {
217 ios::ChromeBrowserState* browser_state = 212 ios::ChromeBrowserState* browser_state =
218 ios::ChromeBrowserState::FromWebUIIOS(web_ui()); 213 ios::ChromeBrowserState::FromWebUIIOS(web_ui());
219 SigninManager* signin_manager = 214 SigninManager* signin_manager =
220 ios::SigninManagerFactory::GetForBrowserState(browser_state); 215 ios::SigninManagerFactory::GetForBrowserState(browser_state);
221 sync_driver::SyncService* sync_service = GetSyncService(); 216 syncer::SyncService* sync_service = GetSyncService();
222 std::unique_ptr<base::DictionaryValue> value = 217 std::unique_ptr<base::DictionaryValue> value =
223 sync_driver::sync_ui_util::ConstructAboutInformation( 218 syncer::sync_ui_util::ConstructAboutInformation(
224 sync_service, signin_manager, GetChannel()); 219 sync_service, signin_manager, GetChannel());
225 web_ui()->CallJavascriptFunction( 220 web_ui()->CallJavascriptFunction(
226 sync_driver::sync_ui_util::kDispatchEvent, 221 syncer::sync_ui_util::kDispatchEvent,
227 base::StringValue(sync_driver::sync_ui_util::kOnAboutInfoUpdated), 222 base::StringValue(syncer::sync_ui_util::kOnAboutInfoUpdated), *value);
228 *value);
229 } 223 }
230 224
231 // Gets the SyncService of the underlying original profile. May return null. 225 // Gets the SyncService of the underlying original profile. May return null.
232 sync_driver::SyncService* SyncInternalsMessageHandler::GetSyncService() { 226 syncer::SyncService* SyncInternalsMessageHandler::GetSyncService() {
233 ios::ChromeBrowserState* browser_state = 227 ios::ChromeBrowserState* browser_state =
234 ios::ChromeBrowserState::FromWebUIIOS(web_ui()); 228 ios::ChromeBrowserState::FromWebUIIOS(web_ui());
235 return IOSChromeProfileSyncServiceFactory::GetForBrowserState( 229 return IOSChromeProfileSyncServiceFactory::GetForBrowserState(
236 browser_state->GetOriginalChromeBrowserState()); 230 browser_state->GetOriginalChromeBrowserState());
237 } 231 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698