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

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: Rebased onto ToT 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 592 matching lines...) Expand 10 before | Expand all | Expand 10 after
603 std::string state_str; 603 std::string state_str;
604 if (update_props->HasKey(keys::kShowStateKey)) { 604 if (update_props->HasKey(keys::kShowStateKey)) {
605 EXTENSION_FUNCTION_VALIDATE(update_props->GetString(keys::kShowStateKey, 605 EXTENSION_FUNCTION_VALIDATE(update_props->GetString(keys::kShowStateKey,
606 &state_str)); 606 &state_str));
607 if (state_str == keys::kShowStateValueNormal) { 607 if (state_str == keys::kShowStateValueNormal) {
608 show_state = ui::SHOW_STATE_NORMAL; 608 show_state = ui::SHOW_STATE_NORMAL;
609 } else if (state_str == keys::kShowStateValueMinimized) { 609 } else if (state_str == keys::kShowStateValueMinimized) {
610 show_state = ui::SHOW_STATE_MINIMIZED; 610 show_state = ui::SHOW_STATE_MINIMIZED;
611 } else if (state_str == keys::kShowStateValueMaximized) { 611 } else if (state_str == keys::kShowStateValueMaximized) {
612 show_state = ui::SHOW_STATE_MAXIMIZED; 612 show_state = ui::SHOW_STATE_MAXIMIZED;
613 } else if (state_str == keys::kShowStateValueFullscreen) {
614 show_state = ui::SHOW_STATE_FULLSCREEN;
613 } else { 615 } else {
614 error_ = keys::kInvalidWindowStateError; 616 error_ = keys::kInvalidWindowStateError;
615 return false; 617 return false;
616 } 618 }
617 } 619 }
618 620
621 if (browser->window()->IsFullscreen() &&
622 show_state != ui::SHOW_STATE_FULLSCREEN &&
623 show_state != ui::SHOW_STATE_DEFAULT)
624 browser->ToggleFullscreenModeWithExtension(*GetExtension());
625
619 switch (show_state) { 626 switch (show_state) {
620 case ui::SHOW_STATE_MINIMIZED: 627 case ui::SHOW_STATE_MINIMIZED:
621 browser->window()->Minimize(); 628 browser->window()->Minimize();
622 break; 629 break;
623 case ui::SHOW_STATE_MAXIMIZED: 630 case ui::SHOW_STATE_MAXIMIZED:
624 browser->window()->Maximize(); 631 browser->window()->Maximize();
625 break; 632 break;
633 case ui::SHOW_STATE_FULLSCREEN:
634 if (browser->window()->IsMinimized() || browser->window()->IsMaximized())
635 browser->window()->Restore();
636 if (!browser->window()->IsFullscreen())
637 browser->ToggleFullscreenModeWithExtension(*GetExtension());
638 break;
626 case ui::SHOW_STATE_NORMAL: 639 case ui::SHOW_STATE_NORMAL:
627 browser->window()->Restore(); 640 browser->window()->Restore();
628 break; 641 break;
629 default: 642 default:
630 break; 643 break;
631 } 644 }
632 645
633 gfx::Rect bounds = browser->window()->GetRestoredBounds(); 646 gfx::Rect bounds = browser->window()->GetRestoredBounds();
634 bool set_bounds = false; 647 bool set_bounds = false;
635 648
(...skipping 26 matching lines...) Expand all
662 if (update_props->HasKey(keys::kHeightKey)) { 675 if (update_props->HasKey(keys::kHeightKey)) {
663 EXTENSION_FUNCTION_VALIDATE(update_props->GetInteger( 676 EXTENSION_FUNCTION_VALIDATE(update_props->GetInteger(
664 keys::kHeightKey, 677 keys::kHeightKey,
665 &bounds_val)); 678 &bounds_val));
666 bounds.set_height(bounds_val); 679 bounds.set_height(bounds_val);
667 set_bounds = true; 680 set_bounds = true;
668 } 681 }
669 682
670 if (set_bounds) { 683 if (set_bounds) {
671 if (show_state == ui::SHOW_STATE_MINIMIZED || 684 if (show_state == ui::SHOW_STATE_MINIMIZED ||
672 show_state == ui::SHOW_STATE_MAXIMIZED) { 685 show_state == ui::SHOW_STATE_MAXIMIZED ||
686 show_state == ui::SHOW_STATE_FULLSCREEN) {
673 error_ = keys::kInvalidWindowStateError; 687 error_ = keys::kInvalidWindowStateError;
674 return false; 688 return false;
675 } 689 }
676 browser->window()->SetBounds(bounds); 690 browser->window()->SetBounds(bounds);
677 } 691 }
678 692
679 bool active_val = false; 693 bool active_val = false;
680 if (update_props->HasKey(keys::kFocusedKey)) { 694 if (update_props->HasKey(keys::kFocusedKey)) {
681 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean( 695 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean(
682 keys::kFocusedKey, &active_val)); 696 keys::kFocusedKey, &active_val));
683 if (active_val) { 697 if (active_val) {
684 if (show_state == ui::SHOW_STATE_MINIMIZED) { 698 if (show_state == ui::SHOW_STATE_MINIMIZED) {
685 error_ = keys::kInvalidWindowStateError; 699 error_ = keys::kInvalidWindowStateError;
686 return false; 700 return false;
687 } 701 }
688 browser->window()->Activate(); 702 browser->window()->Activate();
689 } else { 703 } else {
690 if (show_state == ui::SHOW_STATE_MAXIMIZED) { 704 if (show_state == ui::SHOW_STATE_MAXIMIZED ||
705 show_state == ui::SHOW_STATE_FULLSCREEN) {
691 error_ = keys::kInvalidWindowStateError; 706 error_ = keys::kInvalidWindowStateError;
692 return false; 707 return false;
693 } 708 }
694 browser->window()->Deactivate(); 709 browser->window()->Deactivate();
695 } 710 }
696 } 711 }
697 712
698 bool draw_attention = false; 713 bool draw_attention = false;
699 if (update_props->HasKey(keys::kDrawAttentionKey)) { 714 if (update_props->HasKey(keys::kDrawAttentionKey)) {
700 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean( 715 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean(
(...skipping 1022 matching lines...) Expand 10 before | Expand all | Expand 10 after
1723 // called for every API call the extension made. 1738 // called for every API call the extension made.
1724 GotLanguage(language); 1739 GotLanguage(language);
1725 } 1740 }
1726 1741
1727 void DetectTabLanguageFunction::GotLanguage(const std::string& language) { 1742 void DetectTabLanguageFunction::GotLanguage(const std::string& language) {
1728 result_.reset(Value::CreateStringValue(language.c_str())); 1743 result_.reset(Value::CreateStringValue(language.c_str()));
1729 SendResponse(true); 1744 SendResponse(true);
1730 1745
1731 Release(); // Balanced in Run() 1746 Release(); // Balanced in Run()
1732 } 1747 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_tab_util.cc ('k') | chrome/browser/extensions/extension_tabs_module_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698