diff options
Diffstat (limited to 'chrome/browser/browser_list.cc')
-rw-r--r-- | chrome/browser/browser_list.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/chrome/browser/browser_list.cc b/chrome/browser/browser_list.cc index ca2963f..c1676c0 100644 --- a/chrome/browser/browser_list.cc +++ b/chrome/browser/browser_list.cc @@ -223,6 +223,23 @@ Browser* BrowserList::FindBrowserWithType(Profile* p, Browser::Type t) { } // static +Browser* BrowserList::FindBrowserWithProfile(Profile* p) { + Browser* last_active = GetLastActive(); + if (last_active && last_active->profile() == p) + return last_active; + + BrowserList::const_iterator i; + for (i = BrowserList::begin(); i != BrowserList::end(); ++i) { + if (*i == last_active) + continue; + + if ((*i)->profile() == p) + return *i; + } + return NULL; +} + +// static Browser* BrowserList::FindBrowserWithID(SessionID::id_type desired_id) { BrowserList::const_iterator i; for (i = BrowserList::begin(); i != BrowserList::end(); ++i) { |