Index: chrome/browser/ui/views/frame/browser_frame.cc |
diff --git a/chrome/browser/ui/views/frame/browser_frame.cc b/chrome/browser/ui/views/frame/browser_frame.cc |
index b3fc5e50c8c180daec3e3e246ea568b374970403..96029b9c0af00b97665e44ea10e807ac9034e6c8 100644 |
--- a/chrome/browser/ui/views/frame/browser_frame.cc |
+++ b/chrome/browser/ui/views/frame/browser_frame.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/browser/ui/views/frame/browser_frame.h" |
+#include "base/command_line.h" |
#include "chrome/browser/themes/theme_service.h" |
#include "chrome/browser/themes/theme_service_factory.h" |
#include "chrome/browser/ui/browser.h" |
@@ -22,6 +23,10 @@ |
#include "chrome/browser/chromeos/system/runtime_environment.h" |
#endif |
+#if defined(USE_AURA) |
+#include "ui/aura/aura_switches.h" |
+#endif |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// BrowserFrame, public: |
@@ -59,6 +64,7 @@ void BrowserFrame::InitBrowserFrame() { |
params.keep_on_top = true; |
} |
Init(params); |
+ // TODO(jamescook): Do this for Aura laptop mode? |
#if defined(OS_CHROMEOS) && !defined(USE_AURA) |
// On ChromeOS we always want top-level windows to appear active. |
if (!browser_view_->IsBrowserTypePopup()) |
@@ -96,15 +102,22 @@ void BrowserFrame::TabStripDisplayModeChanged() { |
} |
/////////////////////////////////////////////////////////////////////////////// |
-// BrowserFrameWin, views::Window overrides: |
+// BrowserFrame, views::Widget overrides: |
bool BrowserFrame::IsMaximized() const { |
-#if defined(OS_CHROMEOS) && !defined(USE_AURA) |
- if (chromeos::system::runtime_environment::IsRunningOnChromeOS()) { |
+ // ChromeOS and Aura laptop mode use a single window filling the work area. |
+ bool single_window_mode = false; |
+#if defined(USE_AURA) |
+ single_window_mode = |
+ CommandLine::ForCurrentProcess()->HasSwitch(switches::kAuraLaptopMode); |
+#elif defined(OS_CHROMEOS) |
+ single_window_mode = |
+ chromeos::system::runtime_environment::IsRunningOnChromeOS(); |
+#endif |
+ if (single_window_mode) { |
return !IsFullscreen() && |
(!browser_view_->IsBrowserTypePopup() || Widget::IsMaximized()); |
} |
-#endif |
return Widget::IsMaximized(); |
} |