| 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 e5d96c9705e72ac0415e6a10fa869546483ab8ce..91ac597981ec89e46b91ea80f830c2832fa9d7ea 100644
|
| --- a/chrome/browser/devtools/devtools_targets_ui.cc
|
| +++ b/chrome/browser/devtools/devtools_targets_ui.cc
|
| @@ -279,6 +279,8 @@ class AdbTargetsUIHandler
|
| virtual void DeviceListChanged(
|
| const DevToolsAndroidBridge::RemoteDevices& devices) OVERRIDE;
|
|
|
| + DevToolsAndroidBridge* GetAndroidBridge();
|
| +
|
| Profile* profile_;
|
|
|
| typedef std::map<std::string,
|
| @@ -290,15 +292,13 @@ AdbTargetsUIHandler::AdbTargetsUIHandler(const Callback& callback,
|
| Profile* profile)
|
| : DevToolsTargetsUIHandler(kTargetSourceRemote, callback),
|
| profile_(profile) {
|
| - DevToolsAndroidBridge* android_bridge =
|
| - DevToolsAndroidBridge::Factory::GetForProfile(profile_);
|
| + DevToolsAndroidBridge* android_bridge = GetAndroidBridge();
|
| if (android_bridge)
|
| android_bridge->AddDeviceListListener(this);
|
| }
|
|
|
| AdbTargetsUIHandler::~AdbTargetsUIHandler() {
|
| - DevToolsAndroidBridge* android_bridge =
|
| - DevToolsAndroidBridge::Factory::GetForProfile(profile_);
|
| + DevToolsAndroidBridge* android_bridge = GetAndroidBridge();
|
| if (android_bridge)
|
| android_bridge->RemoveDeviceListListener(this);
|
| }
|
| @@ -315,15 +315,24 @@ 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;
|
| +
|
| + DevToolsAndroidBridge* android_bridge = GetAndroidBridge();
|
| + if (android_bridge)
|
| + android_bridge->Open(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;
|
| +
|
| + DevToolsAndroidBridge* android_bridge = GetAndroidBridge();
|
| + return android_bridge ? android_bridge->GetBrowserAgentHost(it->second)
|
| + : NULL;
|
| }
|
|
|
| void AdbTargetsUIHandler::DeviceListChanged(
|
| @@ -331,6 +340,7 @@ void AdbTargetsUIHandler::DeviceListChanged(
|
| remote_browsers_.clear();
|
| STLDeleteValues(&targets_);
|
|
|
| + DevToolsAndroidBridge* android_bridge = GetAndroidBridge();
|
| base::ListValue device_list;
|
| for (DevToolsAndroidBridge::RemoteDevices::const_iterator dit =
|
| devices.begin(); dit != devices.end(); ++dit) {
|
| @@ -381,7 +391,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;
|
| @@ -390,7 +400,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.
|
| @@ -408,6 +418,10 @@ void AdbTargetsUIHandler::DeviceListChanged(
|
| SendSerializedTargets(device_list);
|
| }
|
|
|
| +DevToolsAndroidBridge* AdbTargetsUIHandler::GetAndroidBridge() {
|
| + return DevToolsAndroidBridge::Factory::GetForProfile(profile_);
|
| +}
|
| +
|
| } // namespace
|
|
|
| // DevToolsTargetsUIHandler ---------------------------------------------------
|
|
|