| 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 21c32dc8551d15bd72f90460de3eea3cc3106a5e..b15822e3c92c04150e0d29e07318100f2f39c1a0 100644
|
| --- a/chrome/browser/extensions/extension_dom_clipboard_apitest.cc
|
| +++ b/chrome/browser/extensions/extension_dom_clipboard_apitest.cc
|
| @@ -21,6 +21,8 @@ class ClipboardApiTest : public ExtensionApiTest {
|
| const std::string& launch_page);
|
| bool ExecuteCopyInSelectedTab(bool* result);
|
| bool ExecutePasteInSelectedTab(bool* result);
|
| + bool ExecuteCopyInIframeInSelectedTab(bool* result);
|
| + bool ExecutePasteInIframeInSelectedTab(bool* result);
|
|
|
| private:
|
| bool ExecuteScriptInSelectedTab(const std::string& script, bool* result);
|
| @@ -67,6 +69,24 @@ bool ClipboardApiTest::ExecutePasteInSelectedTab(bool* result) {
|
| return ExecuteScriptInSelectedTab(kScript, result);
|
| }
|
|
|
| +bool ClipboardApiTest::ExecuteCopyInIframeInSelectedTab(bool* result) {
|
| + const char kScript[] =
|
| + "var ifr = document.createElement('iframe');\n"
|
| + "document.body.appendChild(ifr);\n"
|
| + "window.domAutomationController.send("
|
| + "ifr.contentDocument.execCommand('copy'));";
|
| + return ExecuteScriptInSelectedTab(kScript, result);
|
| +}
|
| +
|
| +bool ClipboardApiTest::ExecutePasteInIframeInSelectedTab(bool* result) {
|
| + const char kScript[] =
|
| + "var ifr = document.createElement('iframe');\n"
|
| + "document.body.appendChild(ifr);\n"
|
| + "window.domAutomationController.send("
|
| + "ifr.contentDocument.execCommand('paste'));";
|
| + return ExecuteScriptInSelectedTab(kScript, result);
|
| +}
|
| +
|
| bool ClipboardApiTest::ExecuteScriptInSelectedTab(const std::string& script,
|
| bool* result) {
|
| if (!content::ExecuteScriptAndExtractBool(
|
| @@ -100,6 +120,10 @@ IN_PROC_BROWSER_TEST_F(ClipboardApiTest, HostedApp) {
|
| EXPECT_TRUE(result);
|
| ASSERT_TRUE(ExecutePasteInSelectedTab(&result)) << message_;
|
| EXPECT_TRUE(result);
|
| + ASSERT_TRUE(ExecuteCopyInIframeInSelectedTab(&result)) << message_;
|
| + EXPECT_TRUE(result);
|
| + ASSERT_TRUE(ExecutePasteInIframeInSelectedTab(&result)) << message_;
|
| + EXPECT_TRUE(result);
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(ClipboardApiTest, HostedAppNoPermission) {
|
| @@ -111,5 +135,9 @@ IN_PROC_BROWSER_TEST_F(ClipboardApiTest, HostedAppNoPermission) {
|
| EXPECT_FALSE(result);
|
| ASSERT_TRUE(ExecutePasteInSelectedTab(&result)) << message_;
|
| EXPECT_FALSE(result);
|
| + ASSERT_TRUE(ExecuteCopyInIframeInSelectedTab(&result)) << message_;
|
| + EXPECT_FALSE(result);
|
| + ASSERT_TRUE(ExecutePasteInIframeInSelectedTab(&result)) << message_;
|
| + EXPECT_FALSE(result);
|
| }
|
|
|
|
|