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 <map> | 7 #include <map> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 | 49 |
50 const char kUnknownModel[] = "Offline"; | 50 const char kUnknownModel[] = "Offline"; |
51 | 51 |
52 const char kPageListRequest[] = "GET /json HTTP/1.1\r\n\r\n"; | 52 const char kPageListRequest[] = "GET /json HTTP/1.1\r\n\r\n"; |
53 const char kVersionRequest[] = "GET /json/version HTTP/1.1\r\n\r\n"; | 53 const char kVersionRequest[] = "GET /json/version HTTP/1.1\r\n\r\n"; |
54 const char kClosePageRequest[] = "GET /json/close/%s HTTP/1.1\r\n\r\n"; | 54 const char kClosePageRequest[] = "GET /json/close/%s HTTP/1.1\r\n\r\n"; |
55 const char kNewPageRequest[] = "GET /json/new HTTP/1.1\r\n\r\n"; | 55 const char kNewPageRequest[] = "GET /json/new HTTP/1.1\r\n\r\n"; |
56 const char kNewPageRequestWithURL[] = "GET /json/new?%s HTTP/1.1\r\n\r\n"; | 56 const char kNewPageRequestWithURL[] = "GET /json/new?%s HTTP/1.1\r\n\r\n"; |
57 const char kActivatePageRequest[] = | 57 const char kActivatePageRequest[] = |
58 "GET /json/activate/%s HTTP/1.1\r\n\r\n"; | 58 "GET /json/activate/%s HTTP/1.1\r\n\r\n"; |
| 59 const char kBrowserTargetSocket[] = "/devtools/browser"; |
59 const int kAdbPollingIntervalMs = 1000; | 60 const int kAdbPollingIntervalMs = 1000; |
60 | 61 |
61 const char kUrlParam[] = "url"; | 62 const char kUrlParam[] = "url"; |
62 const char kPageReloadCommand[] = "Page.reload"; | 63 const char kPageReloadCommand[] = "Page.reload"; |
63 const char kPageNavigateCommand[] = "Page.navigate"; | 64 const char kPageNavigateCommand[] = "Page.navigate"; |
64 | 65 |
65 // The format used for constructing DevTools server socket names. | 66 // The format used for constructing DevTools server socket names. |
66 const char kDevToolsChannelNameFormat[] = "%s_devtools_remote"; | 67 const char kDevToolsChannelNameFormat[] = "%s_devtools_remote"; |
67 | 68 |
68 const char kChromeDefaultName[] = "Chrome"; | 69 const char kChromeDefaultName[] = "Chrome"; |
(...skipping 960 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1029 } | 1030 } |
1030 | 1031 |
1031 void DevToolsAndroidBridge::RemoteBrowser::Open( | 1032 void DevToolsAndroidBridge::RemoteBrowser::Open( |
1032 const std::string& url, | 1033 const std::string& url, |
1033 const DevToolsAndroidBridge::RemotePageCallback& callback) { | 1034 const DevToolsAndroidBridge::RemotePageCallback& callback) { |
1034 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1035 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1035 InnerOpen(url, base::Bind(&RemoteBrowser::RespondToOpenOnUIThread, | 1036 InnerOpen(url, base::Bind(&RemoteBrowser::RespondToOpenOnUIThread, |
1036 this, callback)); | 1037 this, callback)); |
1037 } | 1038 } |
1038 | 1039 |
| 1040 scoped_refptr<content::DevToolsAgentHost> |
| 1041 DevToolsAndroidBridge::RemoteBrowser::GetAgentHost() { |
| 1042 return AgentHostDelegate::GetOrCreateAgentHost( |
| 1043 "adb:" + serial_ + ":" + socket_, this, kBrowserTargetSocket); |
| 1044 } |
| 1045 |
1039 void DevToolsAndroidBridge::RemoteBrowser::RespondToOpenOnUIThread( | 1046 void DevToolsAndroidBridge::RemoteBrowser::RespondToOpenOnUIThread( |
1040 const DevToolsAndroidBridge::RemotePageCallback& callback, | 1047 const DevToolsAndroidBridge::RemotePageCallback& callback, |
1041 int result, | 1048 int result, |
1042 const std::string& response) { | 1049 const std::string& response) { |
1043 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1050 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
1044 if (result < 0) { | 1051 if (result < 0) { |
1045 callback.Run(NULL); | 1052 callback.Run(NULL); |
1046 return; | 1053 return; |
1047 } | 1054 } |
1048 scoped_ptr<base::Value> value(base::JSONReader::Read(response)); | 1055 scoped_ptr<base::Value> value(base::JSONReader::Read(response)); |
(...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1350 PrefService* service = profile_->GetPrefs(); | 1357 PrefService* service = profile_->GetPrefs(); |
1351 const PrefService::Preference* pref = | 1358 const PrefService::Preference* pref = |
1352 service->FindPreference(prefs::kDevToolsDiscoverUsbDevicesEnabled); | 1359 service->FindPreference(prefs::kDevToolsDiscoverUsbDevicesEnabled); |
1353 const base::Value* pref_value = pref->GetValue(); | 1360 const base::Value* pref_value = pref->GetValue(); |
1354 | 1361 |
1355 bool enabled; | 1362 bool enabled; |
1356 if (pref_value->GetAsBoolean(&enabled) && enabled) { | 1363 if (pref_value->GetAsBoolean(&enabled) && enabled) { |
1357 device_providers_.push_back(new UsbDeviceProvider(profile_)); | 1364 device_providers_.push_back(new UsbDeviceProvider(profile_)); |
1358 } | 1365 } |
1359 } | 1366 } |
OLD | NEW |