Chromium Code Reviews| Index: chrome/browser/devtools/device/devtools_android_bridge.cc |
| diff --git a/chrome/browser/devtools/device/devtools_android_bridge.cc b/chrome/browser/devtools/device/devtools_android_bridge.cc |
| index 4f6762a2c945e84de40c7c3dd36ac1ae2e21f893..a3af606ea2d483db3209080ddba1be52346f3e61 100644 |
| --- a/chrome/browser/devtools/device/devtools_android_bridge.cc |
| +++ b/chrome/browser/devtools/device/devtools_android_bridge.cc |
| @@ -66,6 +66,8 @@ const char kPageNavigateCommand[] = "Page.navigate"; |
| const int kMinVersionNewWithURL = 32; |
| const int kNewPageNavigateDelayMs = 500; |
| +const char kWebViewSocketPrefix[] = "webview_devtools_remote"; |
| + |
| bool IsWebRTCDeviceProviderEnabled() { |
| return base::CommandLine::ForCurrentProcess()->HasSwitch( |
| switches::kEnableDevToolsExperiments); |
| @@ -193,10 +195,8 @@ void DevToolsAndroidBridge::DiscoveryRequest::ReceivedPages( |
| if (value && value->GetAsList(&list_value)) { |
| for (const auto& page_value : *list_value) { |
| base::DictionaryValue* dict; |
| - if (page_value->GetAsDictionary(&dict)) { |
| - browser->pages_.push_back( |
| - new RemotePage(browser->browser_id_, *dict, browser->IsWebView())); |
| - } |
| + if (page_value->GetAsDictionary(&dict)) |
| + browser->pages_.push_back(new RemotePage(browser->browser_id_, *dict)); |
| } |
| } |
| } |
| @@ -308,16 +308,14 @@ class DevToolsAndroidBridge::AgentHostDelegate |
| DevToolsAndroidBridge* bridge, |
| const std::string& id, |
| const BrowserId& browser_id, |
| - const std::string& debug_url, |
| - bool is_web_view); |
| + const std::string& debug_url); |
| private: |
| AgentHostDelegate( |
| DevToolsAndroidBridge* bridge, |
| const std::string& id, |
| const BrowserId& browser_id, |
| - const std::string& debug_url, |
| - bool is_web_view); |
| + const std::string& debug_url); |
| ~AgentHostDelegate() override; |
| void Attach(content::DevToolsExternalAgentProxy* proxy) override; |
| void Detach() override; |
| @@ -331,7 +329,6 @@ class DevToolsAndroidBridge::AgentHostDelegate |
| BrowserId browser_id_; |
| std::string debug_url_; |
| bool socket_opened_; |
| - bool is_web_view_; |
| std::vector<std::string> pending_messages_; |
| scoped_refptr<AndroidDeviceManager::Device> device_; |
| scoped_ptr<AndroidDeviceManager::AndroidWebSocket> web_socket_; |
| @@ -346,15 +343,14 @@ DevToolsAndroidBridge::AgentHostDelegate::GetOrCreateAgentHost( |
| DevToolsAndroidBridge* bridge, |
| const std::string& id, |
| const BrowserId& browser_id, |
| - const std::string& debug_url, |
| - bool is_web_view) { |
| + const std::string& debug_url) { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| AgentHostDelegates::iterator it = bridge->host_delegates_.find(id); |
| if (it != bridge->host_delegates_.end()) |
| return it->second->agent_host_; |
| AgentHostDelegate* delegate = |
| - new AgentHostDelegate(bridge, id, browser_id, debug_url, is_web_view); |
| + new AgentHostDelegate(bridge, id, browser_id, debug_url); |
| scoped_refptr<content::DevToolsAgentHost> result = |
| content::DevToolsAgentHost::Create(delegate); |
| delegate->agent_host_ = result.get(); |
| @@ -365,14 +361,12 @@ DevToolsAndroidBridge::AgentHostDelegate::AgentHostDelegate( |
| DevToolsAndroidBridge* bridge, |
| const std::string& id, |
| const BrowserId& browser_id, |
| - const std::string& debug_url, |
| - bool is_web_view) |
| + const std::string& debug_url) |
| : id_(id), |
| bridge_(bridge->AsWeakPtr()), |
| browser_id_(browser_id), |
| debug_url_(debug_url), |
| socket_opened_(false), |
| - is_web_view_(is_web_view), |
| agent_host_(NULL), |
| proxy_(NULL) { |
| bridge_->host_delegates_[id] = this; |
| @@ -386,7 +380,7 @@ DevToolsAndroidBridge::AgentHostDelegate::~AgentHostDelegate() { |
| void DevToolsAndroidBridge::AgentHostDelegate::Attach( |
| content::DevToolsExternalAgentProxy* proxy) { |
| proxy_ = proxy; |
| - content::RecordAction(is_web_view_ ? |
| + content::RecordAction(browser_id_.second.find(kWebViewSocketPrefix) == 0 ? |
| base::UserMetricsAction("DevTools_InspectAndroidWebView") : |
| base::UserMetricsAction("DevTools_InspectAndroidPage")); |
| @@ -439,8 +433,7 @@ class DevToolsAndroidBridge::RemotePageTarget : public DevToolsTargetImpl { |
| public: |
| RemotePageTarget(DevToolsAndroidBridge* bridge, |
| const BrowserId& browser_id, |
| - const base::DictionaryValue& value, |
| - bool is_web_view_); |
| + const base::DictionaryValue& value); |
| ~RemotePageTarget() override; |
| // DevToolsTargetImpl overrides. |
| @@ -501,14 +494,12 @@ static std::string GetDebugURL(const base::DictionaryValue& value) { |
| DevToolsAndroidBridge::RemotePageTarget::RemotePageTarget( |
| DevToolsAndroidBridge* bridge, |
| const BrowserId& browser_id, |
| - const base::DictionaryValue& value, |
| - bool is_web_view) |
| + const base::DictionaryValue& value) |
| : DevToolsTargetImpl(AgentHostDelegate::GetOrCreateAgentHost( |
| bridge, |
| BuildUniqueTargetId(browser_id, value), |
| browser_id, |
| - GetDebugURL(value), |
| - is_web_view)), |
| + GetDebugURL(value))), |
| bridge_(bridge->AsWeakPtr()), |
| browser_id_(browser_id), |
| debug_url_(GetDebugURL(value)), |
| @@ -588,13 +579,10 @@ void DevToolsAndroidBridge::RemotePageTarget::Navigate( |
| // DevToolsAndroidBridge::RemotePage ------------------------------------------ |
| -DevToolsAndroidBridge::RemotePage::RemotePage( |
| - const BrowserId& browser_id, |
| - const base::DictionaryValue& dict, |
| - bool is_web_view) |
| +DevToolsAndroidBridge::RemotePage::RemotePage(const BrowserId& browser_id, |
| + const base::DictionaryValue& dict) |
| : browser_id_(browser_id), |
| frontend_url_(GetFrontendURL(dict)), |
| - is_web_view_(is_web_view), |
| dict_(dict.DeepCopy()) { |
| } |
| @@ -616,10 +604,6 @@ bool DevToolsAndroidBridge::RemoteBrowser::IsChrome() { |
| return type_ == AndroidDeviceManager::BrowserInfo::kTypeChrome; |
|
dgozman
2015/03/25 16:11:50
Let's remove |type| everywhere, move GetBrowserTyp
vkuzkokov
2015/03/26 09:46:31
Moving GetBrowserType here would require splitting
|
| } |
| -bool DevToolsAndroidBridge::RemoteBrowser::IsWebView() { |
| - return type_ == AndroidDeviceManager::BrowserInfo::kTypeWebView; |
| -} |
| - |
| std::string DevToolsAndroidBridge::RemoteBrowser::GetId() { |
| return serial() + ":" + socket(); |
| } |
| @@ -639,8 +623,7 @@ DevToolsAndroidBridge::RemoteBrowser::GetParsedVersion() { |
| DevToolsTargetImpl* |
| DevToolsAndroidBridge::CreatePageTarget(scoped_refptr<RemotePage> page) { |
| - return new RemotePageTarget(this, page->browser_id_, *page->dict_, |
| - page->is_web_view_); |
| + return new RemotePageTarget(this, page->browser_id_, *page->dict_); |
| } |
| void DevToolsAndroidBridge::SendJsonRequest( |
| @@ -684,8 +667,7 @@ DevToolsAndroidBridge::GetBrowserAgentHost( |
| this, |
| "adb:" + browser->serial() + ":" + browser->socket(), |
| browser->browser_id_, |
| - kBrowserTargetSocket, |
| - browser->IsWebView()); |
| + kBrowserTargetSocket); |
| } |
| void DevToolsAndroidBridge::SendJsonRequest( |
| @@ -718,11 +700,8 @@ void DevToolsAndroidBridge::RespondToOpenOnUIThread( |
| } |
| scoped_ptr<base::Value> value(base::JSONReader::Read(response)); |
| base::DictionaryValue* dict; |
| - if (value && value->GetAsDictionary(&dict)) { |
| - scoped_refptr<RemotePage> new_page( |
| - new RemotePage(browser->browser_id_, *dict, browser->IsWebView())); |
| - callback.Run(new_page); |
| - } |
| + if (value && value->GetAsDictionary(&dict)) |
| + callback.Run(new RemotePage(browser->browser_id_, *dict)); |
| } |
| void DevToolsAndroidBridge::OpenRemotePage( |
| @@ -785,8 +764,7 @@ void DevToolsAndroidBridge::NavigatePageOnUIThread( |
| base::DictionaryValue* dict; |
| if (value && value->GetAsDictionary(&dict)) { |
| - RemotePageTarget new_page(this, browser->browser_id_, *dict, |
| - browser->IsWebView()); |
| + RemotePageTarget new_page(this, browser->browser_id_, *dict); |
| new_page.Navigate(url, |
| base::Bind(&DevToolsAndroidBridge::RespondToOpenOnUIThread, |
| AsWeakPtr(), browser, callback, result, response)); |