Index: chrome/browser/managed_mode/managed_mode_navigation_observer.cc |
diff --git a/chrome/browser/managed_mode/managed_mode_navigation_observer.cc b/chrome/browser/managed_mode/managed_mode_navigation_observer.cc |
index e47860e1230443fa84861e8ab4044d4ae816d92b..a01619e4333f8096e772bd32473015e4e457b8ec 100644 |
--- a/chrome/browser/managed_mode/managed_mode_navigation_observer.cc |
+++ b/chrome/browser/managed_mode/managed_mode_navigation_observer.cc |
@@ -22,7 +22,8 @@ |
#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_list_impl.h" |
+#include "chrome/browser/ui/host_desktop.h" |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
#include "chrome/common/pref_names.h" |
#include "chrome/common/url_constants.h" |
@@ -88,9 +89,13 @@ void GoBackToSafety(content::WebContents* web_contents) { |
} |
// If we can't go back (because we opened a new tab), try to close the tab. |
- // If this is the last tab, open a new window. |
- if (BrowserList::size() == 1) { |
- Browser* browser = *(BrowserList::begin()); |
+ // If this is the last tab on this desktop, open a new window. |
+ chrome::HostDesktopType host_desktop_type = |
+ chrome::GetHostDesktopTypeForNativeView(web_contents->GetNativeView()); |
+ const chrome::BrowserListImpl* browser_list = |
+ chrome::BrowserListImpl::GetInstance(host_desktop_type); |
+ if (browser_list->size() == 1) { |
+ Browser* browser = browser_list->get(0); |
DCHECK(browser == chrome::FindBrowserWithWebContents(web_contents)); |
if (browser->tab_strip_model()->count() == 1) |
chrome::NewEmptyWindow(browser->profile()); |