Chromium Code Reviews| 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..2e8195c7232d9a23dd3649a8040aaba93c802d9d 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,14 @@ 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_)) { |
| + android_bridge_->AddDeviceListListener(this); |
|
dgozman
2014/10/02 13:21:48
You still need all the |if (android_bridge_)| chec
vkuzkokov
2014/10/03 10:53:32
Added DCHECK instead.
|
| } |
| 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 +327,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 +394,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 +403,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. |