Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(984)

Unified Diff: chrome/browser/extensions/extension_tabs_module.cc

Issue 9328037: Add fullscreen state support for chrome.windows (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix default case handling Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_tabs_module.cc
diff --git a/chrome/browser/extensions/extension_tabs_module.cc b/chrome/browser/extensions/extension_tabs_module.cc
index 62e6c18be2dcf10e0a3a56f53b933a08ddfc398d..2e62cac0a18eb9a63219af0726518889930619f4 100644
--- a/chrome/browser/extensions/extension_tabs_module.cc
+++ b/chrome/browser/extensions/extension_tabs_module.cc
@@ -595,12 +595,19 @@ bool UpdateWindowFunction::RunImpl() {
show_state = ui::SHOW_STATE_MINIMIZED;
} else if (state_str == keys::kShowStateValueMaximized) {
show_state = ui::SHOW_STATE_MAXIMIZED;
+ } else if (state_str == keys::kShowStateValueFullscreen) {
+ show_state = ui::SHOW_STATE_FULLSCREEN;
} else {
error_ = keys::kInvalidWindowStateError;
return false;
}
}
+ if (browser->window()->IsFullscreen() &&
+ show_state != ui::SHOW_STATE_FULLSCREEN &&
+ show_state != ui::SHOW_STATE_DEFAULT)
+ browser->window()->ExitFullscreen();
+
switch (show_state) {
case ui::SHOW_STATE_MINIMIZED:
browser->window()->Minimize();
@@ -608,6 +615,13 @@ bool UpdateWindowFunction::RunImpl() {
case ui::SHOW_STATE_MAXIMIZED:
browser->window()->Maximize();
break;
+ case ui::SHOW_STATE_FULLSCREEN:
+ if (browser->window()->IsMinimized() || browser->window()->IsMaximized())
+ browser->window()->Restore();
+ browser->window()->EnterFullscreen(
yzshen1 2012/02/07 07:57:22 I am a little bit surprised that this doesn't need
hashimoto 2012/02/07 11:53:17 I thought calling Enter/ExitFullscreen is enough b
+ GetExtension()->url(),
+ FEB_TYPE_BROWSER_EXTENSION_TRIGGERED_FULLSCREEN_EXIT_INSTRUCTION);
+ break;
case ui::SHOW_STATE_NORMAL:
browser->window()->Restore();
break;
@@ -654,7 +668,8 @@ bool UpdateWindowFunction::RunImpl() {
if (set_bounds) {
if (show_state == ui::SHOW_STATE_MINIMIZED ||
- show_state == ui::SHOW_STATE_MAXIMIZED) {
+ show_state == ui::SHOW_STATE_MAXIMIZED ||
+ show_state == ui::SHOW_STATE_FULLSCREEN) {
error_ = keys::kInvalidWindowStateError;
return false;
}
@@ -672,7 +687,8 @@ bool UpdateWindowFunction::RunImpl() {
}
browser->window()->Activate();
} else {
- if (show_state == ui::SHOW_STATE_MAXIMIZED) {
+ if (show_state == ui::SHOW_STATE_MAXIMIZED ||
+ show_state == ui::SHOW_STATE_FULLSCREEN) {
error_ = keys::kInvalidWindowStateError;
return false;
}

Powered by Google App Engine
This is Rietveld 408576698