mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 09:18:42 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
121
devtools/client/styleeditor/test/head.js
Normal file
121
devtools/client/styleeditor/test/head.js
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
/* All top-level definitions here are exports. */
|
||||
/* eslint no-unused-vars: [2, {"vars": "local"}] */
|
||||
|
||||
"use strict";
|
||||
|
||||
/* import-globals-from ../../inspector/shared/test/head.js */
|
||||
Services.scriptloader.loadSubScript(
|
||||
"chrome://mochitests/content/browser/devtools/client/inspector/shared/test/head.js", this);
|
||||
|
||||
const TEST_BASE = "chrome://mochitests/content/browser/devtools/client/styleeditor/test/";
|
||||
const TEST_BASE_HTTP = "http://example.com/browser/devtools/client/styleeditor/test/";
|
||||
const TEST_BASE_HTTPS = "https://example.com/browser/devtools/client/styleeditor/test/";
|
||||
const TEST_HOST = "mochi.test:8888";
|
||||
|
||||
/**
|
||||
* Add a new test tab in the browser and load the given url.
|
||||
* @param {String} url The url to be loaded in the new tab
|
||||
* @param {Window} win The window to add the tab to (default: current window).
|
||||
* @return a promise that resolves to the tab object when the url is loaded
|
||||
*/
|
||||
var addTab = function (url, win) {
|
||||
info("Adding a new tab with URL: '" + url + "'");
|
||||
let def = defer();
|
||||
|
||||
let targetWindow = win || window;
|
||||
let targetBrowser = targetWindow.gBrowser;
|
||||
|
||||
let tab = targetBrowser.selectedTab = targetBrowser.addTab(url);
|
||||
BrowserTestUtils.browserLoaded(targetBrowser.selectedBrowser)
|
||||
.then(function () {
|
||||
info("URL '" + url + "' loading complete");
|
||||
def.resolve(tab);
|
||||
});
|
||||
|
||||
return def.promise;
|
||||
};
|
||||
|
||||
/**
|
||||
* Navigate the currently selected tab to a new URL and wait for it to load.
|
||||
* @param {String} url The url to be loaded in the current tab.
|
||||
* @return a promise that resolves when the page has fully loaded.
|
||||
*/
|
||||
var navigateTo = Task.async(function* (url) {
|
||||
info(`Navigating to ${url}`);
|
||||
let browser = gBrowser.selectedBrowser;
|
||||
|
||||
let navigating = defer();
|
||||
browser.addEventListener("load", function onload() {
|
||||
browser.removeEventListener("load", onload, true);
|
||||
navigating.resolve();
|
||||
}, true);
|
||||
|
||||
browser.loadURI(url);
|
||||
|
||||
yield navigating.promise;
|
||||
});
|
||||
|
||||
var navigateToAndWaitForStyleSheets = Task.async(function* (url, ui) {
|
||||
let onReset = ui.once("stylesheets-reset");
|
||||
yield navigateTo(url);
|
||||
yield onReset;
|
||||
});
|
||||
|
||||
var reloadPageAndWaitForStyleSheets = Task.async(function* (ui) {
|
||||
info("Reloading the page.");
|
||||
|
||||
let onReset = ui.once("stylesheets-reset");
|
||||
let browser = gBrowser.selectedBrowser;
|
||||
yield ContentTask.spawn(browser, null, "() => content.location.reload()");
|
||||
yield onReset;
|
||||
});
|
||||
|
||||
/**
|
||||
* Open the style editor for the current tab.
|
||||
*/
|
||||
var openStyleEditor = Task.async(function* (tab) {
|
||||
if (!tab) {
|
||||
tab = gBrowser.selectedTab;
|
||||
}
|
||||
let target = TargetFactory.forTab(tab);
|
||||
let toolbox = yield gDevTools.showToolbox(target, "styleeditor");
|
||||
let panel = toolbox.getPanel("styleeditor");
|
||||
let ui = panel.UI;
|
||||
|
||||
return { toolbox, panel, ui };
|
||||
});
|
||||
|
||||
/**
|
||||
* Creates a new tab in specified window navigates it to the given URL and
|
||||
* opens style editor in it.
|
||||
*/
|
||||
var openStyleEditorForURL = Task.async(function* (url, win) {
|
||||
let tab = yield addTab(url, win);
|
||||
let result = yield openStyleEditor(tab);
|
||||
result.tab = tab;
|
||||
return result;
|
||||
});
|
||||
|
||||
/**
|
||||
* Send an async message to the frame script and get back the requested
|
||||
* computed style property.
|
||||
*
|
||||
* @param {String} selector
|
||||
* The selector used to obtain the element.
|
||||
* @param {String} pseudo
|
||||
* pseudo id to query, or null.
|
||||
* @param {String} name
|
||||
* name of the property.
|
||||
*/
|
||||
var getComputedStyleProperty = function* (args) {
|
||||
return yield ContentTask.spawn(gBrowser.selectedBrowser, args,
|
||||
function ({selector, pseudo, name}) {
|
||||
let element = content.document.querySelector(selector);
|
||||
let style = content.getComputedStyle(element, pseudo);
|
||||
return style.getPropertyValue(name);
|
||||
}
|
||||
);
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue