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 a3796bdf0f9de48701101524fd4e073c3f8070d4..aba521dc53d4fdb25a7682cd5824f75a2a6c6ddf 100644 |
--- a/chrome/browser/extensions/extension_keybinding_apitest.cc |
+++ b/chrome/browser/extensions/extension_keybinding_apitest.cc |
@@ -54,6 +54,31 @@ class CommandsApiTest : public ExtensionApiTest { |
return extension->permissions_data()->HasAPIPermissionForTab( |
SessionTabHelper::IdForTab(web_contents), APIPermission::kTab); |
} |
+ |
+#if defined(OS_CHROMEOS) |
+ void RunChromeOSConversionTest(const std::string& extension_path) { |
+ // Setup the environment. |
+ ASSERT_TRUE(test_server()->Start()); |
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); |
+ ASSERT_TRUE(RunExtensionTest(extension_path)) << message_; |
+ ui_test_utils::NavigateToURL( |
+ browser(), test_server()->GetURL("files/extensions/test_file.txt")); |
+ |
+ ResultCatcher catcher; |
+ |
+ // Send all expected keys (Search+Shift+{Left, Up, Right, Down}). |
+ ASSERT_TRUE(ui_test_utils::SendKeyPressSync( |
+ browser(), ui::VKEY_LEFT, false, true, false, true)); |
+ ASSERT_TRUE(ui_test_utils::SendKeyPressSync( |
+ browser(), ui::VKEY_UP, false, true, false, true)); |
+ ASSERT_TRUE(ui_test_utils::SendKeyPressSync( |
+ browser(), ui::VKEY_RIGHT, false, true, false, true)); |
+ ASSERT_TRUE(ui_test_utils::SendKeyPressSync( |
+ browser(), ui::VKEY_DOWN, false, true, false, true)); |
+ |
+ ASSERT_TRUE(catcher.GetNextResult()); |
+ } |
+#endif // OS_CHROMEOS |
}; |
// Test the basic functionality of the Keybinding API: |
@@ -740,4 +765,17 @@ IN_PROC_BROWSER_TEST_F(CommandsApiTest, MAYBE_ContinuePropagation) { |
ASSERT_TRUE(catcher.GetNextResult()); |
} |
+// Test is only applicable on Chrome OS. |
+#if defined(OS_CHROMEOS) |
+// http://crbug.com/410534 |
+#if defined(USE_OZONE) |
+#define MAYBE_ChromeOSConversions DISABLED_ChromeOSConversions |
+#else |
+#define MAYBE_ChromeOSConversions ChromeOSConversions |
+#endif |
+IN_PROC_BROWSER_TEST_F(CommandsApiTest, MAYBE_ChromeOSConversions) { |
+ RunChromeOSConversionTest("keybinding/chromeos_conversions"); |
+} |
+#endif // OS_CHROMEOS |
+ |
} // namespace extensions |