| Index: chrome/test/data/extensions/api_test/clipboard/extension/test.js
|
| diff --git a/chrome/test/data/extensions/api_test/clipboard/extension/test.js b/chrome/test/data/extensions/api_test/clipboard/extension/test.js
|
| index 3ee936e20dd72822eb00aa84a25633f78cfd8028..28b34762371c985c56477a8724d2d639193530d2 100644
|
| --- a/chrome/test/data/extensions/api_test/clipboard/extension/test.js
|
| +++ b/chrome/test/data/extensions/api_test/clipboard/extension/test.js
|
| @@ -5,33 +5,35 @@
|
| // Clipboard permission test for Chrome.
|
| // browser_tests.exe --gtest_filter=ClipboardApiTest.Extension
|
|
|
| -chrome.test.runTests([
|
| - function domCopy() {
|
| - if (document.execCommand('copy'))
|
| - chrome.test.succeed();
|
| - else
|
| - chrome.test.fail('execCommand("copy") failed');
|
| - },
|
| - function domPaste() {
|
| - if (document.execCommand('paste'))
|
| - chrome.test.succeed();
|
| - else
|
| - chrome.test.fail('execCommand("paste") failed');
|
| - },
|
| - function copyInIframe() {
|
| - var ifr = document.createElement('iframe');
|
| - document.body.appendChild(ifr);
|
| - window.command = 'copy';
|
| - ifr.contentDocument.write('<script src="iframe.js"></script>');
|
| - },
|
| - function pasteInIframe() {
|
| - var ifr = document.createElement('iframe');
|
| - document.body.appendChild(ifr);
|
| - window.command = 'paste';
|
| - ifr.contentDocument.write('<script src="iframe.js"></script>');
|
| - }
|
| -]);
|
| +// TODO(kalman): Consolidate this test script with the other clipboard tests.
|
|
|
| +function testDomCopy() {
|
| + if (document.execCommand('copy'))
|
| + chrome.test.succeed();
|
| + else
|
| + chrome.test.fail('execCommand("copy") failed');
|
| +}
|
| +
|
| +function testDomPaste() {
|
| + if (document.execCommand('paste'))
|
| + chrome.test.succeed();
|
| + else
|
| + chrome.test.fail('execCommand("paste") failed');
|
| +}
|
| +
|
| +function testCopyInIframe() {
|
| + var ifr = document.createElement('iframe');
|
| + document.body.appendChild(ifr);
|
| + window.command = 'copy';
|
| + ifr.contentDocument.write('<script src="iframe.js"></script>');
|
| +}
|
| +
|
| +function testPasteInIframe() {
|
| + var ifr = document.createElement('iframe');
|
| + document.body.appendChild(ifr);
|
| + window.command = 'paste';
|
| + ifr.contentDocument.write('<script src="iframe.js"></script>');
|
| +}
|
|
|
| function testDone(result) {
|
| if (result)
|
| @@ -39,3 +41,40 @@ function testDone(result) {
|
| else
|
| chrome.test.fail();
|
| }
|
| +
|
| +function testExecuteScriptCopyPaste(tabUrl) {
|
| + function runScript(tabId) {
|
| + var done = chrome.test.listenForever(chrome.runtime.onMessage,
|
| + function(message, sender) {
|
| + if (sender.tab.id == tabId) {
|
| + chrome.tabs.remove(sender.tab.id);
|
| + chrome.test.assertEq('', message);
|
| + done();
|
| + chrome.test.succeed();
|
| + }
|
| + });
|
| + chrome.tabs.executeScript(tabId, {file: 'content_script.js'});
|
| + }
|
| +
|
| + chrome.tabs.create({url: tabUrl}, chrome.test.callbackPass(function(newTab) {
|
| + var done = chrome.test.listenForever(chrome.tabs.onUpdated,
|
| + function(_, info, updatedTab) {
|
| + if (updatedTab.id == newTab.id && info.status == 'complete') {
|
| + runScript(newTab.id);
|
| + done();
|
| + }
|
| + });
|
| + }));
|
| +}
|
| +
|
| +chrome.test.getConfig(function(config) {
|
| + var tabUrl = 'http://localhost:' + config.testServer.port +
|
| + '/extensions/test_file.html';
|
| + chrome.test.runTests([
|
| + testDomCopy,
|
| + testDomPaste,
|
| + testCopyInIframe,
|
| + testPasteInIframe,
|
| + testExecuteScriptCopyPaste.bind(null, tabUrl)
|
| + ]);
|
| +})
|
|
|