summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-26 22:40:39 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-26 22:40:39 +0000
commit87f973a589251475b3851d42135fa4c24300719c (patch)
tree3b71a75ba1122107425643d2aa512cfd12eabc49 /chrome/browser/chromeos
parent30213cb02594880dd1af0fe21224ec246944e3bd (diff)
downloadchromium_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.cc31
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);
};