Index: chrome/browser/ui/webui/devtools_ui.cc |
diff --git a/chrome/browser/ui/webui/devtools_ui.cc b/chrome/browser/ui/webui/devtools_ui.cc |
index daa070b57dc02bd9b13e50eaa5133f2d4e52df02..0893233b2dc500134fc5e1b9a2cfdedfe19a7970 100644 |
--- a/chrome/browser/ui/webui/devtools_ui.cc |
+++ b/chrome/browser/ui/webui/devtools_ui.cc |
@@ -269,8 +269,9 @@ class OpenRemotePageRequest : public DevToolsAndroidBridge::DeviceListListener { |
virtual void DeviceListChanged( |
const DevToolsAndroidBridge::RemoteDevices& devices) override; |
- bool OpenInBrowser(DevToolsAndroidBridge::RemoteBrowser* browser); |
- void RemotePageOpened(DevToolsAndroidBridge::RemotePage* page); |
+ bool OpenInBrowser( |
+ scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> browser); |
+ void RemotePageOpened(scoped_refptr<DevToolsAndroidBridge::RemotePage> page); |
std::string url_; |
DevToolsAndroidBridge::RemotePageCallback callback_; |
@@ -315,7 +316,7 @@ void OpenRemotePageRequest::DeviceListChanged( |
} |
bool OpenRemotePageRequest::OpenInBrowser( |
- DevToolsAndroidBridge::RemoteBrowser* browser) { |
+ scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> browser) { |
if (!browser->IsChrome()) |
return false; |
#if defined(DEBUG_DEVTOOLS) |
@@ -331,7 +332,7 @@ bool OpenRemotePageRequest::OpenInBrowser( |
} |
void OpenRemotePageRequest::RemotePageOpened( |
- DevToolsAndroidBridge::RemotePage* page) { |
+ scoped_refptr<DevToolsAndroidBridge::RemotePage> page) { |
callback_.Run(page); |
android_bridge_->RemoveDeviceListListener(this); |
delete this; |
@@ -395,17 +396,17 @@ void DevToolsUI::NavigationEntryCommitted( |
} |
void DevToolsUI::RemotePageOpened( |
- const GURL& virtual_url, DevToolsAndroidBridge::RemotePage* page) { |
+ const GURL& virtual_url, |
+ scoped_refptr<DevToolsAndroidBridge::RemotePage> page) { |
// Already navigated away while connecting to remote device. |
if (remote_page_opening_url_ != virtual_url) |
return; |
- scoped_ptr<DevToolsAndroidBridge::RemotePage> my_page(page); |
remote_page_opening_url_ = GURL(); |
Profile* profile = Profile::FromWebUI(web_ui()); |
GURL url = DevToolsUIBindings::ApplyThemeToURL(profile, |
- DevToolsUI::GetProxyURL(page->GetFrontendURL())); |
+ DevToolsUI::GetProxyURL(page->frontend_url())); |
content::NavigationController& navigation_controller = |
web_ui()->GetWebContents()->GetController(); |
@@ -415,5 +416,8 @@ void DevToolsUI::RemotePageOpened( |
navigation_controller.LoadURLWithParams(params); |
navigation_controller.GetPendingEntry()->SetVirtualURL(virtual_url); |
- bindings_.AttachTo(page->GetTarget()->GetAgentHost()); |
+ DevToolsAndroidBridge* bridge = |
+ DevToolsAndroidBridge::Factory::GetForProfile(profile); |
+ scoped_ptr<DevToolsTargetImpl> target(bridge->CreatePageTarget(page)); |
+ bindings_.AttachTo(target->GetAgentHost()); |
} |