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

Side by Side 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: Separate FullscreenController related stuff to another patch set 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/extension_tabs_module.h" 5 #include "chrome/browser/extensions/extension_tabs_module.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/base64.h" 10 #include "base/base64.h"
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 std::string state_str; 588 std::string state_str;
589 if (update_props->HasKey(keys::kShowStateKey)) { 589 if (update_props->HasKey(keys::kShowStateKey)) {
590 EXTENSION_FUNCTION_VALIDATE(update_props->GetString(keys::kShowStateKey, 590 EXTENSION_FUNCTION_VALIDATE(update_props->GetString(keys::kShowStateKey,
591 &state_str)); 591 &state_str));
592 if (state_str == keys::kShowStateValueNormal) { 592 if (state_str == keys::kShowStateValueNormal) {
593 show_state = ui::SHOW_STATE_NORMAL; 593 show_state = ui::SHOW_STATE_NORMAL;
594 } else if (state_str == keys::kShowStateValueMinimized) { 594 } else if (state_str == keys::kShowStateValueMinimized) {
595 show_state = ui::SHOW_STATE_MINIMIZED; 595 show_state = ui::SHOW_STATE_MINIMIZED;
596 } else if (state_str == keys::kShowStateValueMaximized) { 596 } else if (state_str == keys::kShowStateValueMaximized) {
597 show_state = ui::SHOW_STATE_MAXIMIZED; 597 show_state = ui::SHOW_STATE_MAXIMIZED;
598 } else if (state_str == keys::kShowStateValueFullscreen) {
599 show_state = ui::SHOW_STATE_FULLSCREEN;
598 } else { 600 } else {
599 error_ = keys::kInvalidWindowStateError; 601 error_ = keys::kInvalidWindowStateError;
600 return false; 602 return false;
601 } 603 }
602 } 604 }
603 605
606 if (browser->window()->IsFullscreen() &&
607 show_state != ui::SHOW_STATE_FULLSCREEN &&
608 show_state != ui::SHOW_STATE_DEFAULT)
609 browser->ToggleFullscreenModeWithExtension(*GetExtension());
610
604 switch (show_state) { 611 switch (show_state) {
605 case ui::SHOW_STATE_MINIMIZED: 612 case ui::SHOW_STATE_MINIMIZED:
606 browser->window()->Minimize(); 613 browser->window()->Minimize();
607 break; 614 break;
608 case ui::SHOW_STATE_MAXIMIZED: 615 case ui::SHOW_STATE_MAXIMIZED:
609 browser->window()->Maximize(); 616 browser->window()->Maximize();
610 break; 617 break;
618 case ui::SHOW_STATE_FULLSCREEN:
619 if (browser->window()->IsMinimized() || browser->window()->IsMaximized())
620 browser->window()->Restore();
621 if (!browser->window()->IsFullscreen())
622 browser->ToggleFullscreenModeWithExtension(*GetExtension());
623 break;
611 case ui::SHOW_STATE_NORMAL: 624 case ui::SHOW_STATE_NORMAL:
612 browser->window()->Restore(); 625 browser->window()->Restore();
613 break; 626 break;
614 default: 627 default:
615 break; 628 break;
616 } 629 }
617 630
618 gfx::Rect bounds = browser->window()->GetRestoredBounds(); 631 gfx::Rect bounds = browser->window()->GetRestoredBounds();
619 bool set_bounds = false; 632 bool set_bounds = false;
620 633
(...skipping 26 matching lines...) Expand all
647 if (update_props->HasKey(keys::kHeightKey)) { 660 if (update_props->HasKey(keys::kHeightKey)) {
648 EXTENSION_FUNCTION_VALIDATE(update_props->GetInteger( 661 EXTENSION_FUNCTION_VALIDATE(update_props->GetInteger(
649 keys::kHeightKey, 662 keys::kHeightKey,
650 &bounds_val)); 663 &bounds_val));
651 bounds.set_height(bounds_val); 664 bounds.set_height(bounds_val);
652 set_bounds = true; 665 set_bounds = true;
653 } 666 }
654 667
655 if (set_bounds) { 668 if (set_bounds) {
656 if (show_state == ui::SHOW_STATE_MINIMIZED || 669 if (show_state == ui::SHOW_STATE_MINIMIZED ||
657 show_state == ui::SHOW_STATE_MAXIMIZED) { 670 show_state == ui::SHOW_STATE_MAXIMIZED ||
671 show_state == ui::SHOW_STATE_FULLSCREEN) {
658 error_ = keys::kInvalidWindowStateError; 672 error_ = keys::kInvalidWindowStateError;
659 return false; 673 return false;
660 } 674 }
661 browser->window()->SetBounds(bounds); 675 browser->window()->SetBounds(bounds);
662 } 676 }
663 677
664 bool active_val = false; 678 bool active_val = false;
665 if (update_props->HasKey(keys::kFocusedKey)) { 679 if (update_props->HasKey(keys::kFocusedKey)) {
666 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean( 680 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean(
667 keys::kFocusedKey, &active_val)); 681 keys::kFocusedKey, &active_val));
668 if (active_val) { 682 if (active_val) {
669 if (show_state == ui::SHOW_STATE_MINIMIZED) { 683 if (show_state == ui::SHOW_STATE_MINIMIZED) {
670 error_ = keys::kInvalidWindowStateError; 684 error_ = keys::kInvalidWindowStateError;
671 return false; 685 return false;
672 } 686 }
673 browser->window()->Activate(); 687 browser->window()->Activate();
674 } else { 688 } else {
675 if (show_state == ui::SHOW_STATE_MAXIMIZED) { 689 if (show_state == ui::SHOW_STATE_MAXIMIZED ||
690 show_state == ui::SHOW_STATE_FULLSCREEN) {
676 error_ = keys::kInvalidWindowStateError; 691 error_ = keys::kInvalidWindowStateError;
677 return false; 692 return false;
678 } 693 }
679 browser->window()->Deactivate(); 694 browser->window()->Deactivate();
680 } 695 }
681 } 696 }
682 697
683 bool draw_attention = false; 698 bool draw_attention = false;
684 if (update_props->HasKey(keys::kDrawAttentionKey)) { 699 if (update_props->HasKey(keys::kDrawAttentionKey)) {
685 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean( 700 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean(
(...skipping 1022 matching lines...) Expand 10 before | Expand all | Expand 10 after
1708 // called for every API call the extension made. 1723 // called for every API call the extension made.
1709 GotLanguage(language); 1724 GotLanguage(language);
1710 } 1725 }
1711 1726
1712 void DetectTabLanguageFunction::GotLanguage(const std::string& language) { 1727 void DetectTabLanguageFunction::GotLanguage(const std::string& language) {
1713 result_.reset(Value::CreateStringValue(language.c_str())); 1728 result_.reset(Value::CreateStringValue(language.c_str()));
1714 SendResponse(true); 1729 SendResponse(true);
1715 1730
1716 Release(); // Balanced in Run() 1731 Release(); // Balanced in Run()
1717 } 1732 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698