Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 browser->window()->ExitFullscreen(); | |
| 609 | |
| 604 switch (show_state) { | 610 switch (show_state) { |
| 605 case ui::SHOW_STATE_MINIMIZED: | 611 case ui::SHOW_STATE_MINIMIZED: |
| 606 browser->window()->Minimize(); | 612 browser->window()->Minimize(); |
| 607 break; | 613 break; |
| 608 case ui::SHOW_STATE_MAXIMIZED: | 614 case ui::SHOW_STATE_MAXIMIZED: |
| 609 browser->window()->Maximize(); | 615 browser->window()->Maximize(); |
| 610 break; | 616 break; |
| 617 case ui::SHOW_STATE_FULLSCREEN: | |
| 618 if (browser->window()->IsMinimized() || browser->window()->IsMaximized()) | |
| 619 browser->window()->Restore(); | |
| 620 browser->window()->EnterFullscreen( | |
|
Mihai Parparita -not on Chrome
2012/02/06 22:31:34
Aaron: should the ability to go fullscreen be tied
| |
| 621 GURL(), FEB_TYPE_BROWSER_FULLSCREEN_EXIT_INSTRUCTION); | |
|
Mihai Parparita -not on Chrome
2012/02/06 22:31:34
This ends up displaying the "You have gone full sc
hashimoto
2012/02/07 02:16:00
Done.
The message is now "<Extension Name> trigger
| |
| 622 break; | |
| 611 case ui::SHOW_STATE_NORMAL: | 623 case ui::SHOW_STATE_NORMAL: |
| 612 browser->window()->Restore(); | 624 browser->window()->Restore(); |
| 613 break; | 625 break; |
| 614 default: | 626 default: |
| 615 break; | 627 break; |
| 616 } | 628 } |
| 617 | 629 |
| 618 gfx::Rect bounds = browser->window()->GetRestoredBounds(); | 630 gfx::Rect bounds = browser->window()->GetRestoredBounds(); |
| 619 bool set_bounds = false; | 631 bool set_bounds = false; |
| 620 | 632 |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 647 if (update_props->HasKey(keys::kHeightKey)) { | 659 if (update_props->HasKey(keys::kHeightKey)) { |
| 648 EXTENSION_FUNCTION_VALIDATE(update_props->GetInteger( | 660 EXTENSION_FUNCTION_VALIDATE(update_props->GetInteger( |
| 649 keys::kHeightKey, | 661 keys::kHeightKey, |
| 650 &bounds_val)); | 662 &bounds_val)); |
| 651 bounds.set_height(bounds_val); | 663 bounds.set_height(bounds_val); |
| 652 set_bounds = true; | 664 set_bounds = true; |
| 653 } | 665 } |
| 654 | 666 |
| 655 if (set_bounds) { | 667 if (set_bounds) { |
| 656 if (show_state == ui::SHOW_STATE_MINIMIZED || | 668 if (show_state == ui::SHOW_STATE_MINIMIZED || |
| 657 show_state == ui::SHOW_STATE_MAXIMIZED) { | 669 show_state == ui::SHOW_STATE_MAXIMIZED || |
| 670 show_state == ui::SHOW_STATE_FULLSCREEN) { | |
| 658 error_ = keys::kInvalidWindowStateError; | 671 error_ = keys::kInvalidWindowStateError; |
| 659 return false; | 672 return false; |
| 660 } | 673 } |
| 661 browser->window()->SetBounds(bounds); | 674 browser->window()->SetBounds(bounds); |
| 662 } | 675 } |
| 663 | 676 |
| 664 bool active_val = false; | 677 bool active_val = false; |
| 665 if (update_props->HasKey(keys::kFocusedKey)) { | 678 if (update_props->HasKey(keys::kFocusedKey)) { |
| 666 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean( | 679 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean( |
| 667 keys::kFocusedKey, &active_val)); | 680 keys::kFocusedKey, &active_val)); |
| 668 if (active_val) { | 681 if (active_val) { |
| 669 if (show_state == ui::SHOW_STATE_MINIMIZED) { | 682 if (show_state == ui::SHOW_STATE_MINIMIZED) { |
| 670 error_ = keys::kInvalidWindowStateError; | 683 error_ = keys::kInvalidWindowStateError; |
| 671 return false; | 684 return false; |
| 672 } | 685 } |
| 673 browser->window()->Activate(); | 686 browser->window()->Activate(); |
| 674 } else { | 687 } else { |
| 675 if (show_state == ui::SHOW_STATE_MAXIMIZED) { | 688 if (show_state == ui::SHOW_STATE_MAXIMIZED || |
| 689 show_state == ui::SHOW_STATE_FULLSCREEN) { | |
| 676 error_ = keys::kInvalidWindowStateError; | 690 error_ = keys::kInvalidWindowStateError; |
| 677 return false; | 691 return false; |
| 678 } | 692 } |
| 679 browser->window()->Deactivate(); | 693 browser->window()->Deactivate(); |
| 680 } | 694 } |
| 681 } | 695 } |
| 682 | 696 |
| 683 bool draw_attention = false; | 697 bool draw_attention = false; |
| 684 if (update_props->HasKey(keys::kDrawAttentionKey)) { | 698 if (update_props->HasKey(keys::kDrawAttentionKey)) { |
| 685 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean( | 699 EXTENSION_FUNCTION_VALIDATE(update_props->GetBoolean( |
| (...skipping 1022 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1708 // called for every API call the extension made. | 1722 // called for every API call the extension made. |
| 1709 GotLanguage(language); | 1723 GotLanguage(language); |
| 1710 } | 1724 } |
| 1711 | 1725 |
| 1712 void DetectTabLanguageFunction::GotLanguage(const std::string& language) { | 1726 void DetectTabLanguageFunction::GotLanguage(const std::string& language) { |
| 1713 result_.reset(Value::CreateStringValue(language.c_str())); | 1727 result_.reset(Value::CreateStringValue(language.c_str())); |
| 1714 SendResponse(true); | 1728 SendResponse(true); |
| 1715 | 1729 |
| 1716 Release(); // Balanced in Run() | 1730 Release(); // Balanced in Run() |
| 1717 } | 1731 } |
| OLD | NEW |