Chromium Code Reviews| Index: chrome/browser/devtools/devtools_window.cc |
| diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc |
| index 48783235d1cfe257f720d7228b43419a22283e74..1cedaea9bdc196333e08bdc181cdbaa83a5f18e0 100644 |
| --- a/chrome/browser/devtools/devtools_window.cc |
| +++ b/chrome/browser/devtools/devtools_window.cc |
| @@ -24,9 +24,10 @@ |
| #include "chrome/browser/themes/theme_service.h" |
| #include "chrome/browser/themes/theme_service_factory.h" |
| #include "chrome/browser/ui/browser.h" |
| -#include "chrome/browser/ui/browser_list.h" |
| +#include "chrome/browser/ui/browser_iterator.h" |
| #include "chrome/browser/ui/browser_list_impl.h" |
| #include "chrome/browser/ui/browser_window.h" |
| +#include "chrome/browser/ui/host_desktop.h" |
| #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| #include "chrome/common/chrome_notification_types.h" |
| #include "chrome/common/chrome_switches.h" |
| @@ -415,34 +416,8 @@ bool DevToolsWindow::FindInspectedBrowserAndTabIndex(Browser** browser, |
| if (!inspected_web_contents_) |
| return false; |
| - bool found = FindInspectedBrowserAndTabIndexFromBrowserList( |
| - chrome::BrowserListImpl::GetInstance(chrome::HOST_DESKTOP_TYPE_NATIVE), |
| - browser, |
| - tab); |
| - // On Windows 8 we can have the desktop environment and the ASH environment |
| - // active concurrently. If we fail to find the inspected web contents in the |
| - // native browser list, then we should look in the ASH browser list. |
| -#if defined(OS_WIN) && defined(USE_AURA) |
| - if (!found) { |
| - found = FindInspectedBrowserAndTabIndexFromBrowserList( |
| - chrome::BrowserListImpl::GetInstance(chrome::HOST_DESKTOP_TYPE_ASH), |
| - browser, |
| - tab); |
| - } |
| -#endif |
| - return found; |
| -} |
| - |
| -bool DevToolsWindow::FindInspectedBrowserAndTabIndexFromBrowserList( |
| - chrome::BrowserListImpl* browser_list, |
| - Browser** browser, |
| - int* tab) { |
| - if (!inspected_web_contents_) |
| - return false; |
| - |
| - for (chrome::BrowserListImpl::const_iterator it = browser_list->begin(); |
| - it != browser_list->end(); ++it) { |
| - int tab_index = (*it)->tab_strip_model()->GetIndexOfWebContents( |
| + for (chrome::BrowserIterator it; !it.done(); it.Next()) { |
| + int tab_index = it->tab_strip_model()->GetIndexOfWebContents( |
| inspected_web_contents_); |
| if (tab_index != TabStripModel::kNoTab) { |
| *browser = *it; |
| @@ -832,8 +807,20 @@ void DevToolsWindow::OpenInNewTab(const std::string& url) { |
| if (inspected_web_contents_) { |
| inspected_web_contents_->OpenURL(params); |
| } else { |
| - for (BrowserList::const_iterator it = BrowserList::begin(); |
| - it != BrowserList::end(); ++it) { |
| + chrome::HostDesktopType host_desktop_type; |
|
pfeldman
2013/02/09 10:15:53
I am not sure I follow the code below.
Note that
gab
2013/02/09 17:38:05
Right, this code does the same thing as the previo
|
| + if (browser_) { |
| + host_desktop_type = browser_->host_desktop_type(); |
| + } else { |
| + // There should always be a browser when there are no inspected web |
| + // contents. |
| + NOTREACHED(); |
| + host_desktop_type = chrome::GetActiveDesktop(); |
| + } |
| + |
| + const chrome::BrowserListImpl* browser_list = |
| + chrome::BrowserListImpl::GetInstance(host_desktop_type); |
| + for (chrome::BrowserListImpl::const_iterator it = browser_list->begin(); |
| + it != browser_list->end(); ++it) { |
| if ((*it)->type() == Browser::TYPE_TABBED) { |
| (*it)->OpenURL(params); |
| break; |