| 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..20da52acda627c935b35c2e5ca8ab7e4806ad8f0 100644
|
| --- a/chrome/browser/extensions/extension_dom_clipboard_apitest.cc
|
| +++ b/chrome/browser/extensions/extension_dom_clipboard_apitest.cc
|
| @@ -19,11 +19,13 @@ class ClipboardApiTest : public ExtensionApiTest {
|
| public:
|
| bool LoadHostedApp(const std::string& app_name,
|
| const std::string& launch_page);
|
| - bool ExecuteCopyInSelectedTab(bool* result);
|
| - bool ExecutePasteInSelectedTab(bool* result);
|
| + bool ExecuteCopyInSelectedTab();
|
| + bool ExecutePasteInSelectedTab();
|
| + bool ExecuteCopyInIframeInSelectedTab();
|
| + bool ExecutePasteInIframeInSelectedTab();
|
|
|
| private:
|
| - bool ExecuteScriptInSelectedTab(const std::string& script, bool* result);
|
| + bool ExecuteScriptInSelectedTab(const std::string& script);
|
| };
|
|
|
| bool ClipboardApiTest::LoadHostedApp(const std::string& app_name,
|
| @@ -55,28 +57,43 @@ bool ClipboardApiTest::LoadHostedApp(const std::string& app_name,
|
| return true;
|
| }
|
|
|
| -bool ClipboardApiTest::ExecuteCopyInSelectedTab(bool* result) {
|
| +bool ClipboardApiTest::ExecuteCopyInSelectedTab() {
|
| const char kScript[] =
|
| "window.domAutomationController.send(document.execCommand('copy'))";
|
| - return ExecuteScriptInSelectedTab(kScript, result);
|
| + return ExecuteScriptInSelectedTab(kScript);
|
| }
|
|
|
| -bool ClipboardApiTest::ExecutePasteInSelectedTab(bool* result) {
|
| +bool ClipboardApiTest::ExecutePasteInSelectedTab() {
|
| const char kScript[] =
|
| "window.domAutomationController.send(document.execCommand('paste'))";
|
| - return ExecuteScriptInSelectedTab(kScript, result);
|
| + return ExecuteScriptInSelectedTab(kScript);
|
| }
|
|
|
| -bool ClipboardApiTest::ExecuteScriptInSelectedTab(const std::string& script,
|
| - bool* result) {
|
| - if (!content::ExecuteScriptAndExtractBool(
|
| - browser()->tab_strip_model()->GetActiveWebContents(),
|
| - script,
|
| - result)) {
|
| - message_ = "Failed to execute script in selected tab.";
|
| - return false;
|
| - }
|
| - return true;
|
| +bool ClipboardApiTest::ExecuteCopyInIframeInSelectedTab() {
|
| + 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);
|
| +}
|
| +
|
| +bool ClipboardApiTest::ExecuteScriptInSelectedTab(const std::string& script) {
|
| + bool result;
|
| + CHECK(content::ExecuteScriptAndExtractBool(
|
| + browser()->tab_strip_model()->GetActiveWebContents(),
|
| + script,
|
| + &result));
|
| + return result;
|
| }
|
|
|
| } // namespace
|
| @@ -95,21 +112,19 @@ IN_PROC_BROWSER_TEST_F(ClipboardApiTest, ExtensionNoPermission) {
|
| IN_PROC_BROWSER_TEST_F(ClipboardApiTest, HostedApp) {
|
| ASSERT_TRUE(LoadHostedApp("hosted_app", "main.html")) << message_;
|
|
|
| - bool result = false;
|
| - ASSERT_TRUE(ExecuteCopyInSelectedTab(&result)) << message_;
|
| - EXPECT_TRUE(result);
|
| - ASSERT_TRUE(ExecutePasteInSelectedTab(&result)) << message_;
|
| - EXPECT_TRUE(result);
|
| + EXPECT_TRUE(ExecuteCopyInSelectedTab()) << message_;
|
| + EXPECT_TRUE(ExecutePasteInSelectedTab()) << message_;
|
| + EXPECT_TRUE(ExecuteCopyInIframeInSelectedTab()) << message_;
|
| + EXPECT_TRUE(ExecutePasteInIframeInSelectedTab()) << message_;
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(ClipboardApiTest, HostedAppNoPermission) {
|
| ASSERT_TRUE(LoadHostedApp("hosted_app_no_permission", "main.html"))
|
| << message_;
|
|
|
| - bool result = false;
|
| - ASSERT_TRUE(ExecuteCopyInSelectedTab(&result)) << message_;
|
| - EXPECT_FALSE(result);
|
| - ASSERT_TRUE(ExecutePasteInSelectedTab(&result)) << message_;
|
| - EXPECT_FALSE(result);
|
| + EXPECT_FALSE(ExecuteCopyInSelectedTab()) << message_;
|
| + EXPECT_FALSE(ExecutePasteInSelectedTab()) << message_;
|
| + EXPECT_FALSE(ExecuteCopyInIframeInSelectedTab()) << message_;
|
| + EXPECT_FALSE(ExecutePasteInIframeInSelectedTab()) << message_;
|
| }
|
|
|
|
|