| Index: chrome/test/data/extensions/api_test/content_scripts/about_blank_srcdoc/test.js
|
| diff --git a/chrome/test/data/extensions/api_test/content_scripts/about_blank_srcdoc/test.js b/chrome/test/data/extensions/api_test/content_scripts/about_blank_srcdoc/test.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..dd273662c0e1c64721f95c7702cb53d00e05c487
|
| --- /dev/null
|
| +++ b/chrome/test/data/extensions/api_test/content_scripts/about_blank_srcdoc/test.js
|
| @@ -0,0 +1,90 @@
|
| +// Copyright (c) 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +chrome.test.getConfig(function(config) {
|
| + chrome.test.runTests([
|
| + function testAboutBlankInFrame() {
|
| + chrome.runtime.onMessage.addListener(function onMessageListener(message) {
|
| + chrome.runtime.onMessage.removeListener(onMessageListener);
|
| + chrome.test.assertEq('message from about:blank', message);
|
| + chrome.test.succeed();
|
| + });
|
| + chrome.test.log('Creating tab...');
|
| + var test_url =
|
| + ('http://localhost:PORT/extensions/' +
|
| + 'test_file_with_about_blank_iframe.html')
|
| + .replace(/PORT/, config.testServer.port);
|
| + chrome.tabs.create({ url: test_url });
|
| + },
|
| + function testAboutSrcdocFrame() {
|
| + chrome.runtime.onMessage.addListener(function onMessageListener(message) {
|
| + chrome.runtime.onMessage.removeListener(onMessageListener);
|
| + chrome.test.assertEq('message from about:srcdoc', message);
|
| + chrome.test.succeed();
|
| + });
|
| + chrome.test.log('Creating tab...');
|
| + var test_url =
|
| + ('http://localhost:PORT/extensions/' +
|
| + 'api_test/webnavigation/srcdoc/a.html')
|
| + .replace(/PORT/, config.testServer.port);
|
| + chrome.tabs.create({ url: test_url });
|
| + },
|
| + function testAboutBlankInTopLevelFrame() {
|
| + chrome.runtime.onMessage.addListener(function onMessageListener(message) {
|
| + chrome.runtime.onMessage.removeListener(onMessageListener);
|
| + chrome.test.assertEq('message from about:blank', message);
|
| + chrome.test.succeed();
|
| + });
|
| +
|
| + // Create tab using window.open on an existing page to inherit the origin
|
| + // of the document.
|
| + chrome.test.log('Creating tab using window.open("about:blank")...');
|
| + chrome.tabs.query({
|
| + url: '*://*/*test_file_with_about_blank_iframe*'
|
| + }, function(tabs) {
|
| + chrome.test.assertTrue(tabs.length > 0);
|
| + chrome.tabs.executeScript(tabs[0].id, {
|
| + code: 'window.open("about:blank");'
|
| + }, function() {
|
| + chrome.test.assertNoLastError();
|
| + });
|
| + });
|
| + },
|
| + // chrome.tabs.executeScript should run in the frame
|
| + function testExecuteScriptInFrame() {
|
| + chrome.tabs.query({
|
| + url: '*://*/*test_file_with_about_blank_iframe*'
|
| + }, function(tabs) {
|
| + chrome.test.assertTrue(tabs.length > 0);
|
| + chrome.tabs.executeScript(tabs[0].id, {
|
| + code: 'frameElement && (frameElement.src || "about:blank")',
|
| + matchesAboutBlank: true,
|
| + allFrames: true
|
| + }, function(results) {
|
| + chrome.test.assertNoLastError();
|
| + chrome.test.assertTrue(results.indexOf('about:blank') >= 0);
|
| + chrome.test.succeed();
|
| + });
|
| + });
|
| + },
|
| + // chtome.tabs.executeScript should run in about:srcdoc frames
|
| + function testExecuteScriptInSrcdocFrame() {
|
| + chrome.tabs.query({
|
| + url: '*://*/*srcdoc*'
|
| + }, function(tabs) {
|
| + chrome.test.assertTrue(tabs.length > 0);
|
| + chrome.tabs.executeScript(tabs[0].id, {
|
| + code: 'frameElement && frameElement.srcdoc && "srcdoc"',
|
| + matchesAboutBlank: true,
|
| + allFrames: true
|
| + }, function(results) {
|
| + chrome.test.assertNoLastError();
|
| + chrome.test.assertTrue(results.indexOf('srcdoc') >= 0,
|
| + 'contentscript should be able to run in srcdoc frame');
|
| + chrome.test.succeed();
|
| + });
|
| + });
|
| + }
|
| + ]);
|
| +});
|
|
|