| Index: chrome/browser/devtools/devtools_targets_ui.cc
|
| diff --git a/chrome/browser/devtools/devtools_targets_ui.cc b/chrome/browser/devtools/devtools_targets_ui.cc
|
| index 786ebcbc7a5da9c814975ae0796f900b1237f5af..01af98a546ab888cab851cefa0d4ca23a47ddd8a 100644
|
| --- a/chrome/browser/devtools/devtools_targets_ui.cc
|
| +++ b/chrome/browser/devtools/devtools_targets_ui.cc
|
| @@ -292,7 +292,10 @@ class AdbTargetsUIHandler
|
| virtual void DeviceListChanged(
|
| const DevToolsAndroidBridge::RemoteDevices& devices) OVERRIDE;
|
|
|
| + DevToolsAndroidBridge* GetAndroidBridge();
|
| +
|
| Profile* profile_;
|
| + scoped_refptr<DevToolsAndroidBridge> android_bridge_;
|
|
|
| typedef std::map<std::string,
|
| scoped_refptr<DevToolsAndroidBridge::RemoteBrowser> > RemoteBrowsers;
|
| @@ -302,18 +305,15 @@ class AdbTargetsUIHandler
|
| AdbTargetsUIHandler::AdbTargetsUIHandler(const Callback& callback,
|
| Profile* profile)
|
| : DevToolsTargetsUIHandler(kTargetSourceRemote, callback),
|
| - profile_(profile) {
|
| - DevToolsAndroidBridge* android_bridge =
|
| - DevToolsAndroidBridge::Factory::GetForProfile(profile_);
|
| - if (android_bridge)
|
| - android_bridge->AddDeviceListListener(this);
|
| + profile_(profile),
|
| + android_bridge_(
|
| + DevToolsAndroidBridge::Factory::GetForProfile(profile_)) {
|
| + DCHECK(android_bridge_.get());
|
| + android_bridge_->AddDeviceListListener(this);
|
| }
|
|
|
| AdbTargetsUIHandler::~AdbTargetsUIHandler() {
|
| - DevToolsAndroidBridge* android_bridge =
|
| - DevToolsAndroidBridge::Factory::GetForProfile(profile_);
|
| - if (android_bridge)
|
| - android_bridge->RemoveDeviceListListener(this);
|
| + android_bridge_->RemoveDeviceListListener(this);
|
| }
|
|
|
| static void CallOnTarget(
|
| @@ -328,15 +328,21 @@ void AdbTargetsUIHandler::Open(
|
| const std::string& url,
|
| const DevToolsTargetsUIHandler::TargetCallback& callback) {
|
| RemoteBrowsers::iterator it = remote_browsers_.find(browser_id);
|
| - if (it != remote_browsers_.end())
|
| - it->second->Open(url, base::Bind(&CallOnTarget, callback));
|
| + if (it == remote_browsers_.end())
|
| + return;
|
| +
|
| + android_bridge_->OpenRemotePage(it->second, url,
|
| + base::Bind(&CallOnTarget, callback));
|
| }
|
|
|
| scoped_refptr<content::DevToolsAgentHost>
|
| AdbTargetsUIHandler::GetBrowserAgentHost(
|
| const std::string& browser_id) {
|
| RemoteBrowsers::iterator it = remote_browsers_.find(browser_id);
|
| - return it != remote_browsers_.end() ? it->second->GetAgentHost() : NULL;
|
| + if (it == remote_browsers_.end())
|
| + return NULL;
|
| +
|
| + return android_bridge_->GetBrowserAgentHost(it->second);
|
| }
|
|
|
| void AdbTargetsUIHandler::DeviceListChanged(
|
| @@ -389,7 +395,7 @@ void AdbTargetsUIHandler::DeviceListChanged(
|
| remote_browsers_[browser_id] = browser;
|
| browser_data->Set(kAdbPagesList, page_list);
|
| std::vector<DevToolsAndroidBridge::RemotePage*> pages =
|
| - browser->CreatePages();
|
| + android_bridge_->CreatePages(browser);
|
| for (std::vector<DevToolsAndroidBridge::RemotePage*>::iterator it =
|
| pages.begin(); it != pages.end(); ++it) {
|
| DevToolsAndroidBridge::RemotePage* page = *it;
|
| @@ -398,7 +404,7 @@ void AdbTargetsUIHandler::DeviceListChanged(
|
| target_data->SetBoolean(
|
| kAdbAttachedForeignField,
|
| target->IsAttached() &&
|
| - !DevToolsAndroidBridge::HasDevToolsWindow(target->GetId()));
|
| + !android_bridge_->HasDevToolsWindow(target->GetId()));
|
| // Pass the screen size in the target object to make sure that
|
| // the caching logic does not prevent the target item from updating
|
| // when the screen size changes.
|
|
|