| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/devtools/device/devtools_android_bridge.h" | 5 #include "chrome/browser/devtools/device/devtools_android_bridge.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <algorithm> | 8 #include <algorithm> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 const char kClosePageRequest[] = "/json/close/%s"; | 63 const char kClosePageRequest[] = "/json/close/%s"; |
| 64 const char kNewPageRequestWithURL[] = "/json/new?%s"; | 64 const char kNewPageRequestWithURL[] = "/json/new?%s"; |
| 65 const char kActivatePageRequest[] = "/json/activate/%s"; | 65 const char kActivatePageRequest[] = "/json/activate/%s"; |
| 66 const char kBrowserTargetSocket[] = "/devtools/browser"; | 66 const char kBrowserTargetSocket[] = "/devtools/browser"; |
| 67 const int kAdbPollingIntervalMs = 1000; | 67 const int kAdbPollingIntervalMs = 1000; |
| 68 | 68 |
| 69 const char kPageReloadCommand[] = "Page.reload"; | 69 const char kPageReloadCommand[] = "Page.reload"; |
| 70 | 70 |
| 71 const char kWebViewSocketPrefix[] = "webview_devtools_remote"; | 71 const char kWebViewSocketPrefix[] = "webview_devtools_remote"; |
| 72 | 72 |
| 73 const char kChromeDiscoveryURL[] = "localhost:9222"; |
| 74 const char kNodeDiscoveryURL[] = "localhost:9229"; |
| 75 |
| 73 bool BrowserIdFromString(const std::string& browser_id_str, | 76 bool BrowserIdFromString(const std::string& browser_id_str, |
| 74 DevToolsAndroidBridge::BrowserId* browser_id) { | 77 DevToolsAndroidBridge::BrowserId* browser_id) { |
| 75 size_t colon_pos = browser_id_str.find(':'); | 78 size_t colon_pos = browser_id_str.find(':'); |
| 76 if (colon_pos == std::string::npos) | 79 if (colon_pos == std::string::npos) |
| 77 return false; | 80 return false; |
| 78 browser_id->first = browser_id_str.substr(0, colon_pos); | 81 browser_id->first = browser_id_str.substr(0, colon_pos); |
| 79 browser_id->second = browser_id_str.substr(colon_pos + 1); | 82 browser_id->second = browser_id_str.substr(colon_pos + 1); |
| 80 return true; | 83 return true; |
| 81 } | 84 } |
| 82 | 85 |
| (...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 721 : profile_(profile), | 724 : profile_(profile), |
| 722 device_manager_(AndroidDeviceManager::Create()), | 725 device_manager_(AndroidDeviceManager::Create()), |
| 723 task_scheduler_(base::Bind(&DevToolsAndroidBridge::ScheduleTaskDefault)), | 726 task_scheduler_(base::Bind(&DevToolsAndroidBridge::ScheduleTaskDefault)), |
| 724 port_forwarding_controller_(new PortForwardingController(profile, this)), | 727 port_forwarding_controller_(new PortForwardingController(profile, this)), |
| 725 weak_factory_(this) { | 728 weak_factory_(this) { |
| 726 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 729 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 727 pref_change_registrar_.Init(profile_->GetPrefs()); | 730 pref_change_registrar_.Init(profile_->GetPrefs()); |
| 728 pref_change_registrar_.Add(prefs::kDevToolsDiscoverUsbDevicesEnabled, | 731 pref_change_registrar_.Add(prefs::kDevToolsDiscoverUsbDevicesEnabled, |
| 729 base::Bind(&DevToolsAndroidBridge::CreateDeviceProviders, | 732 base::Bind(&DevToolsAndroidBridge::CreateDeviceProviders, |
| 730 base::Unretained(this))); | 733 base::Unretained(this))); |
| 731 pref_change_registrar_.Add(prefs::kDevToolsTargetDiscoveryConfig, | 734 pref_change_registrar_.Add(prefs::kDevToolsTCPDiscoveryConfig, |
| 732 base::Bind(&DevToolsAndroidBridge::CreateDeviceProviders, | 735 base::Bind(&DevToolsAndroidBridge::CreateDeviceProviders, |
| 733 base::Unretained(this))); | 736 base::Unretained(this))); |
| 737 pref_change_registrar_.Add(prefs::kDevToolsDiscoverTCPTargetsEnabled, |
| 738 base::Bind(&DevToolsAndroidBridge::CreateDeviceProviders, |
| 739 base::Unretained(this))); |
| 740 base::ListValue* target_discovery = new base::ListValue(); |
| 741 target_discovery->AppendString(kChromeDiscoveryURL); |
| 742 target_discovery->AppendString(kNodeDiscoveryURL); |
| 743 profile->GetPrefs()->SetDefaultPrefValue( |
| 744 prefs::kDevToolsTCPDiscoveryConfig, target_discovery); |
| 734 CreateDeviceProviders(); | 745 CreateDeviceProviders(); |
| 735 } | 746 } |
| 736 | 747 |
| 737 void DevToolsAndroidBridge::AddDeviceListListener( | 748 void DevToolsAndroidBridge::AddDeviceListListener( |
| 738 DeviceListListener* listener) { | 749 DeviceListListener* listener) { |
| 739 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 750 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 740 bool polling_was_off = !NeedsDeviceListPolling(); | 751 bool polling_was_off = !NeedsDeviceListPolling(); |
| 741 device_list_listeners_.push_back(listener); | 752 device_list_listeners_.push_back(listener); |
| 742 if (polling_was_off) | 753 if (polling_was_off) |
| 743 StartDeviceListPolling(); | 754 StartDeviceListPolling(); |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 947 } | 958 } |
| 948 if (targets.empty()) | 959 if (targets.empty()) |
| 949 return nullptr; | 960 return nullptr; |
| 950 return new TCPDeviceProvider(targets); | 961 return new TCPDeviceProvider(targets); |
| 951 } | 962 } |
| 952 | 963 |
| 953 void DevToolsAndroidBridge::CreateDeviceProviders() { | 964 void DevToolsAndroidBridge::CreateDeviceProviders() { |
| 954 AndroidDeviceManager::DeviceProviders device_providers; | 965 AndroidDeviceManager::DeviceProviders device_providers; |
| 955 PrefService* service = profile_->GetPrefs(); | 966 PrefService* service = profile_->GetPrefs(); |
| 956 const base::ListValue* targets = | 967 const base::ListValue* targets = |
| 957 service->GetList(prefs::kDevToolsTargetDiscoveryConfig); | 968 service->GetBoolean(prefs::kDevToolsDiscoverTCPTargetsEnabled) |
| 969 ? service->GetList(prefs::kDevToolsTCPDiscoveryConfig) |
| 970 : nullptr; |
| 958 scoped_refptr<TCPDeviceProvider> provider = CreateTCPDeviceProvider(targets); | 971 scoped_refptr<TCPDeviceProvider> provider = CreateTCPDeviceProvider(targets); |
| 959 if (tcp_provider_callback_) | 972 if (tcp_provider_callback_) |
| 960 tcp_provider_callback_.Run(provider); | 973 tcp_provider_callback_.Run(provider); |
| 961 | 974 |
| 962 if (provider) | 975 if (provider) |
| 963 device_providers.push_back(provider); | 976 device_providers.push_back(provider); |
| 964 | 977 |
| 965 #if defined(ENABLE_SERVICE_DISCOVERY) | 978 #if defined(ENABLE_SERVICE_DISCOVERY) |
| 966 device_providers.push_back(new CastDeviceProvider()); | 979 device_providers.push_back(new CastDeviceProvider()); |
| 967 #endif | 980 #endif |
| (...skipping 14 matching lines...) Expand all Loading... |
| 982 StopDeviceListPolling(); | 995 StopDeviceListPolling(); |
| 983 StartDeviceListPolling(); | 996 StartDeviceListPolling(); |
| 984 } | 997 } |
| 985 } | 998 } |
| 986 | 999 |
| 987 void DevToolsAndroidBridge::set_tcp_provider_callback_for_test( | 1000 void DevToolsAndroidBridge::set_tcp_provider_callback_for_test( |
| 988 TCPProviderCallback callback) { | 1001 TCPProviderCallback callback) { |
| 989 tcp_provider_callback_ = callback; | 1002 tcp_provider_callback_ = callback; |
| 990 CreateDeviceProviders(); | 1003 CreateDeviceProviders(); |
| 991 } | 1004 } |
| OLD | NEW |