diff options
author | gab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-14 17:13:44 +0000 |
---|---|---|
committer | gab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-14 17:13:44 +0000 |
commit | ad694eb0fddfdbcb74e31d13e473ce277c680ca8 (patch) | |
tree | 64902f246a5d97214b3a77b61444c0bc981e9b7b | |
parent | adf2a23786f8de00a908d5aae74edf71014fc485 (diff) | |
download | chromium_src-ad694eb0fddfdbcb74e31d13e473ce277c680ca8.zip chromium_src-ad694eb0fddfdbcb74e31d13e473ce277c680ca8.tar.gz chromium_src-ad694eb0fddfdbcb74e31d13e473ce277c680ca8.tar.bz2 |
Replace static/native-desktop-only BrowserList::const_reverse_iterator by desktop specific reverse iterators as appropriate.
BUG=129187
Originally committed in: https://src.chromium.org/viewvc/chrome?view=rev&revision=182463
Reverted in: https://src.chromium.org/viewvc/chrome?view=rev&revision=182476 (breaks ChromeLauncherControllerPerAppTest.BrowserMenuGeneration in unit_tests on win7_aura)
Review URL: https://codereview.chromium.org/12262019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182484 0039d316-1c4b-4281-b951-d872f2087c98
6 files changed, 31 insertions, 31 deletions
diff --git a/chrome/browser/ui/ash/launcher/app_shortcut_launcher_item_controller.cc b/chrome/browser/ui/ash/launcher/app_shortcut_launcher_item_controller.cc index 80e7623..190a91f 100644 --- a/chrome/browser/ui/ash/launcher/app_shortcut_launcher_item_controller.cc +++ b/chrome/browser/ui/ash/launcher/app_shortcut_launcher_item_controller.cc @@ -13,9 +13,10 @@ #include "chrome/browser/ui/ash/launcher/launcher_item_controller.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" -#include "chrome/browser/ui/browser_list.h" +#include "chrome/browser/ui/browser_list_impl.h" #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/extensions/native_app_window.h" +#include "chrome/browser/ui/host_desktop.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "content/public/browser/web_contents.h" @@ -144,9 +145,11 @@ AppShortcutLauncherItemController::GetRunningApplications() { const Extension* extension = launcher_controller()->GetExtensionForAppID(app_id()); - for (BrowserList::const_reverse_iterator it = - BrowserList::begin_last_active(); - it != BrowserList::end_last_active(); ++it) { + const chrome::BrowserListImpl* ash_browser_list = + chrome::BrowserListImpl::GetInstance(chrome::HOST_DESKTOP_TYPE_ASH); + for (chrome::BrowserListImpl::const_reverse_iterator it = + ash_browser_list->begin_last_active(); + it != ash_browser_list->end_last_active(); ++it) { Browser* browser = *it; TabStripModel* tab_strip = browser->tab_strip_model(); // We start to enumerate from the active index. diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.cc index 89ab329..0970835 100644 --- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.cc +++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app.cc @@ -1371,10 +1371,12 @@ ChromeLauncherControllerPerApp::GetBrowserApplicationList() { items.push_back(new ChromeLauncherAppMenuItem( l10n_util::GetStringFUTF16(IDS_LAUNCHER_CHROME_BROWSER_NAME, l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)), NULL)); + const chrome::BrowserListImpl* ash_browser_list = + chrome::BrowserListImpl::GetInstance(chrome::HOST_DESKTOP_TYPE_ASH); int index = 1; - for (BrowserList::const_reverse_iterator it = - BrowserList::begin_last_active(); - it != BrowserList::end_last_active(); ++it, ++index) { + for (chrome::BrowserListImpl::const_reverse_iterator it = + ash_browser_list->begin_last_active(); + it != ash_browser_list->end_last_active(); ++it, ++index) { Browser* browser = *it; if (browser->is_type_tabbed()) found_tabbed_browser = true; diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app_unittest.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app_unittest.cc index abc63c1..3a11c5c 100644 --- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app_unittest.cc +++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app_unittest.cc @@ -20,9 +20,11 @@ #include "chrome/browser/extensions/test_extension_system.h" #include "chrome/browser/ui/ash/chrome_launcher_prefs.h" #include "chrome/browser/ui/ash/launcher/launcher_item_controller.h" +#include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_commands.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_list.h" +#include "chrome/browser/ui/host_desktop.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/pref_names.h" @@ -44,7 +46,9 @@ const char* gmail_url = "https://mail.google.com/mail/u"; class ChromeLauncherControllerPerAppTest : public BrowserWithTestWindowTest { protected: - ChromeLauncherControllerPerAppTest() : extension_service_(NULL) { + ChromeLauncherControllerPerAppTest() + : BrowserWithTestWindowTest(chrome::HOST_DESKTOP_TYPE_ASH), + extension_service_(NULL) { } virtual void SetUp() OVERRIDE { @@ -338,8 +342,9 @@ TEST_F(ChromeLauncherControllerPerAppTest, BrowserMenuGeneration) { CheckMenuCreation(&launcher_controller, item_browser, 1, one_menu_item, true); // Create one more browser/window and check that one more was added. + Browser::CreateParams ash_params(profile(), chrome::HOST_DESKTOP_TYPE_ASH); scoped_ptr<Browser> browser2( - chrome::CreateBrowserWithTestWindowForProfile(profile())); + chrome::CreateBrowserWithTestWindowForParams(&ash_params)); chrome::NewTab(browser2.get()); BrowserList::SetLastActive(browser2.get()); string16 title2 = ASCIIToUTF16("Test2"); diff --git a/chrome/browser/ui/browser_list.cc b/chrome/browser/ui/browser_list.cc index 8ac380a..391eecc2 100644 --- a/chrome/browser/ui/browser_list.cc +++ b/chrome/browser/ui/browser_list.cc @@ -72,16 +72,6 @@ void BrowserList::SetLastActive(Browser* browser) { } // static -BrowserList::const_reverse_iterator BrowserList::begin_last_active() { - return GetNativeList()->begin_last_active(); -} - -// static -BrowserList::const_reverse_iterator BrowserList::end_last_active() { - return GetNativeList()->end_last_active(); -} - -// static bool BrowserList::IsOffTheRecordSessionActive() { return GetNativeList()->IsIncognitoWindowOpen(); } diff --git a/chrome/browser/ui/browser_list.h b/chrome/browser/ui/browser_list.h index eb48b2f..0559c62 100644 --- a/chrome/browser/ui/browser_list.h +++ b/chrome/browser/ui/browser_list.h @@ -20,7 +20,6 @@ class BrowserListObserver; class BrowserList { public: typedef std::vector<Browser*> BrowserVector; - typedef BrowserVector::const_reverse_iterator const_reverse_iterator; // Adds and removes browsers from the list they are associated with. The // browser object should be valid BEFORE these calls (for the benefit of @@ -39,13 +38,6 @@ class BrowserList { // Closes all browsers for |profile| across all desktops. static void CloseAllBrowsersWithProfile(Profile* profile); - // Returns iterated access to list of open browsers ordered by when - // they were last active. The underlying data structure is a vector - // and we push_back on recent access so a reverse iterator gives the - // latest accessed browser first. - static const_reverse_iterator begin_last_active(); - static const_reverse_iterator end_last_active(); - // Returns true if at least one incognito session is active. static bool IsOffTheRecordSessionActive(); diff --git a/chrome/browser/ui/window_sizer/window_sizer.cc b/chrome/browser/ui/window_sizer/window_sizer.cc index da1f2d4..2afc78d 100644 --- a/chrome/browser/ui/window_sizer/window_sizer.cc +++ b/chrome/browser/ui/window_sizer/window_sizer.cc @@ -11,9 +11,10 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/ash/ash_init.h" #include "chrome/browser/ui/browser.h" -#include "chrome/browser/ui/browser_list.h" +#include "chrome/browser/ui/browser_list_impl.h" #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/browser_window_state.h" +#include "chrome/browser/ui/host_desktop.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" #include "ui/gfx/screen.h" @@ -112,9 +113,16 @@ class DefaultStateProvider : public WindowSizer::StateProvider { if (browser_ && browser_->window() && !browser_->window()->IsPanel()) { window = browser_->window(); } else { - BrowserList::const_reverse_iterator it = BrowserList::begin_last_active(); - BrowserList::const_reverse_iterator end = BrowserList::end_last_active(); - for (; (it != end); ++it) { + // This code is only ran on the native desktop (on the ash desktop, + // GetBoundsOverrideAsh should take over below before this is reached). + // TODO(gab): This code should go in a native desktop specific window + // sizer as part of fixing crbug.com/175812. + const chrome::BrowserListImpl* native_browser_list = + chrome::BrowserListImpl::GetInstance( + chrome::HOST_DESKTOP_TYPE_NATIVE); + for (chrome::BrowserListImpl::const_reverse_iterator it = + native_browser_list->begin_last_active(); + it != native_browser_list->end_last_active(); ++it) { Browser* last_active = *it; if (last_active && last_active->is_type_tabbed()) { window = last_active->window(); |