Chromium Code Reviews| 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; |
| } |