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 25e16c2e33fc2d55826ebf51cf18e5caa2f53539..f8940f4cfeeb5872d9c7c2771c8752c13b253b5e 100644 |
--- a/chrome/browser/ui/webui/devtools_ui.cc |
+++ b/chrome/browser/ui/webui/devtools_ui.cc |
@@ -268,8 +268,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_; |
@@ -314,7 +315,7 @@ void OpenRemotePageRequest::DeviceListChanged( |
} |
bool OpenRemotePageRequest::OpenInBrowser( |
- DevToolsAndroidBridge::RemoteBrowser* browser) { |
+ scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> browser) { |
if (!browser->IsChrome()) |
return false; |
#if defined(DEBUG_DEVTOOLS) |
@@ -328,7 +329,7 @@ bool OpenRemotePageRequest::OpenInBrowser( |
} |
void OpenRemotePageRequest::RemotePageOpened( |
- DevToolsAndroidBridge::RemotePage* page) { |
+ scoped_refptr<DevToolsAndroidBridge::RemotePage> page) { |
callback_.Run(page); |
android_bridge_->RemoveDeviceListListener(this); |
delete this; |
@@ -392,17 +393,18 @@ 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); |
+ scoped_refptr<DevToolsAndroidBridge::RemotePage> my_page = page; |
dgozman
2014/09/30 09:23:48
Remove this |my_page|.
vkuzkokov
2014/10/01 09:05:18
Done.
|
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(); |
@@ -412,5 +414,9 @@ void DevToolsUI::RemotePageOpened( |
navigation_controller.LoadURLWithParams(params); |
navigation_controller.GetPendingEntry()->SetVirtualURL(virtual_url); |
- bindings_.AttachTo(page->GetTarget()->GetAgentHost()); |
+ DevToolsAndroidBridge* bridge = |
+ DevToolsAndroidBridge::Factory::GetForProfile(profile); |
+ DevToolsTargetImpl* target = bridge->CreatePageTarget(page); |
+ bindings_.AttachTo(target->GetAgentHost()); |
+ delete target; |
} |