| 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 "base/macros.h" | 7 #include "base/macros.h" |
| 8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
| 9 #include "chrome/browser/devtools/devtools_targets_ui.h" | 9 #include "chrome/browser/devtools/devtools_targets_ui.h" |
| 10 #include "chrome/browser/devtools/devtools_ui_bindings.h" | 10 #include "chrome/browser/devtools/devtools_ui_bindings.h" |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 const char kReloadCommand[] = "reload"; | 43 const char kReloadCommand[] = "reload"; |
| 44 const char kOpenCommand[] = "open"; | 44 const char kOpenCommand[] = "open"; |
| 45 const char kInspectBrowser[] = "inspect-browser"; | 45 const char kInspectBrowser[] = "inspect-browser"; |
| 46 const char kLocalHost[] = "localhost"; | 46 const char kLocalHost[] = "localhost"; |
| 47 | 47 |
| 48 const char kDiscoverUsbDevicesEnabledCommand[] = | 48 const char kDiscoverUsbDevicesEnabledCommand[] = |
| 49 "set-discover-usb-devices-enabled"; | 49 "set-discover-usb-devices-enabled"; |
| 50 const char kPortForwardingEnabledCommand[] = | 50 const char kPortForwardingEnabledCommand[] = |
| 51 "set-port-forwarding-enabled"; | 51 "set-port-forwarding-enabled"; |
| 52 const char kPortForwardingConfigCommand[] = "set-port-forwarding-config"; | 52 const char kPortForwardingConfigCommand[] = "set-port-forwarding-config"; |
| 53 const char kDiscoverTCPTargetsEnabledCommand[] = |
| 54 "set-discover-tcp-targets-enabled"; |
| 55 const char kTCPDiscoveryConfigCommand[] = "set-tcp-discovery-config"; |
| 53 | 56 |
| 54 const char kPortForwardingDefaultPort[] = "8080"; | 57 const char kPortForwardingDefaultPort[] = "8080"; |
| 55 const char kPortForwardingDefaultLocation[] = "localhost:8080"; | 58 const char kPortForwardingDefaultLocation[] = "localhost:8080"; |
| 56 | 59 |
| 57 // InspectMessageHandler -------------------------------------------- | 60 // InspectMessageHandler -------------------------------------------- |
| 58 | 61 |
| 59 class InspectMessageHandler : public WebUIMessageHandler { | 62 class InspectMessageHandler : public WebUIMessageHandler { |
| 60 public: | 63 public: |
| 61 explicit InspectMessageHandler(InspectUI* inspect_ui) | 64 explicit InspectMessageHandler(InspectUI* inspect_ui) |
| 62 : inspect_ui_(inspect_ui) {} | 65 : inspect_ui_(inspect_ui) {} |
| 63 ~InspectMessageHandler() override {} | 66 ~InspectMessageHandler() override {} |
| 64 | 67 |
| 65 private: | 68 private: |
| 66 // WebUIMessageHandler implementation. | 69 // WebUIMessageHandler implementation. |
| 67 void RegisterMessages() override; | 70 void RegisterMessages() override; |
| 68 | 71 |
| 69 void HandleInitUICommand(const base::ListValue* args); | 72 void HandleInitUICommand(const base::ListValue* args); |
| 70 void HandleInspectCommand(const base::ListValue* args); | 73 void HandleInspectCommand(const base::ListValue* args); |
| 71 void HandleActivateCommand(const base::ListValue* args); | 74 void HandleActivateCommand(const base::ListValue* args); |
| 72 void HandleCloseCommand(const base::ListValue* args); | 75 void HandleCloseCommand(const base::ListValue* args); |
| 73 void HandleReloadCommand(const base::ListValue* args); | 76 void HandleReloadCommand(const base::ListValue* args); |
| 74 void HandleOpenCommand(const base::ListValue* args); | 77 void HandleOpenCommand(const base::ListValue* args); |
| 75 void HandleInspectBrowserCommand(const base::ListValue* args); | 78 void HandleInspectBrowserCommand(const base::ListValue* args); |
| 76 void HandleBooleanPrefChanged(const char* pref_name, | 79 void HandleBooleanPrefChanged(const char* pref_name, |
| 77 const base::ListValue* args); | 80 const base::ListValue* args); |
| 78 void HandlePortForwardingConfigCommand(const base::ListValue* args); | 81 void HandlePortForwardingConfigCommand(const base::ListValue* args); |
| 82 void HandleTCPDiscoveryConfigCommand(const base::ListValue* args); |
| 79 | 83 |
| 80 InspectUI* inspect_ui_; | 84 InspectUI* inspect_ui_; |
| 81 | 85 |
| 82 DISALLOW_COPY_AND_ASSIGN(InspectMessageHandler); | 86 DISALLOW_COPY_AND_ASSIGN(InspectMessageHandler); |
| 83 }; | 87 }; |
| 84 | 88 |
| 85 void InspectMessageHandler::RegisterMessages() { | 89 void InspectMessageHandler::RegisterMessages() { |
| 86 web_ui()->RegisterMessageCallback(kInitUICommand, | 90 web_ui()->RegisterMessageCallback(kInitUICommand, |
| 87 base::Bind(&InspectMessageHandler::HandleInitUICommand, | 91 base::Bind(&InspectMessageHandler::HandleInitUICommand, |
| 88 base::Unretained(this))); | 92 base::Unretained(this))); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 99 base::Bind(&InspectMessageHandler::HandleBooleanPrefChanged, | 103 base::Bind(&InspectMessageHandler::HandleBooleanPrefChanged, |
| 100 base::Unretained(this), | 104 base::Unretained(this), |
| 101 &prefs::kDevToolsDiscoverUsbDevicesEnabled[0])); | 105 &prefs::kDevToolsDiscoverUsbDevicesEnabled[0])); |
| 102 web_ui()->RegisterMessageCallback(kPortForwardingEnabledCommand, | 106 web_ui()->RegisterMessageCallback(kPortForwardingEnabledCommand, |
| 103 base::Bind(&InspectMessageHandler::HandleBooleanPrefChanged, | 107 base::Bind(&InspectMessageHandler::HandleBooleanPrefChanged, |
| 104 base::Unretained(this), | 108 base::Unretained(this), |
| 105 &prefs::kDevToolsPortForwardingEnabled[0])); | 109 &prefs::kDevToolsPortForwardingEnabled[0])); |
| 106 web_ui()->RegisterMessageCallback(kPortForwardingConfigCommand, | 110 web_ui()->RegisterMessageCallback(kPortForwardingConfigCommand, |
| 107 base::Bind(&InspectMessageHandler::HandlePortForwardingConfigCommand, | 111 base::Bind(&InspectMessageHandler::HandlePortForwardingConfigCommand, |
| 108 base::Unretained(this))); | 112 base::Unretained(this))); |
| 113 web_ui()->RegisterMessageCallback(kDiscoverTCPTargetsEnabledCommand, |
| 114 base::Bind(&InspectMessageHandler::HandleBooleanPrefChanged, |
| 115 base::Unretained(this), |
| 116 &prefs::kDevToolsDiscoverTCPTargetsEnabled[0])); |
| 117 web_ui()->RegisterMessageCallback(kTCPDiscoveryConfigCommand, |
| 118 base::Bind(&InspectMessageHandler::HandleTCPDiscoveryConfigCommand, |
| 119 base::Unretained(this))); |
| 109 web_ui()->RegisterMessageCallback(kReloadCommand, | 120 web_ui()->RegisterMessageCallback(kReloadCommand, |
| 110 base::Bind(&InspectMessageHandler::HandleReloadCommand, | 121 base::Bind(&InspectMessageHandler::HandleReloadCommand, |
| 111 base::Unretained(this))); | 122 base::Unretained(this))); |
| 112 web_ui()->RegisterMessageCallback(kOpenCommand, | 123 web_ui()->RegisterMessageCallback(kOpenCommand, |
| 113 base::Bind(&InspectMessageHandler::HandleOpenCommand, | 124 base::Bind(&InspectMessageHandler::HandleOpenCommand, |
| 114 base::Unretained(this))); | 125 base::Unretained(this))); |
| 115 web_ui()->RegisterMessageCallback(kInspectBrowser, | 126 web_ui()->RegisterMessageCallback(kInspectBrowser, |
| 116 base::Bind(&InspectMessageHandler::HandleInspectBrowserCommand, | 127 base::Bind(&InspectMessageHandler::HandleInspectBrowserCommand, |
| 117 base::Unretained(this))); | 128 base::Unretained(this))); |
| 118 } | 129 } |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 const base::ListValue* args) { | 205 const base::ListValue* args) { |
| 195 Profile* profile = Profile::FromWebUI(web_ui()); | 206 Profile* profile = Profile::FromWebUI(web_ui()); |
| 196 if (!profile) | 207 if (!profile) |
| 197 return; | 208 return; |
| 198 | 209 |
| 199 const base::DictionaryValue* dict_src; | 210 const base::DictionaryValue* dict_src; |
| 200 if (args->GetSize() == 1 && args->GetDictionary(0, &dict_src)) | 211 if (args->GetSize() == 1 && args->GetDictionary(0, &dict_src)) |
| 201 profile->GetPrefs()->Set(prefs::kDevToolsPortForwardingConfig, *dict_src); | 212 profile->GetPrefs()->Set(prefs::kDevToolsPortForwardingConfig, *dict_src); |
| 202 } | 213 } |
| 203 | 214 |
| 215 void InspectMessageHandler::HandleTCPDiscoveryConfigCommand( |
| 216 const base::ListValue* args) { |
| 217 Profile* profile = Profile::FromWebUI(web_ui()); |
| 218 if (!profile) |
| 219 return; |
| 220 |
| 221 const base::ListValue* list_src; |
| 222 if (args->GetSize() == 1 && args->GetList(0, &list_src)) |
| 223 profile->GetPrefs()->Set(prefs::kDevToolsTCPDiscoveryConfig, *list_src); |
| 224 } |
| 225 |
| 204 // DevToolsUIBindingsEnabler ---------------------------------------- | 226 // DevToolsUIBindingsEnabler ---------------------------------------- |
| 205 | 227 |
| 206 class DevToolsUIBindingsEnabler | 228 class DevToolsUIBindingsEnabler |
| 207 : public content::WebContentsObserver { | 229 : public content::WebContentsObserver { |
| 208 public: | 230 public: |
| 209 DevToolsUIBindingsEnabler(WebContents* web_contents, | 231 DevToolsUIBindingsEnabler(WebContents* web_contents, |
| 210 const GURL& url); | 232 const GURL& url); |
| 211 ~DevToolsUIBindingsEnabler() override {} | 233 ~DevToolsUIBindingsEnabler() override {} |
| 212 | 234 |
| 213 DevToolsUIBindings* GetBindings(); | 235 DevToolsUIBindings* GetBindings(); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 InspectUI::~InspectUI() { | 287 InspectUI::~InspectUI() { |
| 266 StopListeningNotifications(); | 288 StopListeningNotifications(); |
| 267 } | 289 } |
| 268 | 290 |
| 269 void InspectUI::InitUI() { | 291 void InspectUI::InitUI() { |
| 270 SetPortForwardingDefaults(); | 292 SetPortForwardingDefaults(); |
| 271 StartListeningNotifications(); | 293 StartListeningNotifications(); |
| 272 UpdateDiscoverUsbDevicesEnabled(); | 294 UpdateDiscoverUsbDevicesEnabled(); |
| 273 UpdatePortForwardingEnabled(); | 295 UpdatePortForwardingEnabled(); |
| 274 UpdatePortForwardingConfig(); | 296 UpdatePortForwardingConfig(); |
| 297 UpdateTCPDiscoveryEnabled(); |
| 298 UpdateTCPDiscoveryConfig(); |
| 275 } | 299 } |
| 276 | 300 |
| 277 void InspectUI::Inspect(const std::string& source_id, | 301 void InspectUI::Inspect(const std::string& source_id, |
| 278 const std::string& target_id) { | 302 const std::string& target_id) { |
| 279 scoped_refptr<DevToolsAgentHost> target = FindTarget(source_id, target_id); | 303 scoped_refptr<DevToolsAgentHost> target = FindTarget(source_id, target_id); |
| 280 if (target) { | 304 if (target) { |
| 281 const std::string target_type = target->GetType(); | 305 const std::string target_type = target->GetType(); |
| 282 target->Inspect(); | 306 target->Inspect(); |
| 283 ForceUpdateIfNeeded(source_id, target_type); | 307 ForceUpdateIfNeeded(source_id, target_type); |
| 284 } | 308 } |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 pref_change_registrar_.Init(profile->GetPrefs()); | 427 pref_change_registrar_.Init(profile->GetPrefs()); |
| 404 pref_change_registrar_.Add(prefs::kDevToolsDiscoverUsbDevicesEnabled, | 428 pref_change_registrar_.Add(prefs::kDevToolsDiscoverUsbDevicesEnabled, |
| 405 base::Bind(&InspectUI::UpdateDiscoverUsbDevicesEnabled, | 429 base::Bind(&InspectUI::UpdateDiscoverUsbDevicesEnabled, |
| 406 base::Unretained(this))); | 430 base::Unretained(this))); |
| 407 pref_change_registrar_.Add(prefs::kDevToolsPortForwardingEnabled, | 431 pref_change_registrar_.Add(prefs::kDevToolsPortForwardingEnabled, |
| 408 base::Bind(&InspectUI::UpdatePortForwardingEnabled, | 432 base::Bind(&InspectUI::UpdatePortForwardingEnabled, |
| 409 base::Unretained(this))); | 433 base::Unretained(this))); |
| 410 pref_change_registrar_.Add(prefs::kDevToolsPortForwardingConfig, | 434 pref_change_registrar_.Add(prefs::kDevToolsPortForwardingConfig, |
| 411 base::Bind(&InspectUI::UpdatePortForwardingConfig, | 435 base::Bind(&InspectUI::UpdatePortForwardingConfig, |
| 412 base::Unretained(this))); | 436 base::Unretained(this))); |
| 437 pref_change_registrar_.Add(prefs::kDevToolsDiscoverTCPTargetsEnabled, |
| 438 base::Bind(&InspectUI::UpdateTCPDiscoveryEnabled, |
| 439 base::Unretained(this))); |
| 440 pref_change_registrar_.Add(prefs::kDevToolsTCPDiscoveryConfig, |
| 441 base::Bind(&InspectUI::UpdateTCPDiscoveryConfig, |
| 442 base::Unretained(this))); |
| 413 } | 443 } |
| 414 | 444 |
| 415 void InspectUI::StopListeningNotifications() { | 445 void InspectUI::StopListeningNotifications() { |
| 416 if (target_handlers_.empty()) | 446 if (target_handlers_.empty()) |
| 417 return; | 447 return; |
| 418 | 448 |
| 419 base::STLDeleteValues(&target_handlers_); | 449 base::STLDeleteValues(&target_handlers_); |
| 420 | 450 |
| 421 port_status_serializer_.reset(); | 451 port_status_serializer_.reset(); |
| 422 | 452 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 444 "updatePortForwardingEnabled", | 474 "updatePortForwardingEnabled", |
| 445 *GetPrefValue(prefs::kDevToolsPortForwardingEnabled)); | 475 *GetPrefValue(prefs::kDevToolsPortForwardingEnabled)); |
| 446 } | 476 } |
| 447 | 477 |
| 448 void InspectUI::UpdatePortForwardingConfig() { | 478 void InspectUI::UpdatePortForwardingConfig() { |
| 449 web_ui()->CallJavascriptFunctionUnsafe( | 479 web_ui()->CallJavascriptFunctionUnsafe( |
| 450 "updatePortForwardingConfig", | 480 "updatePortForwardingConfig", |
| 451 *GetPrefValue(prefs::kDevToolsPortForwardingConfig)); | 481 *GetPrefValue(prefs::kDevToolsPortForwardingConfig)); |
| 452 } | 482 } |
| 453 | 483 |
| 484 void InspectUI::UpdateTCPDiscoveryEnabled() { |
| 485 web_ui()->CallJavascriptFunctionUnsafe( |
| 486 "updateTCPDiscoveryEnabled", |
| 487 *GetPrefValue(prefs::kDevToolsDiscoverTCPTargetsEnabled)); |
| 488 } |
| 489 |
| 490 void InspectUI::UpdateTCPDiscoveryConfig() { |
| 491 web_ui()->CallJavascriptFunctionUnsafe( |
| 492 "updateTCPDiscoveryConfig", |
| 493 *GetPrefValue(prefs::kDevToolsTCPDiscoveryConfig)); |
| 494 } |
| 495 |
| 454 void InspectUI::SetPortForwardingDefaults() { | 496 void InspectUI::SetPortForwardingDefaults() { |
| 455 Profile* profile = Profile::FromWebUI(web_ui()); | 497 Profile* profile = Profile::FromWebUI(web_ui()); |
| 456 PrefService* prefs = profile->GetPrefs(); | 498 PrefService* prefs = profile->GetPrefs(); |
| 457 | 499 |
| 458 bool default_set; | 500 bool default_set; |
| 459 if (!GetPrefValue(prefs::kDevToolsPortForwardingDefaultSet)-> | 501 if (!GetPrefValue(prefs::kDevToolsPortForwardingDefaultSet)-> |
| 460 GetAsBoolean(&default_set) || default_set) { | 502 GetAsBoolean(&default_set) || default_set) { |
| 461 return; | 503 return; |
| 462 } | 504 } |
| 463 | 505 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 525 handler->ForceUpdate(); | 567 handler->ForceUpdate(); |
| 526 } | 568 } |
| 527 | 569 |
| 528 void InspectUI::PopulatePortStatus(const base::Value& status) { | 570 void InspectUI::PopulatePortStatus(const base::Value& status) { |
| 529 web_ui()->CallJavascriptFunctionUnsafe("populatePortStatus", status); | 571 web_ui()->CallJavascriptFunctionUnsafe("populatePortStatus", status); |
| 530 } | 572 } |
| 531 | 573 |
| 532 void InspectUI::ShowIncognitoWarning() { | 574 void InspectUI::ShowIncognitoWarning() { |
| 533 web_ui()->CallJavascriptFunctionUnsafe("showIncognitoWarning"); | 575 web_ui()->CallJavascriptFunctionUnsafe("showIncognitoWarning"); |
| 534 } | 576 } |
| OLD | NEW |