diff options
author | gab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-01 05:59:14 +0000 |
---|---|---|
committer | gab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-01 05:59:14 +0000 |
commit | 3539929f65938785aa42fc0138603c51d6bf28ac (patch) | |
tree | bca1b4c239c04ae453c800b810043fae58046da1 | |
parent | db556fe2511c54ab336b6f32221761bb0de993b3 (diff) | |
download | chromium_src-3539929f65938785aa42fc0138603c51d6bf28ac.zip chromium_src-3539929f65938785aa42fc0138603c51d6bf28ac.tar.gz chromium_src-3539929f65938785aa42fc0138603c51d6bf28ac.tar.bz2 |
Swap BrowserList::const_iterator for the multi-desktop aware BrowserIterator in many scenarios.
Some of these are trivial; some others will potentially require more thinking for the feature to be right (e.g., we might want "Continue where I left off" to be per-desktop, etc.), but at least they now work (i.e., do something) on multi-desktop environments.
Clear candidates for separate desktop-specific iteration were left out in this CL as well as non-trivial swaps which I'll put in their own CL.
This CL is making progress towards getting rid of BrowserList::const_iterator (non-multi-desktop aware) and removes BrowserList::iterator which was already no longer used.
BUG=129187, 170753
Review URL: https://chromiumcodereview.appspot.com/12114034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180095 0039d316-1c4b-4281-b951-d872f2087c98
21 files changed, 111 insertions, 132 deletions
diff --git a/chrome/browser/automation/automation_provider_observers.cc b/chrome/browser/automation/automation_provider_observers.cc index 2548595..9442c44 100644 --- a/chrome/browser/automation/automation_provider_observers.cc +++ b/chrome/browser/automation/automation_provider_observers.cc @@ -54,6 +54,7 @@ #include "chrome/browser/sessions/tab_restore_service.h" #include "chrome/browser/sessions/tab_restore_service_factory.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/find_bar/find_notification_details.h" @@ -2321,10 +2322,8 @@ AllViewsStoppedLoadingObserver::AllViewsStoppedLoadingObserver( registrar_.Add(this, content::NOTIFICATION_LOAD_STOP, content::NotificationService::AllSources()); - for (BrowserList::const_iterator iter = BrowserList::begin(); - iter != BrowserList::end(); - ++iter) { - Browser* browser = *iter; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { WebContents* web_contents = browser->tab_strip_model()->GetWebContentsAt(i); diff --git a/chrome/browser/automation/automation_util.cc b/chrome/browser/automation/automation_util.cc index 288a9d9..62cedf9 100644 --- a/chrome/browser/automation/automation_util.cc +++ b/chrome/browser/automation/automation_util.cc @@ -26,6 +26,7 @@ #include "chrome/browser/sessions/session_tab_helper.h" #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog_queue.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/browser/view_type_utils.h" @@ -204,9 +205,8 @@ Profile* GetCurrentProfileOnChromeOS(std::string* error_message) { #endif // defined(OS_CHROMEOS) Browser* GetBrowserForTab(WebContents* tab) { - BrowserList::const_iterator browser_iter = BrowserList::begin(); - for (; browser_iter != BrowserList::end(); ++browser_iter) { - Browser* browser = *browser_iter; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; for (int tab_index = 0; tab_index < browser->tab_strip_model()->count(); ++tab_index) { @@ -509,9 +509,8 @@ bool GetTabForId(const AutomationId& id, WebContents** tab) { printing::PrintPreviewDialogController* preview_controller = printing::PrintPreviewDialogController::GetInstance(); - BrowserList::const_iterator iter = BrowserList::begin(); - for (; iter != BrowserList::end(); ++iter) { - Browser* browser = *iter; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; for (int tab_index = 0; tab_index < browser->tab_strip_model()->count(); ++tab_index) { diff --git a/chrome/browser/automation/testing_automation_provider.cc b/chrome/browser/automation/testing_automation_provider.cc index ab7a535..820ae36 100644 --- a/chrome/browser/automation/testing_automation_provider.cc +++ b/chrome/browser/automation/testing_automation_provider.cc @@ -92,6 +92,7 @@ #include "chrome/browser/ui/browser_commands.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_instant_controller.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_tabstrip.h" #include "chrome/browser/ui/browser_window.h" @@ -2258,9 +2259,8 @@ void TestingAutomationProvider::GetBrowserInfo( // item per window. ListValue* windows = new ListValue; int windex = 0; - for (BrowserList::const_iterator it = BrowserList::begin(); - it != BrowserList::end(); - ++it, ++windex) { + + for (chrome::BrowserIterator it; !it.done(); it.Next(), ++windex) { DictionaryValue* browser_item = new DictionaryValue; Browser* browser = *it; browser_item->SetInteger("index", windex); @@ -4970,10 +4970,10 @@ void TestingAutomationProvider::GetIndicesFromTab( tab_tracker_->GetResource(id_or_handle)->GetWebContents()); id = session_tab_helper->session_id().id(); } - BrowserList::const_iterator iter = BrowserList::begin(); + chrome::BrowserIterator it; int browser_index = 0; - for (; iter != BrowserList::end(); ++iter, ++browser_index) { - Browser* browser = *iter; + for (; !it.done(); it.Next(), ++browser_index) { + Browser* browser = *it; for (int tab_index = 0; tab_index < browser->tab_strip_model()->count(); ++tab_index) { @@ -5620,9 +5620,8 @@ void TestingAutomationProvider::SetCookieInBrowserContext( void TestingAutomationProvider::GetTabIds( DictionaryValue* args, IPC::Message* reply_message) { ListValue* id_list = new ListValue(); - BrowserList::const_iterator iter = BrowserList::begin(); - for (; iter != BrowserList::end(); ++iter) { - Browser* browser = *iter; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { int id = SessionTabHelper::FromWebContents( browser->tab_strip_model()->GetWebContentsAt(i))->session_id().id(); @@ -5639,9 +5638,8 @@ void TestingAutomationProvider::GetViews( ListValue* view_list = new ListValue(); printing::PrintPreviewDialogController* preview_controller = printing::PrintPreviewDialogController::GetInstance(); - BrowserList::const_iterator browser_iter = BrowserList::begin(); - for (; browser_iter != BrowserList::end(); ++browser_iter) { - Browser* browser = *browser_iter; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { WebContents* contents = browser->tab_strip_model()->GetWebContentsAt(i); DictionaryValue* dict = new DictionaryValue(); @@ -5692,9 +5690,8 @@ void TestingAutomationProvider::IsTabIdValid( return; } bool is_valid = false; - BrowserList::const_iterator iter = BrowserList::begin(); - for (; iter != BrowserList::end(); ++iter) { - Browser* browser = *iter; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { WebContents* tab = browser->tab_strip_model()->GetWebContentsAt(i); SessionTabHelper* session_tab_helper = diff --git a/chrome/browser/custom_home_pages_table_model.cc b/chrome/browser/custom_home_pages_table_model.cc index af8e86b..fca0a06 100644 --- a/chrome/browser/custom_home_pages_table_model.cc +++ b/chrome/browser/custom_home_pages_table_model.cc @@ -12,6 +12,7 @@ #include "chrome/browser/prefs/pref_service.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/common/pref_names.h" @@ -179,9 +180,8 @@ void CustomHomePagesTableModel::SetToCurrentlyOpenPages() { // And add all tabs for all open browsers with our profile. int add_index = 0; - for (BrowserList::const_iterator browser_i = BrowserList::begin(); - browser_i != BrowserList::end(); ++browser_i) { - Browser* browser = *browser_i; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; if (browser->profile() != profile_) continue; // Skip incognito browsers. diff --git a/chrome/browser/devtools/browser_list_tabcontents_provider.cc b/chrome/browser/devtools/browser_list_tabcontents_provider.cc index 53cb75e..4e461ce 100644 --- a/chrome/browser/devtools/browser_list_tabcontents_provider.cc +++ b/chrome/browser/devtools/browser_list_tabcontents_provider.cc @@ -10,6 +10,7 @@ #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_commands.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_tabstrip.h" #include "chrome/browser/ui/tab_contents/tab_contents_iterator.h" @@ -33,10 +34,9 @@ BrowserListTabContentsProvider::~BrowserListTabContentsProvider() { std::string BrowserListTabContentsProvider::GetDiscoveryPageHTML() { std::set<Profile*> profiles; - for (BrowserList::const_iterator it = BrowserList::begin(), - end = BrowserList::end(); it != end; ++it) { + for (chrome::BrowserIterator it; !it.done(); it.Next()) profiles.insert((*it)->profile()); - } + for (std::set<Profile*>::iterator it = profiles.begin(); it != profiles.end(); ++it) { history::TopSites* ts = (*it)->GetTopSites(); @@ -66,8 +66,7 @@ FilePath BrowserListTabContentsProvider::GetDebugFrontendDir() { std::string BrowserListTabContentsProvider::GetPageThumbnailData( const GURL& url) { - for (BrowserList::const_iterator it = BrowserList::begin(), - end = BrowserList::end(); it != end; ++it) { + for (chrome::BrowserIterator it; !it.done(); it.Next()) { Profile* profile = (*it)->profile(); history::TopSites* top_sites = profile->GetTopSites(); if (!top_sites) diff --git a/chrome/browser/extensions/api/cookies/cookies_api.cc b/chrome/browser/extensions/api/cookies/cookies_api.cc index 26d401e..f3a4a35 100644 --- a/chrome/browser/extensions/api/cookies/cookies_api.cc +++ b/chrome/browser/extensions/api/cookies/cookies_api.cc @@ -21,7 +21,7 @@ #include "chrome/browser/extensions/extension_system.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" -#include "chrome/browser/ui/browser_list.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/common/chrome_notification_types.h" #include "chrome/common/extensions/api/cookies.h" #include "chrome/common/extensions/extension.h" @@ -513,9 +513,8 @@ bool CookiesGetAllCookieStoresFunction::RunImpl() { // Iterate through all browser instances, and for each browser, // add its tab IDs to either the regular or incognito tab ID list depending // whether the browser is regular or incognito. - for (BrowserList::const_iterator iter = BrowserList::begin(); - iter != BrowserList::end(); ++iter) { - Browser* browser = *iter; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; if (browser->profile() == original_profile) { cookies_helpers::AppendToTabIdList(browser, original_tab_ids.get()); } else if (incognito_tab_ids.get() && diff --git a/chrome/browser/extensions/api/tabs/tabs_api.cc b/chrome/browser/extensions/api/tabs/tabs_api.cc index 3f72ba9..315b72b 100644 --- a/chrome/browser/extensions/api/tabs/tabs_api.cc +++ b/chrome/browser/extensions/api/tabs/tabs_api.cc @@ -38,7 +38,7 @@ #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/browser_iterator.h" #include "chrome/browser/ui/browser_navigator.h" #include "chrome/browser/ui/browser_tabstrip.h" #include "chrome/browser/ui/browser_window.h" @@ -121,13 +121,14 @@ Browser* GetBrowserInProfileWithId(Profile* profile, Profile* incognito_profile = include_incognito && profile->HasOffTheRecordProfile() ? profile->GetOffTheRecordProfile() : NULL; - for (BrowserList::const_iterator browser = BrowserList::begin(); - browser != BrowserList::end(); ++browser) { - if (((*browser)->profile() == profile || - (*browser)->profile() == incognito_profile) && - ExtensionTabUtil::GetWindowId(*browser) == window_id && - ((*browser)->window())) - return *browser; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; + if ((browser->profile() == profile || + browser->profile() == incognito_profile) && + ExtensionTabUtil::GetWindowId(browser) == window_id && + browser->window()) { + return browser; + } } if (error_message) @@ -929,36 +930,36 @@ bool TabsQueryFunction::RunImpl() { query->GetString(keys::kWindowTypeLongKey, &window_type)); ListValue* result = new ListValue(); - for (BrowserList::const_iterator browser = BrowserList::begin(); - browser != BrowserList::end(); ++browser) { - if (!profile()->IsSameProfile((*browser)->profile())) + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; + if (!profile()->IsSameProfile(browser->profile())) continue; - if (!(*browser)->window()) + if (!browser->window()) continue; - if (!include_incognito() && profile() != (*browser)->profile()) + if (!include_incognito() && profile() != browser->profile()) continue; - if (window_id >= 0 && window_id != ExtensionTabUtil::GetWindowId(*browser)) + if (window_id >= 0 && window_id != ExtensionTabUtil::GetWindowId(browser)) continue; if (window_id == extension_misc::kCurrentWindowId && - *browser != GetCurrentBrowser()) + browser != GetCurrentBrowser()) continue; - if (!MatchesQueryArg(current_window, *browser == GetCurrentBrowser())) + if (!MatchesQueryArg(current_window, browser == GetCurrentBrowser())) continue; - if (!MatchesQueryArg(focused_window, (*browser)->window()->IsActive())) + if (!MatchesQueryArg(focused_window, browser->window()->IsActive())) continue; if (!window_type.empty() && window_type != - (*browser)->extension_window_controller()->GetWindowTypeText()) + browser->extension_window_controller()->GetWindowTypeText()) continue; - TabStripModel* tab_strip = (*browser)->tab_strip_model(); + TabStripModel* tab_strip = browser->tab_strip_model(); for (int i = 0; i < tab_strip->count(); ++i) { const WebContents* web_contents = tab_strip->GetWebContentsAt(i); diff --git a/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc b/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc index e6677d1..23f07cc 100644 --- a/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc +++ b/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc @@ -15,6 +15,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/tab_contents/retargeting_details.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/view_type_utils.h" #include "chrome/common/chrome_notification_types.h" @@ -87,9 +88,8 @@ WebNavigationEventRouter::WebNavigationEventRouter(Profile* profile) content::NotificationService::AllSources()); BrowserList::AddObserver(this); - for (BrowserList::const_iterator iter = BrowserList::begin(); - iter != BrowserList::end(); ++iter) { - OnBrowserAdded(*iter); + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + OnBrowserAdded(*it); } } diff --git a/chrome/browser/extensions/browser_event_router.cc b/chrome/browser/extensions/browser_event_router.cc index c41a8dd..7b701f2 100644 --- a/chrome/browser/extensions/browser_event_router.cc +++ b/chrome/browser/extensions/browser_event_router.cc @@ -18,6 +18,7 @@ #include "chrome/browser/extensions/window_controller.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/common/extensions/api/extension_action/action_info.h" @@ -81,12 +82,11 @@ BrowserEventRouter::BrowserEventRouter(Profile* profile) // Init() can happen after the browser is running, so catch up with any // windows that already exist. - for (BrowserList::const_iterator iter = BrowserList::begin(); - iter != BrowserList::end(); ++iter) { - RegisterForBrowserNotifications(*iter); + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + RegisterForBrowserNotifications(*it); // Also catch up our internal bookkeeping of tab entries. - Browser* browser = *iter; + Browser* browser = *it; if (browser->tab_strip_model()) { for (int i = 0; i < browser->tab_strip_model()->count(); ++i) { WebContents* contents = browser->tab_strip_model()->GetWebContentsAt(i); diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc index cc609b6..2ed787d 100644 --- a/chrome/browser/extensions/extension_tab_util.cc +++ b/chrome/browser/extensions/extension_tab_util.cc @@ -12,7 +12,7 @@ #include "chrome/browser/sessions/session_id.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_iterator.h" #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/tab_contents/tab_contents_iterator.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" @@ -39,9 +39,8 @@ int ExtensionTabUtil::GetWindowId(const Browser* browser) { int ExtensionTabUtil::GetWindowIdOfTabStripModel( const TabStripModel* tab_strip_model) { - for (BrowserList::const_iterator it = BrowserList::begin(); - it != BrowserList::end(); ++it) { - if ((*it)->tab_strip_model() == tab_strip_model) + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + if (it->tab_strip_model() == tab_strip_model) return GetWindowId(*it); } return -1; @@ -159,9 +158,8 @@ bool ExtensionTabUtil::GetTabStripModel(const WebContents* web_contents, DCHECK(tab_strip_model); DCHECK(tab_index); - for (BrowserList::const_iterator it = BrowserList::begin(); - it != BrowserList::end(); ++it) { - TabStripModel* tab_strip = (*it)->tab_strip_model(); + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + TabStripModel* tab_strip = it->tab_strip_model(); int index = tab_strip->GetIndexOfWebContents(web_contents); if (index != -1) { *tab_strip_model = tab_strip; @@ -199,9 +197,8 @@ bool ExtensionTabUtil::GetTabById(int tab_id, Profile* incognito_profile = include_incognito && profile->HasOffTheRecordProfile() ? profile->GetOffTheRecordProfile() : NULL; - for (BrowserList::const_iterator iter = BrowserList::begin(); - iter != BrowserList::end(); ++iter) { - Browser* target_browser = *iter; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* target_browser = *it; if (target_browser->profile() == profile || target_browser->profile() == incognito_profile) { TabStripModel* target_tab_strip = target_browser->tab_strip_model(); diff --git a/chrome/browser/lifetime/application_lifetime.cc b/chrome/browser/lifetime/application_lifetime.cc index edab843..e5e637e 100644 --- a/chrome/browser/lifetime/application_lifetime.cc +++ b/chrome/browser/lifetime/application_lifetime.cc @@ -16,6 +16,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_tabstrip.h" #include "chrome/browser/ui/browser_window.h" @@ -52,8 +53,8 @@ namespace { // This currently checks if there is pending download, or if it needs to // handle unload handler. bool AreAllBrowsersCloseable() { - BrowserList::const_iterator browser_it = BrowserList::begin(); - if (browser_it == BrowserList::end()) + chrome::BrowserIterator browser_it; + if (browser_it.done()) return true; // If there are any downloads active, all browsers are not closeable. @@ -61,8 +62,8 @@ bool AreAllBrowsersCloseable() { return false; // Check TabsNeedBeforeUnloadFired(). - for (; browser_it != BrowserList::end(); ++browser_it) { - if ((*browser_it)->TabsNeedBeforeUnloadFired()) + for (; !browser_it.done(); browser_it.Next()) { + if (browser_it->TabsNeedBeforeUnloadFired()) return false; } return true; @@ -79,10 +80,8 @@ bool g_session_manager_requested_shutdown = true; void MarkAsCleanShutdown() { // TODO(beng): Can this use ProfileManager::GetLoadedProfiles() instead? - for (BrowserList::const_iterator i = BrowserList::begin(); - i != BrowserList::end(); ++i) { - (*i)->profile()->SetExitType(Profile::EXIT_NORMAL); - } + for (chrome::BrowserIterator it; !it.done(); it.Next()) + it->profile()->SetExitType(Profile::EXIT_NORMAL); } void AttemptExitInternal() { @@ -193,9 +192,8 @@ void AttemptUserExit() { #if !defined(OS_ANDROID) void AttemptRestart() { // TODO(beng): Can this use ProfileManager::GetLoadedProfiles instead? - BrowserList::const_iterator it; - for (it = BrowserList::begin(); it != BrowserList::end(); ++it) - content::BrowserContext::SaveSessionState((*it)->profile()); + for (chrome::BrowserIterator it; !it.done(); it.Next()) + content::BrowserContext::SaveSessionState(it->profile()); PrefService* pref_service = g_browser_process->local_state(); pref_service->SetBoolean(prefs::kWasRestarted, true); diff --git a/chrome/browser/managed_mode/managed_mode.cc b/chrome/browser/managed_mode/managed_mode.cc index 12ad663..5749d81 100644 --- a/chrome/browser/managed_mode/managed_mode.cc +++ b/chrome/browser/managed_mode/managed_mode.cc @@ -13,6 +13,7 @@ #include "chrome/browser/prefs/pref_service.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_window.h" #include "chrome/common/chrome_notification_types.h" @@ -106,10 +107,9 @@ void ManagedMode::EnterManagedModeImpl(Profile* profile, // Close all other profiles. // At this point, we shouldn't be waiting for other browsers to close (yet). DCHECK_EQ(0u, browsers_to_close_.size()); - for (BrowserList::const_iterator i = BrowserList::begin(); - i != BrowserList::end(); ++i) { - if ((*i)->profile()->GetOriginalProfile() != original_profile) - browsers_to_close_.insert(*i); + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + if (it->profile()->GetOriginalProfile() != original_profile) + browsers_to_close_.insert(*it); } if (browsers_to_close_.empty()) { diff --git a/chrome/browser/performance_monitor/performance_monitor.cc b/chrome/browser/performance_monitor/performance_monitor.cc index 66de415..deff1a0 100644 --- a/chrome/browser/performance_monitor/performance_monitor.cc +++ b/chrome/browser/performance_monitor/performance_monitor.cc @@ -23,7 +23,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/ui/browser.h" -#include "chrome/browser/ui/browser_list.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/common/chrome_notification_types.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/chrome_version_info.h" @@ -398,10 +398,8 @@ void PerformanceMonitor::UpdateLiveProfiles() { scoped_ptr<std::set<std::string> > active_profiles( new std::set<std::string>()); - for (BrowserList::const_iterator iter = BrowserList::begin(); - iter != BrowserList::end(); ++iter) { - active_profiles->insert((*iter)->profile()->GetDebugName()); - } + for (chrome::BrowserIterator it; !it.done(); it.Next()) + active_profiles->insert(it->profile()->GetDebugName()); BrowserThread::PostBlockingPoolSequencedTask( Database::kDatabaseSequenceToken, diff --git a/chrome/browser/sessions/session_service.cc b/chrome/browser/sessions/session_service.cc index 7bf8851..6c7a562 100644 --- a/chrome/browser/sessions/session_service.cc +++ b/chrome/browser/sessions/session_service.cc @@ -25,6 +25,7 @@ #include "chrome/browser/sessions/session_restore.h" #include "chrome/browser/sessions/session_tab_helper.h" #include "chrome/browser/sessions/session_types.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_tabstrip.h" #include "chrome/browser/ui/browser_window.h" @@ -1386,9 +1387,8 @@ void SessionService::BuildCommandsFromBrowsers( IdToRange* tab_to_available_range, std::set<SessionID::id_type>* windows_to_track) { DCHECK(commands); - for (BrowserList::const_iterator i = BrowserList::begin(); - i != BrowserList::end(); ++i) { - Browser* browser = *i; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; // Make sure the browser has tabs and a window. Browser's destructor // removes itself from the BrowserList. When a browser is closed the // destructor is not necessarily run immediately. This means it's possible @@ -1510,9 +1510,8 @@ bool SessionService::IsOnlyOneTabLeft() const { } int window_count = 0; - for (BrowserList::const_iterator i = BrowserList::begin(); - i != BrowserList::end(); ++i) { - Browser* browser = *i; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; const SessionID::id_type window_id = browser->session_id().id(); if (ShouldTrackBrowser(browser) && window_closing_ids_.find(window_id) == window_closing_ids_.end()) { @@ -1520,7 +1519,7 @@ bool SessionService::IsOnlyOneTabLeft() const { return false; // By the time this is invoked the tab has been removed. As such, we use // > 0 here rather than > 1. - if ((*i)->tab_strip_model()->count() > 0) + if (browser->tab_strip_model()->count() > 0) return false; } } @@ -1534,9 +1533,8 @@ bool SessionService::HasOpenTrackableBrowsers( return true; } - for (BrowserList::const_iterator i = BrowserList::begin(); - i != BrowserList::end(); ++i) { - Browser* browser = *i; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; const SessionID::id_type browser_id = browser->session_id().id(); if (browser_id != window_id.id() && window_closing_ids_.find(browser_id) == window_closing_ids_.end() && diff --git a/chrome/browser/task_manager/task_manager_resource_providers.cc b/chrome/browser/task_manager/task_manager_resource_providers.cc index f7669b4..cdc514f 100644 --- a/chrome/browser/task_manager/task_manager_resource_providers.cc +++ b/chrome/browser/task_manager/task_manager_resource_providers.cc @@ -40,7 +40,7 @@ #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_instant_controller.h" -#include "chrome/browser/ui/browser_list.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/panels/panel.h" #include "chrome/browser/ui/panels/panel_manager.h" #include "chrome/browser/ui/tab_contents/tab_contents_iterator.h" @@ -159,10 +159,9 @@ bool IsContentsPrerendering(WebContents* web_contents) { } bool IsContentsInstant(WebContents* web_contents) { - for (BrowserList::const_iterator i = BrowserList::begin(); - i != BrowserList::end(); ++i) { - if ((*i)->instant_controller() && - (*i)->instant_controller()->instant()-> + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + if (it->instant_controller() && + it->instant_controller()->instant()-> GetPreviewContents() == web_contents) { return true; } @@ -447,11 +446,10 @@ void TaskManagerTabContentsResourceProvider::StartUpdating() { Add(*iterator); // Add all the instant pages. - for (BrowserList::const_iterator i = BrowserList::begin(); - i != BrowserList::end(); ++i) { - if ((*i)->instant_controller() && - (*i)->instant_controller()->instant()->GetPreviewContents()) { - Add((*i)->instant_controller()->instant()->GetPreviewContents()); + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + if (it->instant_controller() && + it->instant_controller()->instant()->GetPreviewContents()) { + Add(it->instant_controller()->instant()->GetPreviewContents()); } } diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc index d9caf52..a715b1a 100644 --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc @@ -97,6 +97,7 @@ #include "chrome/browser/ui/browser_dialogs.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_instant_controller.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_navigator.h" #include "chrome/browser/ui/browser_tab_contents.h" @@ -716,16 +717,15 @@ Browser::DownloadClosePreventionType Browser::OkToCloseWithInProgressDownloads( // profile, that are relevant for the ok-to-close decision. int profile_window_count = 0; int total_window_count = 0; - for (BrowserList::const_iterator iter = BrowserList::begin(); - iter != BrowserList::end(); ++iter) { + for (chrome::BrowserIterator it; !it.done(); it.Next()) { // Don't count this browser window or any other in the process of closing. - Browser* const browser = *iter; + Browser* const browser = *it; // Window closing may be delayed, and windows that are in the process of // closing don't count against our totals. if (browser == this || browser->IsAttemptingToCloseBrowser()) continue; - if ((*iter)->profile() == profile()) + if (it->profile() == profile()) profile_window_count++; total_window_count++; } diff --git a/chrome/browser/ui/browser_list.h b/chrome/browser/ui/browser_list.h index 815000d..beb7001 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::iterator iterator; typedef BrowserVector::const_iterator const_iterator; typedef BrowserVector::const_reverse_iterator const_reverse_iterator; diff --git a/chrome/browser/ui/sync/browser_synced_window_delegate.cc b/chrome/browser/ui/sync/browser_synced_window_delegate.cc index 1b64be4..7809aa0 100644 --- a/chrome/browser/ui/sync/browser_synced_window_delegate.cc +++ b/chrome/browser/ui/sync/browser_synced_window_delegate.cc @@ -9,7 +9,7 @@ #include "chrome/browser/sessions/session_id.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_iterator.h" #include "chrome/browser/ui/sync/tab_contents_synced_tab_delegate.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" @@ -19,10 +19,8 @@ const std::set<browser_sync::SyncedWindowDelegate*> browser_sync::SyncedWindowDelegate::GetSyncedWindowDelegates() { std::set<browser_sync::SyncedWindowDelegate*> synced_window_delegates; - for (BrowserList::const_iterator i = BrowserList::begin(); - i != BrowserList::end(); ++i) { - synced_window_delegates.insert((*i)->synced_window_delegate()); - } + for (chrome::BrowserIterator it; !it.done(); it.Next()) + synced_window_delegates.insert(it->synced_window_delegate()); return synced_window_delegates; } diff --git a/chrome/browser/ui/tabs/pinned_tab_codec.cc b/chrome/browser/ui/tabs/pinned_tab_codec.cc index 6805910..83e2bd4 100644 --- a/chrome/browser/ui/tabs/pinned_tab_codec.cc +++ b/chrome/browser/ui/tabs/pinned_tab_codec.cc @@ -10,6 +10,7 @@ #include "chrome/browser/prefs/scoped_user_pref_update.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/common/extensions/extension.h" @@ -109,9 +110,8 @@ void PinnedTabCodec::WritePinnedTabs(Profile* profile) { return; ListValue values; - for (BrowserList::const_iterator i = BrowserList::begin(); - i != BrowserList::end(); ++i) { - Browser* browser = *i; + for (chrome::BrowserIterator it; !it.done(); it.Next()) { + Browser* browser = *it; if (browser->is_type_tabbed() && browser->profile() == profile && HasPinnedTabs(browser)) { EncodePinnedTabs(browser, &values); diff --git a/chrome/browser/ui/uma_browsing_activity_observer.cc b/chrome/browser/ui/uma_browsing_activity_observer.cc index a5710e4..6ae607a 100644 --- a/chrome/browser/ui/uma_browsing_activity_observer.cc +++ b/chrome/browser/ui/uma_browsing_activity_observer.cc @@ -6,6 +6,7 @@ #include "base/metrics/histogram.h" #include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_iterator.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/tabs/tab_strip_model.h" @@ -72,10 +73,9 @@ void UMABrowsingActivityObserver::LogBrowserTabCount() const { int panel_window_count = 0; int popup_window_count = 0; int tabbed_window_count = 0; - for (BrowserList::const_iterator browser_iterator = BrowserList::begin(); - browser_iterator != BrowserList::end(); ++browser_iterator) { + for (chrome::BrowserIterator it; !it.done(); it.Next()) { // Record how many tabs each window has open. - Browser* browser = (*browser_iterator); + Browser* browser = *it; UMA_HISTOGRAM_CUSTOM_COUNTS("Tabs.TabCountPerWindow", browser->tab_strip_model()->count(), 1, 200, 50); diff --git a/chrome/browser/ui/webui/ntp/suggestions_combiner.cc b/chrome/browser/ui/webui/ntp/suggestions_combiner.cc index 1584625..774a0bb 100644 --- a/chrome/browser/ui/webui/ntp/suggestions_combiner.cc +++ b/chrome/browser/ui/webui/ntp/suggestions_combiner.cc @@ -11,7 +11,7 @@ #include "chrome/browser/extensions/api/discovery/suggested_links_registry_factory.h" #include "chrome/browser/profiles/profile.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/tabs/tab_strip_model.h" #include "chrome/browser/ui/webui/ntp/suggestions_page_handler.h" #include "chrome/browser/ui/webui/ntp/suggestions_source.h" @@ -152,8 +152,7 @@ void SuggestionsCombiner::AddExtendedInformation( } bool SuggestionsCombiner::IsUrlAlreadyOpen(const GURL &url) { - for (BrowserList::const_iterator it = BrowserList::begin(); - it != BrowserList::end(); ++it) { + for (chrome::BrowserIterator it; !it.done(); it.Next()) { const Browser* browser = *it; if (browser->profile()->IsOffTheRecord() || !browser->profile()->IsSameProfile(profile_)) |