| 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 7ce8624ab7398f40afc5bee1b5e40b420b028b98..cfbadf443de9b49ef5067bf45988c05c3ca939b7 100644
|
| --- a/chrome/browser/extensions/extension_tabs_module.cc
|
| +++ b/chrome/browser/extensions/extension_tabs_module.cc
|
| @@ -610,12 +610,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->ToggleFullscreenModeWithExtension(*GetExtension());
|
| +
|
| switch (show_state) {
|
| case ui::SHOW_STATE_MINIMIZED:
|
| browser->window()->Minimize();
|
| @@ -623,6 +630,12 @@ 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();
|
| + if (!browser->window()->IsFullscreen())
|
| + browser->ToggleFullscreenModeWithExtension(*GetExtension());
|
| + break;
|
| case ui::SHOW_STATE_NORMAL:
|
| browser->window()->Restore();
|
| break;
|
| @@ -669,7 +682,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;
|
| }
|
| @@ -687,7 +701,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;
|
| }
|
|
|