diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-26 22:40:39 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-26 22:40:39 +0000 |
commit | 87f973a589251475b3851d42135fa4c24300719c (patch) | |
tree | 3b71a75ba1122107425643d2aa512cfd12eabc49 /chrome/browser/chromeos | |
parent | 30213cb02594880dd1af0fe21224ec246944e3bd (diff) | |
download | chromium_src-87f973a589251475b3851d42135fa4c24300719c.zip chromium_src-87f973a589251475b3851d42135fa4c24300719c.tar.gz chromium_src-87f973a589251475b3851d42135fa4c24300719c.tar.bz2 |
Fullscreen for ChromeOS with toolkit_views=1 build
* show/hide chromeos components based on fullscreen status
* added compact_navigation_bar_enabled_ flag to differentiate being in fullscreen and
being disabled.
BUG=22805
TEST=Toggle fullscreen mode using F11. Try with/without compact navigation bar, which can be enabled by "shift-ctrl-0".
Review URL: http://codereview.chromium.org/332032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30119 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r-- | chrome/browser/chromeos/chromeos_browser_extenders.cc | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/chrome/browser/chromeos/chromeos_browser_extenders.cc b/chrome/browser/chromeos/chromeos_browser_extenders.cc index fe63ec4..e7c8fcd 100644 --- a/chrome/browser/chromeos/chromeos_browser_extenders.cc +++ b/chrome/browser/chromeos/chromeos_browser_extenders.cc @@ -39,7 +39,12 @@ class NormalExtender : public BrowserExtender, public: explicit NormalExtender(BrowserView* browser_view) : BrowserExtender(browser_view), - main_menu_(NULL) { + main_menu_(NULL), + status_area_(NULL), + compact_navigation_bar_(NULL), + // CompactNavigationBar is disabled by default. + // TODO(oshima): Get this info from preference. + compact_navigation_bar_enabled_(false) { } virtual ~NormalExtender() {} @@ -59,10 +64,6 @@ class NormalExtender : public BrowserExtender, new CompactNavigationBar(browser_view()->browser()); browser_view()->AddChildView(compact_navigation_bar_); compact_navigation_bar_->Init(); - // Disabled by default. - // TODO(oshima): Get this info from preference. - compact_navigation_bar_->SetVisible(false); - status_area_ = new StatusAreaView( browser_view()->browser(), browser_view()->GetWindow()->GetNativeWindow()); @@ -82,9 +83,18 @@ class NormalExtender : public BrowserExtender, } virtual gfx::Rect Layout(const gfx::Rect& bounds) { - // skip if there is no space to layout. - if (bounds.IsEmpty()) + // Skip if there is no space to layout, or if the browser is in + // fullscreen mode. + if (bounds.IsEmpty() || browser_view()->IsFullscreen()) { + main_menu_->SetVisible(false); + compact_navigation_bar_->SetVisible(false); + status_area_->SetVisible(false); return bounds; + } else { + main_menu_->SetVisible(true); + compact_navigation_bar_->SetVisible(compact_navigation_bar_enabled_); + status_area_->SetVisible(true); + } // Layout main menu before tab strip. gfx::Size main_menu_size = main_menu_->GetPreferredSize(); @@ -147,11 +157,11 @@ class NormalExtender : public BrowserExtender, virtual void ActivationChanged() {} virtual bool ShouldForceHideToolbar() { - return compact_navigation_bar_->IsVisible(); + return compact_navigation_bar_enabled_; } virtual void ToggleCompactNavigationBar() { - compact_navigation_bar_->SetVisible(!compact_navigation_bar_->IsVisible()); + compact_navigation_bar_enabled_ = !compact_navigation_bar_enabled_; } private: @@ -193,6 +203,9 @@ class NormalExtender : public BrowserExtender, // CompactNavigationBar view. CompactNavigationBar* compact_navigation_bar_; + // A toggle flag to show/hide the compact navigation bar. + bool compact_navigation_bar_enabled_; + DISALLOW_COPY_AND_ASSIGN(NormalExtender); }; |