Index: chrome/browser/extensions/extension_dom_clipboard_apitest.cc |
diff --git a/chrome/browser/extensions/extension_dom_clipboard_apitest.cc b/chrome/browser/extensions/extension_dom_clipboard_apitest.cc |
index 20da52acda627c935b35c2e5ca8ab7e4806ad8f0..092dd023b93c56f65f61e47f7e92b256801c929d 100644 |
--- a/chrome/browser/extensions/extension_dom_clipboard_apitest.cc |
+++ b/chrome/browser/extensions/extension_dom_clipboard_apitest.cc |
@@ -21,8 +21,7 @@ class ClipboardApiTest : public ExtensionApiTest { |
const std::string& launch_page); |
bool ExecuteCopyInSelectedTab(); |
bool ExecutePasteInSelectedTab(); |
- bool ExecuteCopyInIframeInSelectedTab(); |
- bool ExecutePasteInIframeInSelectedTab(); |
+ bool ExecuteCommandInIframeInSelectedTab(const char* command); |
private: |
bool ExecuteScriptInSelectedTab(const std::string& script); |
@@ -69,22 +68,14 @@ bool ClipboardApiTest::ExecutePasteInSelectedTab() { |
return ExecuteScriptInSelectedTab(kScript); |
} |
-bool ClipboardApiTest::ExecuteCopyInIframeInSelectedTab() { |
+bool ClipboardApiTest::ExecuteCommandInIframeInSelectedTab( |
+ const char* command) { |
const char kScript[] = |
"var ifr = document.createElement('iframe');\n" |
"document.body.appendChild(ifr);\n" |
- "window.domAutomationController.send(" |
- "ifr.contentDocument.execCommand('copy'));"; |
- return ExecuteScriptInSelectedTab(kScript); |
-} |
- |
-bool ClipboardApiTest::ExecutePasteInIframeInSelectedTab() { |
- const char kScript[] = |
- "var ifr = document.createElement('iframe');\n" |
- "document.body.appendChild(ifr);\n" |
- "window.domAutomationController.send(" |
- "ifr.contentDocument.execCommand('paste'));"; |
- return ExecuteScriptInSelectedTab(kScript); |
+ "ifr.contentDocument.write('<script>parent.domAutomationController.send(" |
+ "document.execCommand(\"%s\"))</script>');"; |
+ return ExecuteScriptInSelectedTab(base::StringPrintf(kScript, command)); |
} |
bool ClipboardApiTest::ExecuteScriptInSelectedTab(const std::string& script) { |
@@ -114,8 +105,8 @@ IN_PROC_BROWSER_TEST_F(ClipboardApiTest, HostedApp) { |
EXPECT_TRUE(ExecuteCopyInSelectedTab()) << message_; |
EXPECT_TRUE(ExecutePasteInSelectedTab()) << message_; |
- EXPECT_TRUE(ExecuteCopyInIframeInSelectedTab()) << message_; |
- EXPECT_TRUE(ExecutePasteInIframeInSelectedTab()) << message_; |
+ EXPECT_TRUE(ExecuteCommandInIframeInSelectedTab("copy")) << message_; |
+ EXPECT_TRUE(ExecuteCommandInIframeInSelectedTab("paste")) << message_; |
} |
IN_PROC_BROWSER_TEST_F(ClipboardApiTest, HostedAppNoPermission) { |
@@ -124,7 +115,7 @@ IN_PROC_BROWSER_TEST_F(ClipboardApiTest, HostedAppNoPermission) { |
EXPECT_FALSE(ExecuteCopyInSelectedTab()) << message_; |
EXPECT_FALSE(ExecutePasteInSelectedTab()) << message_; |
- EXPECT_FALSE(ExecuteCopyInIframeInSelectedTab()) << message_; |
- EXPECT_FALSE(ExecutePasteInIframeInSelectedTab()) << message_; |
+ EXPECT_FALSE(ExecuteCommandInIframeInSelectedTab("copy")) << message_; |
+ EXPECT_FALSE(ExecuteCommandInIframeInSelectedTab("paste")) << message_; |
} |