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/ui/webui/inspect_ui.h" | 5 #include "chrome/browser/ui/webui/inspect_ui.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 | 67 |
68 static const char kAppTargetType[] = "app"; | 68 static const char kAppTargetType[] = "app"; |
69 static const char kExtensionTargetType[] = "extension"; | 69 static const char kExtensionTargetType[] = "extension"; |
70 static const char kPageTargetType[] = "page"; | 70 static const char kPageTargetType[] = "page"; |
71 static const char kWorkerTargetType[] = "worker"; | 71 static const char kWorkerTargetType[] = "worker"; |
72 static const char kAdbTargetType[] = "adb_page"; | 72 static const char kAdbTargetType[] = "adb_page"; |
73 | 73 |
74 static const char kInitUICommand[] = "init-ui"; | 74 static const char kInitUICommand[] = "init-ui"; |
75 static const char kInspectCommand[] = "inspect"; | 75 static const char kInspectCommand[] = "inspect"; |
76 static const char kTerminateCommand[] = "terminate"; | 76 static const char kTerminateCommand[] = "terminate"; |
| 77 static const char kReloadCommand[] = "reload"; |
| 78 static const char kOpenCommand[] = "open"; |
| 79 |
77 static const char kPortForwardingEnabledCommand[] = | 80 static const char kPortForwardingEnabledCommand[] = |
78 "set-port-forwarding-enabled"; | 81 "set-port-forwarding-enabled"; |
79 static const char kPortForwardingConfigCommand[] = "set-port-forwarding-config"; | 82 static const char kPortForwardingConfigCommand[] = "set-port-forwarding-config"; |
80 | 83 |
81 static const char kTargetTypeField[] = "type"; | 84 static const char kTargetTypeField[] = "type"; |
82 static const char kAttachedField[] = "attached"; | 85 static const char kAttachedField[] = "attached"; |
83 static const char kProcessIdField[] = "processId"; | 86 static const char kProcessIdField[] = "processId"; |
84 static const char kRouteIdField[] = "routeId"; | 87 static const char kRouteIdField[] = "routeId"; |
85 static const char kUrlField[] = "url"; | 88 static const char kUrlField[] = "url"; |
86 static const char kNameField[] = "name"; | 89 static const char kNameField[] = "name"; |
87 static const char kFaviconUrlField[] = "faviconUrl"; | 90 static const char kFaviconUrlField[] = "faviconUrl"; |
88 static const char kPidField[] = "pid"; | 91 static const char kPidField[] = "pid"; |
89 static const char kAdbSerialField[] = "adbSerial"; | 92 static const char kAdbSerialField[] = "adbSerial"; |
90 static const char kAdbModelField[] = "adbModel"; | 93 static const char kAdbModelField[] = "adbModel"; |
91 static const char kAdbBrowserNameField[] = "adbBrowserName"; | 94 static const char kAdbBrowserNameField[] = "adbBrowserName"; |
92 static const char kAdbPageIdField[] = "adbPageId"; | 95 static const char kAdbGlobalIdField[] = "adbGlobalId"; |
93 static const char kAdbBrowsersField[] = "browsers"; | 96 static const char kAdbBrowsersField[] = "browsers"; |
94 static const char kAdbPagesField[] = "pages"; | 97 static const char kAdbPagesField[] = "pages"; |
95 | 98 |
96 DictionaryValue* BuildTargetDescriptor( | 99 DictionaryValue* BuildTargetDescriptor( |
97 const std::string& target_type, | 100 const std::string& target_type, |
98 bool attached, | 101 bool attached, |
99 const GURL& url, | 102 const GURL& url, |
100 const std::string& name, | 103 const std::string& name, |
101 const GURL& favicon_url, | 104 const GURL& favicon_url, |
102 int process_id, | 105 int process_id, |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 : inspect_ui_(inspect_ui) {} | 174 : inspect_ui_(inspect_ui) {} |
172 virtual ~InspectMessageHandler() {} | 175 virtual ~InspectMessageHandler() {} |
173 | 176 |
174 private: | 177 private: |
175 // WebUIMessageHandler implementation. | 178 // WebUIMessageHandler implementation. |
176 virtual void RegisterMessages() OVERRIDE; | 179 virtual void RegisterMessages() OVERRIDE; |
177 | 180 |
178 void HandleInitUICommand(const ListValue* args); | 181 void HandleInitUICommand(const ListValue* args); |
179 void HandleInspectCommand(const ListValue* args); | 182 void HandleInspectCommand(const ListValue* args); |
180 void HandleTerminateCommand(const ListValue* args); | 183 void HandleTerminateCommand(const ListValue* args); |
| 184 void HandleReloadCommand(const ListValue* args); |
| 185 void HandleOpenCommand(const ListValue* args); |
181 void HandlePortForwardingEnabledCommand(const ListValue* args); | 186 void HandlePortForwardingEnabledCommand(const ListValue* args); |
182 void HandlePortForwardingConfigCommand(const ListValue* args); | 187 void HandlePortForwardingConfigCommand(const ListValue* args); |
183 | 188 |
184 bool GetProcessAndRouteId(const ListValue* args, | 189 static bool GetProcessAndRouteId(const ListValue* args, |
185 int* process_id, | 190 int* process_id, |
186 int* route_id); | 191 int* route_id); |
| 192 |
| 193 static bool GetRemotePageId(const ListValue* args, std::string* page_id); |
187 | 194 |
188 InspectUI* inspect_ui_; | 195 InspectUI* inspect_ui_; |
189 | 196 |
190 DISALLOW_COPY_AND_ASSIGN(InspectMessageHandler); | 197 DISALLOW_COPY_AND_ASSIGN(InspectMessageHandler); |
191 }; | 198 }; |
192 | 199 |
193 void InspectMessageHandler::RegisterMessages() { | 200 void InspectMessageHandler::RegisterMessages() { |
194 web_ui()->RegisterMessageCallback(kInitUICommand, | 201 web_ui()->RegisterMessageCallback(kInitUICommand, |
195 base::Bind(&InspectMessageHandler::HandleInitUICommand, | 202 base::Bind(&InspectMessageHandler::HandleInitUICommand, |
196 base::Unretained(this))); | 203 base::Unretained(this))); |
197 web_ui()->RegisterMessageCallback(kInspectCommand, | 204 web_ui()->RegisterMessageCallback(kInspectCommand, |
198 base::Bind(&InspectMessageHandler::HandleInspectCommand, | 205 base::Bind(&InspectMessageHandler::HandleInspectCommand, |
199 base::Unretained(this))); | 206 base::Unretained(this))); |
200 web_ui()->RegisterMessageCallback(kTerminateCommand, | 207 web_ui()->RegisterMessageCallback(kTerminateCommand, |
201 base::Bind(&InspectMessageHandler::HandleTerminateCommand, | 208 base::Bind(&InspectMessageHandler::HandleTerminateCommand, |
202 base::Unretained(this))); | 209 base::Unretained(this))); |
203 web_ui()->RegisterMessageCallback(kPortForwardingEnabledCommand, | 210 web_ui()->RegisterMessageCallback(kPortForwardingEnabledCommand, |
204 base::Bind(&InspectMessageHandler::HandlePortForwardingEnabledCommand, | 211 base::Bind(&InspectMessageHandler::HandlePortForwardingEnabledCommand, |
205 base::Unretained(this))); | 212 base::Unretained(this))); |
206 web_ui()->RegisterMessageCallback(kPortForwardingConfigCommand, | 213 web_ui()->RegisterMessageCallback(kPortForwardingConfigCommand, |
207 base::Bind(&InspectMessageHandler::HandlePortForwardingConfigCommand, | 214 base::Bind(&InspectMessageHandler::HandlePortForwardingConfigCommand, |
208 base::Unretained(this))); | 215 base::Unretained(this))); |
| 216 web_ui()->RegisterMessageCallback(kReloadCommand, |
| 217 base::Bind(&InspectMessageHandler::HandleReloadCommand, |
| 218 base::Unretained(this))); |
| 219 web_ui()->RegisterMessageCallback(kOpenCommand, |
| 220 base::Bind(&InspectMessageHandler::HandleOpenCommand, |
| 221 base::Unretained(this))); |
209 } | 222 } |
210 | 223 |
211 void InspectMessageHandler::HandleInitUICommand(const ListValue*) { | 224 void InspectMessageHandler::HandleInitUICommand(const ListValue*) { |
212 inspect_ui_->InitUI(); | 225 inspect_ui_->InitUI(); |
213 } | 226 } |
214 | 227 |
215 void InspectMessageHandler::HandleInspectCommand(const ListValue* args) { | 228 void InspectMessageHandler::HandleInspectCommand(const ListValue* args) { |
216 Profile* profile = Profile::FromWebUI(web_ui()); | 229 Profile* profile = Profile::FromWebUI(web_ui()); |
217 if (!profile) | 230 if (!profile) |
218 return; | 231 return; |
219 | 232 |
| 233 std::string page_id; |
| 234 if (GetRemotePageId(args, &page_id)) { |
| 235 inspect_ui_->InspectRemotePage(page_id); |
| 236 return; |
| 237 } |
| 238 |
220 int process_id; | 239 int process_id; |
221 int route_id; | 240 int route_id; |
222 if (!GetProcessAndRouteId(args, &process_id, &route_id) || process_id == 0 | 241 if (!GetProcessAndRouteId(args, &process_id, &route_id) || process_id == 0 |
223 || route_id == 0) { | 242 || route_id == 0) { |
224 // Check for ADB page id | |
225 const DictionaryValue* data; | |
226 std::string page_id; | |
227 if (args->GetSize() == 1 && args->GetDictionary(0, &data) && | |
228 data->GetString(kAdbPageIdField, &page_id)) { | |
229 inspect_ui_->InspectRemotePage(page_id); | |
230 } | |
231 return; | 243 return; |
232 } | 244 } |
233 | 245 |
234 RenderViewHost* rvh = RenderViewHost::FromID(process_id, route_id); | 246 RenderViewHost* rvh = RenderViewHost::FromID(process_id, route_id); |
235 if (rvh) { | 247 if (rvh) { |
236 DevToolsWindow::OpenDevToolsWindow(rvh); | 248 DevToolsWindow::OpenDevToolsWindow(rvh); |
237 return; | 249 return; |
238 } | 250 } |
239 | 251 |
240 scoped_refptr<DevToolsAgentHost> agent_host( | 252 scoped_refptr<DevToolsAgentHost> agent_host( |
241 DevToolsAgentHost::GetForWorker(process_id, route_id)); | 253 DevToolsAgentHost::GetForWorker(process_id, route_id)); |
242 if (!agent_host.get()) | 254 if (!agent_host.get()) |
243 return; | 255 return; |
244 | 256 |
245 DevToolsWindow::OpenDevToolsWindowForWorker(profile, agent_host.get()); | 257 DevToolsWindow::OpenDevToolsWindowForWorker(profile, agent_host.get()); |
246 } | 258 } |
247 | 259 |
248 static void TerminateWorker(int process_id, int route_id) { | 260 static void TerminateWorker(int process_id, int route_id) { |
249 WorkerService::GetInstance()->TerminateWorker(process_id, route_id); | 261 WorkerService::GetInstance()->TerminateWorker(process_id, route_id); |
250 } | 262 } |
251 | 263 |
252 void InspectMessageHandler::HandleTerminateCommand(const ListValue* args) { | 264 void InspectMessageHandler::HandleTerminateCommand(const ListValue* args) { |
| 265 std::string page_id; |
| 266 if (GetRemotePageId(args, &page_id)) { |
| 267 inspect_ui_->CloseRemotePage(page_id); |
| 268 return; |
| 269 } |
| 270 |
253 int process_id; | 271 int process_id; |
254 int route_id; | 272 int route_id; |
255 if (!GetProcessAndRouteId(args, &process_id, &route_id)) | 273 if (!GetProcessAndRouteId(args, &process_id, &route_id)) |
256 return; | 274 return; |
257 | 275 |
258 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, | 276 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, |
259 base::Bind(&TerminateWorker, process_id, route_id)); | 277 base::Bind(&TerminateWorker, process_id, route_id)); |
260 } | 278 } |
261 | 279 |
| 280 void InspectMessageHandler::HandleReloadCommand(const ListValue* args) { |
| 281 std::string page_id; |
| 282 if (GetRemotePageId(args, &page_id)) |
| 283 inspect_ui_->ReloadRemotePage(page_id); |
| 284 } |
| 285 |
| 286 void InspectMessageHandler::HandleOpenCommand(const ListValue* args) { |
| 287 std::string browser_id; |
| 288 std::string url; |
| 289 if (args->GetSize() == 2 && |
| 290 args->GetString(0, &browser_id) && |
| 291 args->GetString(1, &url)) { |
| 292 inspect_ui_->OpenRemotePage(browser_id, url); |
| 293 } |
| 294 } |
| 295 |
262 bool InspectMessageHandler::GetProcessAndRouteId(const ListValue* args, | 296 bool InspectMessageHandler::GetProcessAndRouteId(const ListValue* args, |
263 int* process_id, | 297 int* process_id, |
264 int* route_id) { | 298 int* route_id) { |
265 const DictionaryValue* data; | 299 const DictionaryValue* data; |
266 if (args->GetSize() == 1 && args->GetDictionary(0, &data) && | 300 if (args->GetSize() == 1 && args->GetDictionary(0, &data) && |
267 data->GetInteger(kProcessIdField, process_id) && | 301 data->GetInteger(kProcessIdField, process_id) && |
268 data->GetInteger(kRouteIdField, route_id)) { | 302 data->GetInteger(kRouteIdField, route_id)) { |
269 return true; | 303 return true; |
270 } | 304 } |
271 return false; | 305 return false; |
(...skipping 16 matching lines...) Expand all Loading... |
288 const ListValue* args) { | 322 const ListValue* args) { |
289 Profile* profile = Profile::FromWebUI(web_ui()); | 323 Profile* profile = Profile::FromWebUI(web_ui()); |
290 if (!profile) | 324 if (!profile) |
291 return; | 325 return; |
292 | 326 |
293 const DictionaryValue* dict_src; | 327 const DictionaryValue* dict_src; |
294 if (args->GetSize() == 1 && args->GetDictionary(0, &dict_src)) | 328 if (args->GetSize() == 1 && args->GetDictionary(0, &dict_src)) |
295 profile->GetPrefs()->Set(prefs::kDevToolsPortForwardingConfig, *dict_src); | 329 profile->GetPrefs()->Set(prefs::kDevToolsPortForwardingConfig, *dict_src); |
296 } | 330 } |
297 | 331 |
| 332 bool InspectMessageHandler::GetRemotePageId(const ListValue* args, |
| 333 std::string* page_id) { |
| 334 const DictionaryValue* data; |
| 335 if (args->GetSize() == 1 && args->GetDictionary(0, &data) && |
| 336 data->GetString(kAdbGlobalIdField, page_id)) { |
| 337 return true; |
| 338 } |
| 339 return false; |
| 340 } |
| 341 |
298 } // namespace | 342 } // namespace |
299 | 343 |
300 class InspectUI::WorkerCreationDestructionListener | 344 class InspectUI::WorkerCreationDestructionListener |
301 : public WorkerServiceObserver, | 345 : public WorkerServiceObserver, |
302 public base::RefCountedThreadSafe<WorkerCreationDestructionListener> { | 346 public base::RefCountedThreadSafe<WorkerCreationDestructionListener> { |
303 public: | 347 public: |
304 WorkerCreationDestructionListener() | 348 WorkerCreationDestructionListener() |
305 : discovery_ui_(NULL) {} | 349 : discovery_ui_(NULL) {} |
306 | 350 |
307 void Init(InspectUI* workers_ui) { | 351 void Init(InspectUI* workers_ui) { |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 } | 456 } |
413 | 457 |
414 void InspectUI::InspectRemotePage(const std::string& id) { | 458 void InspectUI::InspectRemotePage(const std::string& id) { |
415 RemotePages::iterator it = remote_pages_.find(id); | 459 RemotePages::iterator it = remote_pages_.find(id); |
416 if (it != remote_pages_.end()) { | 460 if (it != remote_pages_.end()) { |
417 Profile* profile = Profile::FromWebUI(web_ui()); | 461 Profile* profile = Profile::FromWebUI(web_ui()); |
418 it->second->Inspect(profile); | 462 it->second->Inspect(profile); |
419 } | 463 } |
420 } | 464 } |
421 | 465 |
| 466 void InspectUI::ReloadRemotePage(const std::string& id) { |
| 467 RemotePages::iterator it = remote_pages_.find(id); |
| 468 if (it != remote_pages_.end()) |
| 469 it->second->Reload(); |
| 470 } |
| 471 |
| 472 void InspectUI::CloseRemotePage(const std::string& id) { |
| 473 RemotePages::iterator it = remote_pages_.find(id); |
| 474 if (it != remote_pages_.end()) |
| 475 it->second->Close(); |
| 476 } |
| 477 |
| 478 void InspectUI::OpenRemotePage(const std::string& browser_id, |
| 479 const std::string& url) { |
| 480 GURL gurl(url); |
| 481 if (!gurl.is_valid()) { |
| 482 gurl = GURL("http://" + url); |
| 483 if (!gurl.is_valid()) |
| 484 return; |
| 485 } |
| 486 RemoteBrowsers::iterator it = remote_browsers_.find(browser_id); |
| 487 if (it != remote_browsers_.end()) |
| 488 it->second->Open(gurl.spec()); |
| 489 } |
| 490 |
422 void InspectUI::PopulateLists() { | 491 void InspectUI::PopulateLists() { |
423 std::set<RenderViewHost*> tab_rvhs; | 492 std::set<RenderViewHost*> tab_rvhs; |
424 for (TabContentsIterator it; !it.done(); it.Next()) | 493 for (TabContentsIterator it; !it.done(); it.Next()) |
425 tab_rvhs.insert(it->GetRenderViewHost()); | 494 tab_rvhs.insert(it->GetRenderViewHost()); |
426 | 495 |
427 scoped_ptr<ListValue> target_list(new ListValue()); | 496 scoped_ptr<ListValue> target_list(new ListValue()); |
428 | 497 |
429 std::vector<RenderViewHost*> rvh_vector = | 498 std::vector<RenderViewHost*> rvh_vector = |
430 DevToolsAgentHost::GetValidRenderViewHosts(); | 499 DevToolsAgentHost::GetValidRenderViewHosts(); |
431 | 500 |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
501 source->SetDefaultResource(IDR_INSPECT_HTML); | 570 source->SetDefaultResource(IDR_INSPECT_HTML); |
502 return source; | 571 return source; |
503 } | 572 } |
504 | 573 |
505 void InspectUI::RemoteDevicesChanged( | 574 void InspectUI::RemoteDevicesChanged( |
506 DevToolsAdbBridge::RemoteDevices* devices) { | 575 DevToolsAdbBridge::RemoteDevices* devices) { |
507 remote_pages_.clear(); | 576 remote_pages_.clear(); |
508 ListValue device_list; | 577 ListValue device_list; |
509 for (DevToolsAdbBridge::RemoteDevices::iterator dit = devices->begin(); | 578 for (DevToolsAdbBridge::RemoteDevices::iterator dit = devices->begin(); |
510 dit != devices->end(); ++dit) { | 579 dit != devices->end(); ++dit) { |
511 DevToolsAdbBridge::RemoteDevice& device = *(dit->get()); | 580 DevToolsAdbBridge::RemoteDevice* device = dit->get(); |
512 DictionaryValue* device_data = new DictionaryValue(); | 581 DictionaryValue* device_data = new DictionaryValue(); |
513 device_data->SetString(kAdbModelField, device.model()); | 582 device_data->SetString(kAdbModelField, device->model()); |
514 device_data->SetString(kAdbSerialField, device.serial()); | 583 device_data->SetString(kAdbSerialField, device->serial()); |
| 584 device_data->SetString(kAdbGlobalIdField, device->global_id()); |
515 ListValue* browser_list = new ListValue(); | 585 ListValue* browser_list = new ListValue(); |
516 device_data->Set(kAdbBrowsersField, browser_list); | 586 device_data->Set(kAdbBrowsersField, browser_list); |
517 | 587 |
518 DevToolsAdbBridge::RemoteBrowsers& browsers = device.browsers(); | 588 DevToolsAdbBridge::RemoteBrowsers& browsers = device->browsers(); |
519 for (DevToolsAdbBridge::RemoteBrowsers::iterator bit = | 589 for (DevToolsAdbBridge::RemoteBrowsers::iterator bit = |
520 browsers.begin(); bit != browsers.end(); ++bit) { | 590 browsers.begin(); bit != browsers.end(); ++bit) { |
521 DevToolsAdbBridge::RemoteBrowser& browser = *(bit->get()); | 591 DevToolsAdbBridge::RemoteBrowser* browser = bit->get(); |
522 DictionaryValue* browser_data = new DictionaryValue(); | 592 DictionaryValue* browser_data = new DictionaryValue(); |
523 browser_data->SetString(kAdbBrowserNameField, browser.name()); | 593 browser_data->SetString(kAdbBrowserNameField, browser->name()); |
| 594 browser_data->SetString(kAdbGlobalIdField, browser->global_id()); |
| 595 remote_browsers_[browser->global_id()] = browser; |
524 ListValue* page_list = new ListValue(); | 596 ListValue* page_list = new ListValue(); |
525 browser_data->Set(kAdbPagesField, page_list); | 597 browser_data->Set(kAdbPagesField, page_list); |
526 | 598 |
527 DevToolsAdbBridge::RemotePages& pages = browser.pages(); | 599 DevToolsAdbBridge::RemotePages& pages = browser->pages(); |
528 for (DevToolsAdbBridge::RemotePages::iterator it = | 600 for (DevToolsAdbBridge::RemotePages::iterator it = |
529 pages.begin(); it != pages.end(); ++it) { | 601 pages.begin(); it != pages.end(); ++it) { |
530 DevToolsAdbBridge::RemotePage* page = it->get(); | 602 DevToolsAdbBridge::RemotePage* page = it->get(); |
531 DictionaryValue* page_data = BuildTargetDescriptor(kAdbTargetType, | 603 DictionaryValue* page_data = BuildTargetDescriptor( |
532 false, GURL(page->url()), page->title(), GURL(page->favicon_url()), | 604 kAdbTargetType, page->attached(), |
| 605 GURL(page->url()), page->title(), GURL(page->favicon_url()), |
533 0, 0); | 606 0, 0); |
534 page_data->SetString(kAdbPageIdField, page->global_id()); | 607 page_data->SetString(kAdbGlobalIdField, page->global_id()); |
| 608 remote_pages_[page->global_id()] = page; |
535 page_list->Append(page_data); | 609 page_list->Append(page_data); |
536 remote_pages_[page->global_id()] = page; | |
537 } | 610 } |
538 browser_list->Append(browser_data); | 611 browser_list->Append(browser_data); |
539 } | 612 } |
540 device_list.Append(device_data); | 613 device_list.Append(device_data); |
541 } | 614 } |
542 web_ui()->CallJavascriptFunction("populateDeviceLists", device_list); | 615 web_ui()->CallJavascriptFunction("populateDeviceLists", device_list); |
543 } | 616 } |
544 | 617 |
545 void InspectUI::UpdatePortForwardingEnabled() { | 618 void InspectUI::UpdatePortForwardingEnabled() { |
546 Profile* profile = Profile::FromWebUI(web_ui()); | 619 Profile* profile = Profile::FromWebUI(web_ui()); |
547 const base::Value* value = profile->GetPrefs()->FindPreference( | 620 const base::Value* value = profile->GetPrefs()->FindPreference( |
548 prefs::kDevToolsPortForwardingEnabled)->GetValue(); | 621 prefs::kDevToolsPortForwardingEnabled)->GetValue(); |
549 web_ui()->CallJavascriptFunction("updatePortForwardingEnabled", *value); | 622 web_ui()->CallJavascriptFunction("updatePortForwardingEnabled", *value); |
550 | 623 |
551 } | 624 } |
552 | 625 |
553 void InspectUI::UpdatePortForwardingConfig() { | 626 void InspectUI::UpdatePortForwardingConfig() { |
554 Profile* profile = Profile::FromWebUI(web_ui()); | 627 Profile* profile = Profile::FromWebUI(web_ui()); |
555 const base::Value* value = profile->GetPrefs()->FindPreference( | 628 const base::Value* value = profile->GetPrefs()->FindPreference( |
556 prefs::kDevToolsPortForwardingConfig)->GetValue(); | 629 prefs::kDevToolsPortForwardingConfig)->GetValue(); |
557 web_ui()->CallJavascriptFunction("updatePortForwardingConfig", *value); | 630 web_ui()->CallJavascriptFunction("updatePortForwardingConfig", *value); |
558 } | 631 } |
OLD | NEW |