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 e3f2ec38e2308b5f5691dc32401be26496e747ca..a58db86d65061f60230fa67474d375cf673d3535 100644 |
--- a/chrome/browser/extensions/extension_keybinding_apitest.cc |
+++ b/chrome/browser/extensions/extension_keybinding_apitest.cc |
@@ -7,9 +7,11 @@ |
#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" |
+#include "chrome/browser/extensions/component_loader.h" |
#include "chrome/browser/extensions/extension_action.h" |
#include "chrome/browser/extensions/extension_action_manager.h" |
#include "chrome/browser/extensions/extension_apitest.h" |
+#include "chrome/browser/extensions/extension_service.h" |
#include "chrome/browser/sessions/session_tab_helper.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/browser_command_controller.h" |
@@ -956,4 +958,18 @@ IN_PROC_BROWSER_TEST_F(CommandsApiTest, MAYBE_ChromeOSConversions) { |
} |
#endif // OS_CHROMEOS |
+// Make sure component extensions retain keybindings after removal then |
+// re-adding. |
+IN_PROC_BROWSER_TEST_F(CommandsApiTest, AddRemoveAddComponentExtension) { |
+ ASSERT_TRUE(test_server()->Start()); |
+ ASSERT_TRUE(RunComponentExtensionTest("keybinding/component")) << message_; |
+ |
+ extensions::ExtensionSystem::Get(browser()->profile()) |
+ ->extension_service() |
+ ->component_loader() |
+ ->Remove("pkplfbidichfdicaijlchgnapepdginl"); |
+ |
+ ASSERT_TRUE(RunComponentExtensionTest("keybinding/component")) << message_; |
+} |
+ |
} // namespace extensions |