| 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 592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |