Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2717)

Unified Diff: chrome/browser/ui/browser_list.cc

Issue 12258019: Make BrowserList::(Add|Remove)Observer add the observer to every desktop's browser list. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Need to friend the methods directly since they are static (otherwise linux_clang doesn't like it) Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/browser_list.h ('k') | chrome/browser/ui/browser_list_impl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/browser_list.cc
diff --git a/chrome/browser/ui/browser_list.cc b/chrome/browser/ui/browser_list.cc
index ef5f75f9bec0a78b9884aa7edc45db0a4ef02ecd..8ac380a51b1b669b9780e863a2401b580ec5454f 100644
--- a/chrome/browser/ui/browser_list.cc
+++ b/chrome/browser/ui/browser_list.cc
@@ -10,6 +10,7 @@
#include "chrome/browser/ui/browser_list_impl.h"
#include "chrome/browser/ui/browser_list_observer.h"
#include "chrome/browser/ui/browser_window.h"
+#include "chrome/browser/ui/host_desktop.h"
using content::WebContents;
@@ -35,12 +36,20 @@ void BrowserList::RemoveBrowser(Browser* browser) {
// static
void BrowserList::AddObserver(chrome::BrowserListObserver* observer) {
- GetNativeList()->AddObserver(observer);
+ for (chrome::HostDesktopType t = chrome::HOST_DESKTOP_TYPE_FIRST;
+ t < chrome::HOST_DESKTOP_TYPE_COUNT;
+ t = static_cast<chrome::HostDesktopType>(t + 1)) {
+ chrome::BrowserListImpl::GetInstance(t)->AddObserver(observer);
+ }
}
// static
void BrowserList::RemoveObserver(chrome::BrowserListObserver* observer) {
- GetNativeList()->RemoveObserver(observer);
+ for (chrome::HostDesktopType t = chrome::HOST_DESKTOP_TYPE_FIRST;
+ t < chrome::HOST_DESKTOP_TYPE_COUNT;
+ t = static_cast<chrome::HostDesktopType>(t + 1)) {
+ chrome::BrowserListImpl::GetInstance(t)->RemoveObserver(observer);
+ }
}
void BrowserList::CloseAllBrowsersWithProfile(Profile* profile) {
« no previous file with comments | « chrome/browser/ui/browser_list.h ('k') | chrome/browser/ui/browser_list_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698