summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-01 05:59:14 +0000
committergab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-01 05:59:14 +0000
commit3539929f65938785aa42fc0138603c51d6bf28ac (patch)
treebca1b4c239c04ae453c800b810043fae58046da1
parentdb556fe2511c54ab336b6f32221761bb0de993b3 (diff)
downloadchromium_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
-rw-r--r--chrome/browser/automation/automation_provider_observers.cc7
-rw-r--r--chrome/browser/automation/automation_util.cc11
-rw-r--r--chrome/browser/automation/testing_automation_provider.cc27
-rw-r--r--chrome/browser/custom_home_pages_table_model.cc6
-rw-r--r--chrome/browser/devtools/browser_list_tabcontents_provider.cc9
-rw-r--r--chrome/browser/extensions/api/cookies/cookies_api.cc7
-rw-r--r--chrome/browser/extensions/api/tabs/tabs_api.cc39
-rw-r--r--chrome/browser/extensions/api/web_navigation/web_navigation_api.cc6
-rw-r--r--chrome/browser/extensions/browser_event_router.cc8
-rw-r--r--chrome/browser/extensions/extension_tab_util.cc17
-rw-r--r--chrome/browser/lifetime/application_lifetime.cc20
-rw-r--r--chrome/browser/managed_mode/managed_mode.cc8
-rw-r--r--chrome/browser/performance_monitor/performance_monitor.cc8
-rw-r--r--chrome/browser/sessions/session_service.cc18
-rw-r--r--chrome/browser/task_manager/task_manager_resource_providers.cc18
-rw-r--r--chrome/browser/ui/browser.cc8
-rw-r--r--chrome/browser/ui/browser_list.h1
-rw-r--r--chrome/browser/ui/sync/browser_synced_window_delegate.cc8
-rw-r--r--chrome/browser/ui/tabs/pinned_tab_codec.cc6
-rw-r--r--chrome/browser/ui/uma_browsing_activity_observer.cc6
-rw-r--r--chrome/browser/ui/webui/ntp/suggestions_combiner.cc5
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_))