| Index: chrome/test/data/extensions/api_test/content_scripts/css_l10n/background.js
|
| ===================================================================
|
| --- chrome/test/data/extensions/api_test/content_scripts/css_l10n/background.js (revision 0)
|
| +++ chrome/test/data/extensions/api_test/content_scripts/css_l10n/background.js (revision 0)
|
| @@ -0,0 +1,74 @@
|
| +// 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 firstEnter = true;
|
| +
|
| +chrome.test.getConfig(function(config) {
|
| + chrome.test.log('Creating tab...');
|
| +
|
| + var URL = 'http://localhost:PORT/files/extensions/test_file_with_body.html';
|
| + var TEST_FILE_URL = URL.replace(/PORT/, config.testServer.port);
|
| +
|
| + chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
|
| + if (changeInfo.status != 'complete')
|
| + return;
|
| + if (!firstEnter)
|
| + return;
|
| + firstEnter = false;
|
| +
|
| + // We need to test two different paths, because the message bundles used
|
| + // for localization are loaded differently in each case:
|
| + // (1) localization upon loading extension scripts
|
| + // (2) localization upon injecting CSS with JavaScript
|
| + chrome.test.runTests([
|
| +
|
| + // Tests that CSS loaded automatically from the files specified in the
|
| + // manifest has had __MSG_@@extension_id__ replaced with the actual
|
| + // extension id.
|
| + function extensionIDMessageGetsReplacedInContentScriptCSS() {
|
| + chrome.extension.onRequest.addListener(
|
| + function(request, sender, sendResponse) {
|
| + if (request.tag == 'extension_id') {
|
| + if (request.message == 'passed') {
|
| + chrome.test.succeed();
|
| + } else {
|
| + chrome.test.fail(request.message);
|
| + }
|
| + }
|
| + }
|
| + );
|
| + var script_file = {};
|
| + script_file.file = 'test_extension_id.js';
|
| + chrome.tabs.executeScript(tabId, script_file);
|
| + },
|
| +
|
| + // First injects CSS into the page through chrome.tabs.insertCSS and then
|
| + // checks that it has had __MSG_text_color__ replaced with the correct
|
| + // message value.
|
| + function textDirectionMessageGetsReplacedInInsertCSSCall() {
|
| + chrome.extension.onRequest.addListener(
|
| + function(request, sender, sendResponse) {
|
| + if (request.tag == 'paragraph_style') {
|
| + if (request.message == 'passed') {
|
| + chrome.test.succeed();
|
| + } else {
|
| + chrome.test.fail(request.message);
|
| + }
|
| + }
|
| + }
|
| + );
|
| + var css_file = {};
|
| + css_file.file = 'test.css';
|
| + chrome.tabs.insertCSS(tabId, css_file, function() {
|
| + var script_file = {};
|
| + script_file.file = 'test_paragraph_style.js';
|
| + chrome.tabs.executeScript(tabId,script_file);
|
| + });
|
| + }
|
| +
|
| + ]);
|
| + });
|
| +
|
| + chrome.tabs.create({ url: TEST_FILE_URL });
|
| +});
|
|
|