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

Side by Side Diff: chrome/browser/devtools/device/devtools_android_bridge.cc

Issue 278953002: DevTools: allow inspecting browsers using custom front-ends. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Manually tested end-to-end. Created 6 years, 7 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 | Annotate | Revision Log
OLDNEW
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698