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

Unified Diff: chrome/browser/extensions/extension_keybinding_apitest.cc

Issue 667833004: Fix extension command service to check if user has modified key before overwrite on update. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_keybinding_apitest.cc
diff --git a/chrome/browser/extensions/extension_keybinding_apitest.cc b/chrome/browser/extensions/extension_keybinding_apitest.cc
index aba521dc53d4fdb25a7682cd5824f75a2a6c6ddf..e65dc1ec954144e7abc3f5253ccfa58892274f12 100644
--- a/chrome/browser/extensions/extension_keybinding_apitest.cc
+++ b/chrome/browser/extensions/extension_keybinding_apitest.cc
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "base/command_line.h"
+#include "base/strings/stringprintf.h"
Finnur 2014/10/22 09:43:03 Remove?
#include "chrome/browser/extensions/active_tab_permission_granter.h"
#include "chrome/browser/extensions/api/commands/command_service.h"
#include "chrome/browser/extensions/browser_action_test_util.h"
@@ -651,6 +652,7 @@ IN_PROC_BROWSER_TEST_F(CommandsApiTest,
// Verify it has a command of Alt+Shift+F.
ui::Accelerator accelerator = command_service->FindCommandByName(
kId, manifest_values::kBrowserActionCommandEvent).accelerator();
+
Finnur 2014/10/22 09:43:03 nit: remove this linebreak.
EXPECT_EQ(ui::VKEY_F, accelerator.key_code());
EXPECT_FALSE(accelerator.IsCtrlDown());
EXPECT_TRUE(accelerator.IsShiftDown());
@@ -674,6 +676,62 @@ IN_PROC_BROWSER_TEST_F(CommandsApiTest,
EXPECT_TRUE(accelerator.IsAltDown());
}
+// Test that Media keys do not overwrite previous settings
+IN_PROC_BROWSER_TEST_F(CommandsApiTest,
+ MediaKeyShortcutChangedOnUpdateAfterBeingReassignedByUser) {
Finnur 2014/10/22 09:43:03 nit: Adhere to the 80 cols rule.
+ base::ScopedTempDir scoped_temp_dir;
+ EXPECT_TRUE(scoped_temp_dir.CreateUniqueTempDir());
+ base::FilePath pem_path = test_data_dir_.
+ AppendASCII("keybinding").AppendASCII("keybinding.pem");
+ base::FilePath path_v1 = PackExtensionWithOptions(
+ test_data_dir_.AppendASCII("keybinding").AppendASCII("update")
+ .AppendASCII("mk_v1"),
+ scoped_temp_dir.path().AppendASCII("mk_v1.crx"),
+ pem_path,
+ base::FilePath());
+ base::FilePath path_v2_reassigned = PackExtensionWithOptions(
+ test_data_dir_.AppendASCII("keybinding").AppendASCII("update")
+ .AppendASCII("mk_v2"),
+ scoped_temp_dir.path().AppendASCII("mk_v2.crx"),
+ pem_path,
+ base::FilePath());
+
+ ExtensionRegistry* registry = ExtensionRegistry::Get(browser()->profile());
+ CommandService* command_service = CommandService::Get(browser()->profile());
+
+ // Install v1 of the extension.
+ ASSERT_TRUE(InstallExtension(path_v1, 1));
+ EXPECT_TRUE(registry->GetExtensionById(kId, ExtensionRegistry::ENABLED) !=
+ NULL);
+
+ // Verify it has a command of MediaPlayPause
+ ui::Accelerator accelerator = command_service->FindCommandByName(
+ kId, manifest_values::kMediaKeyTestCommand).accelerator();
+
Finnur 2014/10/22 09:43:03 nit: Same here -- don't need the line break.
+ EXPECT_EQ(ui::VKEY_MEDIA_PLAY_PAUSE, accelerator.key_code());
+ EXPECT_FALSE(accelerator.IsCtrlDown());
+ EXPECT_FALSE(accelerator.IsShiftDown());
+ EXPECT_FALSE(accelerator.IsAltDown());
+
+ // Simulate the user setting the keybinding to Alt+Shift+G.
+ command_service->UpdateKeybindingPrefs(
+ kId, manifest_values::kMediaKeyTestCommand, kAltShiftG);
+
+ // Update to version 2 with different keybinding assigned.
+ EXPECT_TRUE(UpdateExtension(kId, path_v2_reassigned, 0));
+ EXPECT_TRUE(registry->GetExtensionById(kId, ExtensionRegistry::ENABLED) !=
+ NULL);
+
+ // Verify it has a command of Alt+Shift+G.
+ accelerator = command_service->FindCommandByName(
+ kId, manifest_values::kMediaKeyTestCommand).accelerator();
+
+ EXPECT_EQ(ui::VKEY_G, accelerator.key_code());
+ EXPECT_FALSE(accelerator.IsCtrlDown());
+ EXPECT_TRUE(accelerator.IsShiftDown());
+ EXPECT_TRUE(accelerator.IsAltDown());
+}
+
IN_PROC_BROWSER_TEST_F(CommandsApiTest,
ShortcutRemovedOnUpdateAfterBeingReassignedByUser) {
base::ScopedTempDir scoped_temp_dir;

Powered by Google App Engine
This is Rietveld 408576698