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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/strings/stringprintf.h" | |
Finnur
2014/10/22 09:43:03
Remove?
| |
6 #include "chrome/browser/extensions/active_tab_permission_granter.h" | 7 #include "chrome/browser/extensions/active_tab_permission_granter.h" |
7 #include "chrome/browser/extensions/api/commands/command_service.h" | 8 #include "chrome/browser/extensions/api/commands/command_service.h" |
8 #include "chrome/browser/extensions/browser_action_test_util.h" | 9 #include "chrome/browser/extensions/browser_action_test_util.h" |
9 #include "chrome/browser/extensions/extension_action.h" | 10 #include "chrome/browser/extensions/extension_action.h" |
10 #include "chrome/browser/extensions/extension_action_manager.h" | 11 #include "chrome/browser/extensions/extension_action_manager.h" |
11 #include "chrome/browser/extensions/extension_apitest.h" | 12 #include "chrome/browser/extensions/extension_apitest.h" |
12 #include "chrome/browser/extensions/tab_helper.h" | 13 #include "chrome/browser/extensions/tab_helper.h" |
13 #include "chrome/browser/sessions/session_tab_helper.h" | 14 #include "chrome/browser/sessions/session_tab_helper.h" |
14 #include "chrome/browser/ui/browser.h" | 15 #include "chrome/browser/ui/browser.h" |
15 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 16 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
(...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
644 CommandService* command_service = CommandService::Get(browser()->profile()); | 645 CommandService* command_service = CommandService::Get(browser()->profile()); |
645 | 646 |
646 // Install v1 of the extension. | 647 // Install v1 of the extension. |
647 ASSERT_TRUE(InstallExtension(path_v1, 1)); | 648 ASSERT_TRUE(InstallExtension(path_v1, 1)); |
648 EXPECT_TRUE(registry->GetExtensionById(kId, ExtensionRegistry::ENABLED) != | 649 EXPECT_TRUE(registry->GetExtensionById(kId, ExtensionRegistry::ENABLED) != |
649 NULL); | 650 NULL); |
650 | 651 |
651 // Verify it has a command of Alt+Shift+F. | 652 // Verify it has a command of Alt+Shift+F. |
652 ui::Accelerator accelerator = command_service->FindCommandByName( | 653 ui::Accelerator accelerator = command_service->FindCommandByName( |
653 kId, manifest_values::kBrowserActionCommandEvent).accelerator(); | 654 kId, manifest_values::kBrowserActionCommandEvent).accelerator(); |
655 | |
Finnur
2014/10/22 09:43:03
nit: remove this linebreak.
| |
654 EXPECT_EQ(ui::VKEY_F, accelerator.key_code()); | 656 EXPECT_EQ(ui::VKEY_F, accelerator.key_code()); |
655 EXPECT_FALSE(accelerator.IsCtrlDown()); | 657 EXPECT_FALSE(accelerator.IsCtrlDown()); |
656 EXPECT_TRUE(accelerator.IsShiftDown()); | 658 EXPECT_TRUE(accelerator.IsShiftDown()); |
657 EXPECT_TRUE(accelerator.IsAltDown()); | 659 EXPECT_TRUE(accelerator.IsAltDown()); |
658 | 660 |
659 // Simulate the user setting the keybinding to Alt+Shift+G. | 661 // Simulate the user setting the keybinding to Alt+Shift+G. |
660 command_service->UpdateKeybindingPrefs( | 662 command_service->UpdateKeybindingPrefs( |
661 kId, manifest_values::kBrowserActionCommandEvent, kAltShiftG); | 663 kId, manifest_values::kBrowserActionCommandEvent, kAltShiftG); |
662 | 664 |
663 // Update to version 2 with different keybinding assigned. | 665 // Update to version 2 with different keybinding assigned. |
664 EXPECT_TRUE(UpdateExtension(kId, path_v2_reassigned, 0)); | 666 EXPECT_TRUE(UpdateExtension(kId, path_v2_reassigned, 0)); |
665 EXPECT_TRUE(registry->GetExtensionById(kId, ExtensionRegistry::ENABLED) != | 667 EXPECT_TRUE(registry->GetExtensionById(kId, ExtensionRegistry::ENABLED) != |
666 NULL); | 668 NULL); |
667 | 669 |
668 // Verify it has a command of Alt+Shift+G. | 670 // Verify it has a command of Alt+Shift+G. |
669 accelerator = command_service->FindCommandByName( | 671 accelerator = command_service->FindCommandByName( |
670 kId, manifest_values::kBrowserActionCommandEvent).accelerator(); | 672 kId, manifest_values::kBrowserActionCommandEvent).accelerator(); |
671 EXPECT_EQ(ui::VKEY_G, accelerator.key_code()); | 673 EXPECT_EQ(ui::VKEY_G, accelerator.key_code()); |
672 EXPECT_FALSE(accelerator.IsCtrlDown()); | 674 EXPECT_FALSE(accelerator.IsCtrlDown()); |
673 EXPECT_TRUE(accelerator.IsShiftDown()); | 675 EXPECT_TRUE(accelerator.IsShiftDown()); |
674 EXPECT_TRUE(accelerator.IsAltDown()); | 676 EXPECT_TRUE(accelerator.IsAltDown()); |
675 } | 677 } |
676 | 678 |
679 // Test that Media keys do not overwrite previous settings | |
680 IN_PROC_BROWSER_TEST_F(CommandsApiTest, | |
681 MediaKeyShortcutChangedOnUpdateAfterBeingReassignedByUser ) { | |
Finnur
2014/10/22 09:43:03
nit: Adhere to the 80 cols rule.
| |
682 base::ScopedTempDir scoped_temp_dir; | |
683 EXPECT_TRUE(scoped_temp_dir.CreateUniqueTempDir()); | |
684 base::FilePath pem_path = test_data_dir_. | |
685 AppendASCII("keybinding").AppendASCII("keybinding.pem"); | |
686 base::FilePath path_v1 = PackExtensionWithOptions( | |
687 test_data_dir_.AppendASCII("keybinding").AppendASCII("update") | |
688 .AppendASCII("mk_v1"), | |
689 scoped_temp_dir.path().AppendASCII("mk_v1.crx"), | |
690 pem_path, | |
691 base::FilePath()); | |
692 base::FilePath path_v2_reassigned = PackExtensionWithOptions( | |
693 test_data_dir_.AppendASCII("keybinding").AppendASCII("update") | |
694 .AppendASCII("mk_v2"), | |
695 scoped_temp_dir.path().AppendASCII("mk_v2.crx"), | |
696 pem_path, | |
697 base::FilePath()); | |
698 | |
699 ExtensionRegistry* registry = ExtensionRegistry::Get(browser()->profile()); | |
700 CommandService* command_service = CommandService::Get(browser()->profile()); | |
701 | |
702 // Install v1 of the extension. | |
703 ASSERT_TRUE(InstallExtension(path_v1, 1)); | |
704 EXPECT_TRUE(registry->GetExtensionById(kId, ExtensionRegistry::ENABLED) != | |
705 NULL); | |
706 | |
707 // Verify it has a command of MediaPlayPause | |
708 ui::Accelerator accelerator = command_service->FindCommandByName( | |
709 kId, manifest_values::kMediaKeyTestCommand).accelerator(); | |
710 | |
Finnur
2014/10/22 09:43:03
nit: Same here -- don't need the line break.
| |
711 EXPECT_EQ(ui::VKEY_MEDIA_PLAY_PAUSE, accelerator.key_code()); | |
712 EXPECT_FALSE(accelerator.IsCtrlDown()); | |
713 EXPECT_FALSE(accelerator.IsShiftDown()); | |
714 EXPECT_FALSE(accelerator.IsAltDown()); | |
715 | |
716 // Simulate the user setting the keybinding to Alt+Shift+G. | |
717 command_service->UpdateKeybindingPrefs( | |
718 kId, manifest_values::kMediaKeyTestCommand, kAltShiftG); | |
719 | |
720 // Update to version 2 with different keybinding assigned. | |
721 EXPECT_TRUE(UpdateExtension(kId, path_v2_reassigned, 0)); | |
722 EXPECT_TRUE(registry->GetExtensionById(kId, ExtensionRegistry::ENABLED) != | |
723 NULL); | |
724 | |
725 // Verify it has a command of Alt+Shift+G. | |
726 accelerator = command_service->FindCommandByName( | |
727 kId, manifest_values::kMediaKeyTestCommand).accelerator(); | |
728 | |
729 EXPECT_EQ(ui::VKEY_G, accelerator.key_code()); | |
730 EXPECT_FALSE(accelerator.IsCtrlDown()); | |
731 EXPECT_TRUE(accelerator.IsShiftDown()); | |
732 EXPECT_TRUE(accelerator.IsAltDown()); | |
733 } | |
734 | |
677 IN_PROC_BROWSER_TEST_F(CommandsApiTest, | 735 IN_PROC_BROWSER_TEST_F(CommandsApiTest, |
678 ShortcutRemovedOnUpdateAfterBeingReassignedByUser) { | 736 ShortcutRemovedOnUpdateAfterBeingReassignedByUser) { |
679 base::ScopedTempDir scoped_temp_dir; | 737 base::ScopedTempDir scoped_temp_dir; |
680 EXPECT_TRUE(scoped_temp_dir.CreateUniqueTempDir()); | 738 EXPECT_TRUE(scoped_temp_dir.CreateUniqueTempDir()); |
681 base::FilePath pem_path = test_data_dir_. | 739 base::FilePath pem_path = test_data_dir_. |
682 AppendASCII("keybinding").AppendASCII("keybinding.pem"); | 740 AppendASCII("keybinding").AppendASCII("keybinding.pem"); |
683 base::FilePath path_v1 = PackExtensionWithOptions( | 741 base::FilePath path_v1 = PackExtensionWithOptions( |
684 test_data_dir_.AppendASCII("keybinding").AppendASCII("update") | 742 test_data_dir_.AppendASCII("keybinding").AppendASCII("update") |
685 .AppendASCII("v1"), | 743 .AppendASCII("v1"), |
686 scoped_temp_dir.path().AppendASCII("v1.crx"), | 744 scoped_temp_dir.path().AppendASCII("v1.crx"), |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
772 #define MAYBE_ChromeOSConversions DISABLED_ChromeOSConversions | 830 #define MAYBE_ChromeOSConversions DISABLED_ChromeOSConversions |
773 #else | 831 #else |
774 #define MAYBE_ChromeOSConversions ChromeOSConversions | 832 #define MAYBE_ChromeOSConversions ChromeOSConversions |
775 #endif | 833 #endif |
776 IN_PROC_BROWSER_TEST_F(CommandsApiTest, MAYBE_ChromeOSConversions) { | 834 IN_PROC_BROWSER_TEST_F(CommandsApiTest, MAYBE_ChromeOSConversions) { |
777 RunChromeOSConversionTest("keybinding/chromeos_conversions"); | 835 RunChromeOSConversionTest("keybinding/chromeos_conversions"); |
778 } | 836 } |
779 #endif // OS_CHROMEOS | 837 #endif // OS_CHROMEOS |
780 | 838 |
781 } // namespace extensions | 839 } // namespace extensions |
OLD | NEW |