| Index: chrome/test/data/extensions/api_test/executescript/fragment/background.js
|
| ===================================================================
|
| --- chrome/test/data/extensions/api_test/executescript/fragment/background.js (revision 0)
|
| +++ chrome/test/data/extensions/api_test/executescript/fragment/background.js (revision 0)
|
| @@ -0,0 +1,70 @@
|
| +// Copyright (c) 2011 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.
|
| +
|
| +var got_request = false;
|
| +
|
| +var test_url = "http://localhost:PORT/files/extensions/test_file.html";
|
| +
|
| +// For running in normal chrome (ie outside of the browser_tests environment),
|
| +// set debug to 1 here.
|
| +var debug = 0;
|
| +if (debug) {
|
| + test_url = "http://www.google.com/";
|
| + chrome.test.log = function(msg) { console.log(msg) };
|
| + chrome.test.runTests = function(tests) {
|
| + for (var i in tests) {
|
| + tests[i]();
|
| + }
|
| + };
|
| + chrome.test.succeed = function(){ console.log("succeed"); };
|
| + chrome.test.fail = function(){ console.log("fail"); };
|
| +}
|
| +
|
| +function navigate_to_fragment(tab, callback) {
|
| + var new_url = test_url + "#foo";
|
| + chrome.test.log("navigating tab to " + new_url);
|
| + chrome.tabs.update(tab.id, {"url": new_url}, callback);
|
| +}
|
| +
|
| +var succeeded = false;
|
| +
|
| +function do_execute(tab) {
|
| + chrome.tabs.executeScript(tab.id, {"file": "execute_script.js"});
|
| + setTimeout(function() {
|
| + if (!succeeded) {
|
| + chrome.test.fail("timed out");
|
| + }
|
| + }, 10000);
|
| +}
|
| +
|
| +function runTests() {
|
| + chrome.test.runTests([
|
| + // When the tab is created, a content script will send a request letting
|
| + // know the onload has fired. Then we navigate to a fragment, and try
|
| + // running chrome.tabs.executeScript.
|
| + function test1() {
|
| + chrome.extension.onRequest.addListener(function(req, sender) {
|
| + chrome.test.log("got request: " + JSON.stringify(req));
|
| + if (req == "content_script") {
|
| + navigate_to_fragment(sender.tab, do_execute);
|
| + } else if (req == "execute_script") {
|
| + suceeded = true;
|
| + chrome.test.succeed();
|
| + }
|
| + });
|
| + chrome.test.log("creating tab");
|
| + chrome.tabs.create({"url": test_url});
|
| + }
|
| + ]);
|
| +}
|
| +
|
| +if (debug) {
|
| + // No port to fix. Run tests directly.
|
| + runTests();
|
| +} else {
|
| + chrome.test.getConfig(function(config) {
|
| + test_url = test_url.replace(/PORT/, config.testServer.port);
|
| + runTests();
|
| + });
|
| +}
|
|
|