| 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 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |