зеркало из https://github.com/mozilla/gecko-dev.git
Merge mozilla-central to inbound. a=merge CLOSED TREE
This commit is contained in:
Коммит
58b4822076
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1217,8 +1217,12 @@
|
|||
onselect="if (event.target.localName == 'tabpanels') gBrowser.updateCurrentBrowser();">
|
||||
<tabpanels flex="1" class="plain" selectedIndex="0" id="tabbrowser-tabpanels">
|
||||
<notificationbox flex="1" notificationside="top">
|
||||
<hbox flex="1" class="browserSidebarContainer">
|
||||
<vbox flex="1" class="browserContainer">
|
||||
<!-- Set large flex to allow the devtools toolbox to set a flex attribute.
|
||||
We don't want the toolbox to actually take up free space, but we do want it to collapse when the window shrinks, and with flex=0 it can't.
|
||||
When the toolbox is on the bottom it's a sibling of browserSidebarContainer,
|
||||
and when it's on the side it's a sibling of browserContainer. -->
|
||||
<hbox flex="10000" class="browserSidebarContainer">
|
||||
<vbox flex="10000" class="browserContainer">
|
||||
<stack flex="1" class="browserStack">
|
||||
<browser id="tabbrowser-initialBrowser" type="content"
|
||||
message="true" messagemanagergroup="browsers"
|
||||
|
|
|
@ -21,6 +21,7 @@ for (let script of [
|
|||
"chrome://browser/content/browser-places.js",
|
||||
"chrome://browser/content/browser-plugins.js",
|
||||
"chrome://browser/content/browser-sidebar.js",
|
||||
"chrome://browser/content/browser-siteIdentity.js",
|
||||
"chrome://browser/content/browser-tabsintitlebar.js",
|
||||
"chrome://browser/content/browser-trackingprotection.js",
|
||||
|
||||
|
|
|
@ -1868,13 +1868,13 @@ window._gBrowser = {
|
|||
let browserContainer = document.createElementNS(this._XUL_NS, "vbox");
|
||||
browserContainer.className = "browserContainer";
|
||||
browserContainer.appendChild(stack);
|
||||
browserContainer.setAttribute("flex", "1");
|
||||
browserContainer.setAttribute("flex", "10000");
|
||||
|
||||
// Create the sidebar container
|
||||
let browserSidebarContainer = document.createElementNS(this._XUL_NS, "hbox");
|
||||
browserSidebarContainer.className = "browserSidebarContainer";
|
||||
browserSidebarContainer.appendChild(browserContainer);
|
||||
browserSidebarContainer.setAttribute("flex", "1");
|
||||
browserSidebarContainer.setAttribute("flex", "10000");
|
||||
|
||||
// Add the Message and the Browser to the box
|
||||
let notificationbox = document.createElementNS(this._XUL_NS, "notificationbox");
|
||||
|
|
|
@ -66,6 +66,7 @@ browser.jar:
|
|||
content/browser/browser-plugins.js (content/browser-plugins.js)
|
||||
content/browser/browser-safebrowsing.js (content/browser-safebrowsing.js)
|
||||
content/browser/browser-sidebar.js (content/browser-sidebar.js)
|
||||
content/browser/browser-siteIdentity.js (content/browser-siteIdentity.js)
|
||||
content/browser/browser-sync.js (content/browser-sync.js)
|
||||
* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
|
||||
content/browser/browser-tabsintitlebar.js (content/browser-tabsintitlebar.js)
|
||||
|
|
|
@ -291,6 +291,15 @@ var Policies = {
|
|||
}
|
||||
},
|
||||
|
||||
"DisableProfileRefresh": {
|
||||
onBeforeUIStartup(manager, param) {
|
||||
if (param) {
|
||||
manager.disallowFeature("profileRefresh");
|
||||
setAndLockPref("browser.disableResetPrompt", true);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"DisableSafeMode": {
|
||||
onBeforeUIStartup(manager, param) {
|
||||
if (param) {
|
||||
|
|
|
@ -234,6 +234,13 @@
|
|||
"type": "boolean"
|
||||
},
|
||||
|
||||
"DisableProfileRefresh": {
|
||||
"description": "Disables the \"Refresh Firefox\" button in about:support",
|
||||
"first_available": "60.0",
|
||||
|
||||
"type": "boolean"
|
||||
},
|
||||
|
||||
"DisableSafeMode": {
|
||||
"description": "Prevents ability to restart in safe mode.",
|
||||
"first_available": "60.0",
|
||||
|
|
|
@ -107,6 +107,8 @@ var PoliciesPrefTracker = {
|
|||
|
||||
if (defaults.has(prefName)) {
|
||||
stored.originalDefaultValue = defaults.get(prefName);
|
||||
} else {
|
||||
stored.originalDefaultValue = undefined;
|
||||
}
|
||||
|
||||
if (Preferences.isSet(prefName) &&
|
||||
|
@ -137,6 +139,8 @@ var PoliciesPrefTracker = {
|
|||
|
||||
if (stored.originalDefaultValue !== undefined) {
|
||||
defaults.set(prefName, stored.originalDefaultValue);
|
||||
} else {
|
||||
Services.prefs.getDefaultBranch("").deleteBranch(prefName);
|
||||
}
|
||||
|
||||
if (stored.originalUserValue !== undefined) {
|
||||
|
|
|
@ -37,6 +37,7 @@ support-files =
|
|||
[browser_policy_disable_pocket.js]
|
||||
[browser_policy_disable_popup_blocker.js]
|
||||
[browser_policy_disable_privatebrowsing.js]
|
||||
[browser_policy_disable_profile_reset.js]
|
||||
[browser_policy_disable_safemode.js]
|
||||
[browser_policy_disable_shield.js]
|
||||
[browser_policy_disable_telemetry.js]
|
||||
|
|
|
@ -122,12 +122,16 @@ add_task(async function test_pref_tracker() {
|
|||
|
||||
setAndLockPref("test1.pref1", 20);
|
||||
setDefaultPref("test1.pref2", "NEW VALUE");
|
||||
setAndLockPref("test1.pref3", "NEW VALUE");
|
||||
setDefaultPref("test1.pref4", 20);
|
||||
|
||||
PoliciesPrefTracker.restoreDefaultValues();
|
||||
|
||||
is(Services.prefs.getIntPref("test1.pref1"), 10, "Expected value for test1.pref1");
|
||||
is(Services.prefs.getStringPref("test1.pref2"), "test", "Expected value for test1.pref2");
|
||||
is(Services.prefs.prefIsLocked("test1.pref1"), false, "test1.pref1 got unlocked");
|
||||
is(Services.prefs.getStringPref("test1.pref3", undefined), undefined, "test1.pref3 should have had its value unset");
|
||||
is(Services.prefs.getIntPref("test1.pref4", -1), -1, "test1.pref4 should have had its value unset");
|
||||
|
||||
// Test a pref that had a default value and a user value
|
||||
defaults.setIntPref("test2.pref1", 10);
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
"use strict";
|
||||
|
||||
let {ResetProfile} = ChromeUtils.import("resource://gre/modules/ResetProfile.jsm", {});
|
||||
|
||||
// For this test to work properly, this profile actually needs to be
|
||||
// "reset-able", which requires that it be recognized by the profile service
|
||||
add_task(async function setup() {
|
||||
let profileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile);
|
||||
let profileName = profileDirectory.leafName;
|
||||
let profileService = Cc["@mozilla.org/toolkit/profile-service;1"].
|
||||
getService(Ci.nsIToolkitProfileService);
|
||||
let createdProfile = profileService.createProfile(profileDirectory, profileName);
|
||||
profileService.flush();
|
||||
registerCleanupFunction(async function cleanup() {
|
||||
// Pass false to remove it from the profile service without deleting files.
|
||||
createdProfile.remove(false);
|
||||
});
|
||||
});
|
||||
|
||||
async function test_reset_disabled({disabled}) {
|
||||
is(ResetProfile.resetSupported(), !disabled,
|
||||
"Reset should only be supported if policy has not been applied");
|
||||
is(Services.prefs.getBoolPref("browser.disableResetPrompt", undefined),
|
||||
disabled, "Reset prompt should only be shown if policy has not been applied");
|
||||
is(Services.prefs.prefIsLocked("browser.disableResetPrompt"), disabled,
|
||||
"Reset prompt pref should be locked if the policy has been applied");
|
||||
|
||||
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:support");
|
||||
// eslint-disable-next-line no-shadow
|
||||
await ContentTask.spawn(tab.linkedBrowser, {disabled}, async function({disabled}) {
|
||||
let resetBox = content.document.getElementById("reset-box");
|
||||
let elementStyle = content.window.getComputedStyle(resetBox);
|
||||
let expectedDisplayValue = disabled ? "none" : "block";
|
||||
is(elementStyle.display, expectedDisplayValue,
|
||||
"about:support Reset button box should be hidden");
|
||||
});
|
||||
await BrowserTestUtils.removeTab(tab);
|
||||
}
|
||||
|
||||
add_task(async function test_initial_conditions() {
|
||||
await test_reset_disabled({disabled: false});
|
||||
});
|
||||
|
||||
add_task(async function test_policy_disable_reset() {
|
||||
await setupPolicyEngineWithJson({
|
||||
"policies": {
|
||||
"DisableProfileRefresh": true
|
||||
}
|
||||
});
|
||||
await test_reset_disabled({disabled: true});
|
||||
});
|
|
@ -274,7 +274,6 @@ var gMenuBuilder = {
|
|||
item.tabManager.addActiveTabPermission();
|
||||
}
|
||||
|
||||
let tab = contextData.tab && item.tabManager.convert(contextData.tab);
|
||||
let info = item.getClickInfo(contextData, wasChecked);
|
||||
|
||||
const map = {shiftKey: "Shift", altKey: "Alt", metaKey: "Command", ctrlKey: "Ctrl"};
|
||||
|
@ -295,7 +294,7 @@ var gMenuBuilder = {
|
|||
actionFor(item.extension).triggerAction(win);
|
||||
}
|
||||
|
||||
item.extension.emit("webext-menu-menuitem-click", info, tab);
|
||||
item.extension.emit("webext-menu-menuitem-click", info, contextData.tab);
|
||||
});
|
||||
|
||||
// Don't publish the ID of the root because the root element is
|
||||
|
@ -885,8 +884,9 @@ this.menusInternal = class extends ExtensionAPI {
|
|||
},
|
||||
|
||||
onClicked: new EventManager(context, "menusInternal.onClicked", fire => {
|
||||
let listener = (event, info, tab) => {
|
||||
let {linkedBrowser} = tab || tabTracker.activeTab;
|
||||
let listener = (event, info, nativeTab) => {
|
||||
let {linkedBrowser} = nativeTab || tabTracker.activeTab;
|
||||
let tab = nativeTab && extension.tabManager.convert(nativeTab);
|
||||
context.withPendingBrowser(linkedBrowser,
|
||||
() => fire.sync(info, tab));
|
||||
};
|
||||
|
|
|
@ -1,14 +1,40 @@
|
|||
"use strict";
|
||||
|
||||
/**
|
||||
* Wait for the given PopupNotification to display
|
||||
*
|
||||
* @param {string} name
|
||||
* The name of the notification to wait for.
|
||||
*
|
||||
* @returns {Promise}
|
||||
* Resolves with the notification window.
|
||||
*/
|
||||
function promisePopupNotificationShown(name) {
|
||||
return new Promise(resolve => {
|
||||
function popupshown() {
|
||||
let notification = PopupNotifications.getNotification(name);
|
||||
if (!notification) { return; }
|
||||
|
||||
ok(notification, `${name} notification shown`);
|
||||
ok(PopupNotifications.isPanelOpen, "notification panel open");
|
||||
|
||||
PopupNotifications.panel.removeEventListener("popupshown", popupshown);
|
||||
resolve(PopupNotifications.panel.firstChild);
|
||||
}
|
||||
|
||||
PopupNotifications.panel.addEventListener("popupshown", popupshown);
|
||||
});
|
||||
}
|
||||
|
||||
// Test that different types of events are all considered
|
||||
// "handling user input".
|
||||
add_task(async function testSources() {
|
||||
let extension = ExtensionTestUtils.loadExtension({
|
||||
async background() {
|
||||
async function request() {
|
||||
async function request(perm) {
|
||||
try {
|
||||
let result = await browser.permissions.request({
|
||||
permissions: ["cookies"],
|
||||
permissions: [perm],
|
||||
});
|
||||
browser.test.sendMessage("request", {success: true, result});
|
||||
} catch (err) {
|
||||
|
@ -19,15 +45,15 @@ add_task(async function testSources() {
|
|||
let tabs = await browser.tabs.query({active: true, currentWindow: true});
|
||||
await browser.pageAction.show(tabs[0].id);
|
||||
|
||||
browser.pageAction.onClicked.addListener(request);
|
||||
browser.browserAction.onClicked.addListener(request);
|
||||
browser.pageAction.onClicked.addListener(() => request("bookmarks"));
|
||||
browser.browserAction.onClicked.addListener(() => request("tabs"));
|
||||
|
||||
browser.contextMenus.create({
|
||||
id: "menu",
|
||||
title: "test user events",
|
||||
contexts: ["page"],
|
||||
});
|
||||
browser.contextMenus.onClicked.addListener(request);
|
||||
browser.contextMenus.onClicked.addListener(() => request("webNavigation"));
|
||||
|
||||
browser.test.sendMessage("actions-ready");
|
||||
},
|
||||
|
@ -36,7 +62,7 @@ add_task(async function testSources() {
|
|||
browser_action: {default_title: "test"},
|
||||
page_action: {default_title: "test"},
|
||||
permissions: ["contextMenus"],
|
||||
optional_permissions: ["cookies"],
|
||||
optional_permissions: ["bookmarks", "tabs", "webNavigation"],
|
||||
},
|
||||
});
|
||||
|
||||
|
@ -52,12 +78,24 @@ add_task(async function testSources() {
|
|||
await extension.startup();
|
||||
await extension.awaitMessage("actions-ready");
|
||||
|
||||
promisePopupNotificationShown("addon-webext-permissions").then(panel => {
|
||||
panel.button.click();
|
||||
});
|
||||
|
||||
clickPageAction(extension);
|
||||
await check("page action click");
|
||||
|
||||
promisePopupNotificationShown("addon-webext-permissions").then(panel => {
|
||||
panel.button.click();
|
||||
});
|
||||
|
||||
clickBrowserAction(extension);
|
||||
await check("browser action click");
|
||||
|
||||
promisePopupNotificationShown("addon-webext-permissions").then(panel => {
|
||||
panel.button.click();
|
||||
});
|
||||
|
||||
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser);
|
||||
gBrowser.selectedTab = tab;
|
||||
|
||||
|
|
|
@ -400,7 +400,6 @@ PlacesController.prototype = {
|
|||
var nodeData = {};
|
||||
var node = nodes[i];
|
||||
var nodeType = node.type;
|
||||
var uri = null;
|
||||
|
||||
// We don't use the nodeIs* methods here to avoid going through the type
|
||||
// property way too often
|
||||
|
@ -422,13 +421,15 @@ PlacesController.prototype = {
|
|||
case Ci.nsINavHistoryResultNode.RESULT_TYPE_FOLDER:
|
||||
case Ci.nsINavHistoryResultNode.RESULT_TYPE_FOLDER_SHORTCUT:
|
||||
nodeData.folder = true;
|
||||
if (this.hasCachedLivemarkInfo(node)) {
|
||||
nodeData.livemark = true;
|
||||
}
|
||||
break;
|
||||
case Ci.nsINavHistoryResultNode.RESULT_TYPE_SEPARATOR:
|
||||
nodeData.separator = true;
|
||||
break;
|
||||
case Ci.nsINavHistoryResultNode.RESULT_TYPE_URI:
|
||||
nodeData.link = true;
|
||||
uri = Services.io.newURI(node.uri);
|
||||
if (PlacesUtils.nodeIsBookmark(node)) {
|
||||
nodeData.bookmark = true;
|
||||
var parentNode = node.parent;
|
||||
|
@ -442,20 +443,6 @@ PlacesController.prototype = {
|
|||
break;
|
||||
}
|
||||
|
||||
// annotations
|
||||
if (uri) {
|
||||
let names = PlacesUtils.annotations.getPageAnnotationNames(uri);
|
||||
for (let j = 0; j < names.length; ++j)
|
||||
nodeData[names[j]] = true;
|
||||
}
|
||||
|
||||
// For items also include the item-specific annotations
|
||||
if (node.itemId != -1) {
|
||||
let names = PlacesUtils.annotations
|
||||
.getItemAnnotationNames(node.itemId);
|
||||
for (let j = 0; j < names.length; ++j)
|
||||
nodeData[names[j]] = true;
|
||||
}
|
||||
metadata.push(nodeData);
|
||||
}
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@
|
|||
label="&cmd.reloadLivebookmark.label;"
|
||||
accesskey="&cmd.reloadLivebookmark.accesskey;"
|
||||
closemenu="single"
|
||||
selection="livemark/feedURI"/>
|
||||
selection="livemark"/>
|
||||
<menuseparator id="placesContext_sortSeparator"/>
|
||||
<menuitem id="placesContext_show:info"
|
||||
command="placesCmd_show:info"
|
||||
|
@ -133,4 +133,4 @@
|
|||
accesskey="&cmd.properties.accesskey;"
|
||||
selection="bookmark|folder|query"
|
||||
forcehideselection="livemarkChild"/>
|
||||
</menupopup>
|
||||
</menupopup>
|
||||
|
|
|
@ -12,5 +12,4 @@ override chrome://testOverride/content file:///test1/override
|
|||
manifest loaded.manifest
|
||||
|
||||
# Failure Cases
|
||||
overlay chrome://test1/content/overlay.xul chrome://test1/content/test1.xul
|
||||
style chrome://test1/content/style.xul chrome://test1/content/test1.css
|
||||
|
|
|
@ -38,22 +38,16 @@ function test_removed_mapping(chromeURL, target) {
|
|||
}
|
||||
|
||||
/*
|
||||
* Checks if any overlay was added after loading
|
||||
* Checks if any style overlays were added after loading
|
||||
* the manifest files
|
||||
*
|
||||
* @param type The type of overlay: overlay|style
|
||||
*/
|
||||
function test_no_overlays(chromeURL, target, type = "overlay") {
|
||||
function test_no_overlays(chromeURL, target) {
|
||||
var uri = Services.io.newURI(chromeURL);
|
||||
var overlays = (type == "overlay") ?
|
||||
gCR.getXULOverlays(uri) : gCR.getStyleOverlays(uri);
|
||||
var overlays = gCR.getStyleOverlays(uri);
|
||||
|
||||
// We shouldn't be allowed to register overlays nor styles
|
||||
// We shouldn't be allowed to register styles
|
||||
if (overlays.hasMoreElements()) {
|
||||
if (type == "styles")
|
||||
do_throw("Style Registered: " + chromeURL);
|
||||
else
|
||||
do_throw("Overlay Registered: " + chromeURL);
|
||||
do_throw("Style Registered: " + chromeURL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -78,15 +72,10 @@ function testManifest(manifestPath, baseURI) {
|
|||
// Test Adding Override
|
||||
test_mapping("chrome://testOverride/content", "file:///test1/override");
|
||||
|
||||
// Test Not-Adding Overlays
|
||||
test_no_overlays("chrome://test1/content/overlay.xul",
|
||||
"chrome://test1/content/test1.xul");
|
||||
|
||||
// Test Not-Adding Styles
|
||||
test_no_overlays("chrome://test1/content/style.xul",
|
||||
"chrome://test1/content/test1.css", "styles");
|
||||
|
||||
|
||||
// ------------------ Remove manifest file ------------------------
|
||||
Components.manager.removeBootstrappedManifestLocation(manifestPath);
|
||||
|
||||
|
|
|
@ -92,15 +92,12 @@ add_task(async function() {
|
|||
info("Test emphasis path");
|
||||
// Scroll to show the hintEl since the element may be out of displayed area.
|
||||
hintEl.scrollIntoView(false);
|
||||
const win = hintEl.ownerGlobal;
|
||||
|
||||
const win = hintEl.ownerDocument.defaultView;
|
||||
// Mouse out once from hintEl.
|
||||
EventUtils.synthesizeMouse(hintEl, -1, -1, {type: "mouseout"}, win);
|
||||
is(win.getComputedStyle(hintEl).strokeOpacity, 0,
|
||||
`stroke-opacity of hintEl for ${ testIdentity } should be 0 ` +
|
||||
`while mouse is out from the element`);
|
||||
// Mouse is over the hintEl.
|
||||
EventUtils.synthesizeMouseAtCenter(hintEl, {type: "mouseover"}, win);
|
||||
// Mouse is over the hintEl. Ideally this would use EventUtils, but mouseover
|
||||
// on the path element is flaky, so let's trust that hovering works and force
|
||||
// on a hover class to get the same styles.
|
||||
hintEl.classList.add("hover");
|
||||
if (testdata.noEmphasisPath) {
|
||||
is(win.getComputedStyle(hintEl).strokeOpacity, 0,
|
||||
`stroke-opacity of hintEl for ${ testIdentity } should be 0 ` +
|
||||
|
@ -110,6 +107,11 @@ add_task(async function() {
|
|||
`stroke-opacity of hintEl for ${ testIdentity } should be 1 ` +
|
||||
`while mouse is over the element`);
|
||||
}
|
||||
// Mouse out once from hintEl.
|
||||
hintEl.classList.remove("hover");
|
||||
is(win.getComputedStyle(hintEl).strokeOpacity, 0,
|
||||
`stroke-opacity of hintEl for ${ testIdentity } should be 0 ` +
|
||||
`while mouse is out from the element`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,6 +67,7 @@ BottomHost.prototype = {
|
|||
this._splitter.setAttribute("resizebefore", "flex");
|
||||
|
||||
this.frame = ownerDocument.createElement("iframe");
|
||||
this.frame.flex = 1; // Required to be able to shrink when the window shrinks
|
||||
this.frame.className = "devtools-toolbox-bottom-iframe";
|
||||
this.frame.height = Math.min(
|
||||
Services.prefs.getIntPref(this.heightPref),
|
||||
|
@ -154,6 +155,7 @@ SidebarHost.prototype = {
|
|||
this._splitter.setAttribute("class", "devtools-side-splitter");
|
||||
|
||||
this.frame = ownerDocument.createElement("iframe");
|
||||
this.frame.flex = 1; // Required to be able to shrink when the window shrinks
|
||||
this.frame.className = "devtools-toolbox-side-iframe";
|
||||
|
||||
this.frame.width = Math.min(
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
height set to a small value without flexing to fill up extra
|
||||
space. There must be a flex on both to ensure that the console
|
||||
panel itself is sized properly -->
|
||||
<box id="toolbox-deck" flex="1000" minheight="75" />
|
||||
<box id="toolbox-deck" flex="10000" minheight="75" />
|
||||
<splitter id="toolbox-console-splitter" class="devtools-horizontal-splitter" hidden="true" />
|
||||
<box minheight="75" flex="1" id="toolbox-panel-webconsole" collapsed="true" />
|
||||
</vbox>
|
||||
|
|
|
@ -202,3 +202,30 @@ add_task(async function() {
|
|||
let {inspector} = await openInspectorForURL(TEST_URL);
|
||||
await checkTreeFromRootSelector(EXPECTED_TREE, "test-component", inspector);
|
||||
});
|
||||
|
||||
add_task(async function() {
|
||||
await enableWebComponents();
|
||||
|
||||
// Test empty web components are still displayed correctly.
|
||||
|
||||
const TEST_URL = `data:text/html;charset=utf-8,
|
||||
<test-component></test-component>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
customElements.define("test-component", class extends HTMLElement {
|
||||
constructor() {
|
||||
super();
|
||||
let shadowRoot = this.attachShadow({mode: "open"});
|
||||
shadowRoot.innerHTML = "";
|
||||
}
|
||||
});
|
||||
</script>`;
|
||||
|
||||
const EXPECTED_TREE = `
|
||||
test-component
|
||||
#shadow-root`;
|
||||
|
||||
let {inspector} = await openInspectorForURL(TEST_URL);
|
||||
await checkTreeFromRootSelector(EXPECTED_TREE, "test-component", inspector);
|
||||
});
|
||||
|
|
|
@ -42,9 +42,9 @@ function testGraph(host, graph) {
|
|||
|
||||
let bounds = host.frame.getBoundingClientRect();
|
||||
|
||||
is(graph.width, bounds.width * window.devicePixelRatio,
|
||||
is(graph.width, Math.round(bounds.width * window.devicePixelRatio),
|
||||
"The graph has the correct width.");
|
||||
is(graph.height, bounds.height * window.devicePixelRatio,
|
||||
is(graph.height, Math.round(bounds.height * window.devicePixelRatio),
|
||||
"The graph has the correct height.");
|
||||
|
||||
ok(graph._selection.start === null,
|
||||
|
|
|
@ -702,7 +702,10 @@ body {
|
|||
fill: none;
|
||||
}
|
||||
|
||||
.keyframes svg path.hint:hover {
|
||||
/* Note: We only use the hover class in a mochitest due to flakiness
|
||||
when simulating mouseover (Bug 1448555). */
|
||||
.keyframes svg path.hint:hover,
|
||||
.keyframes svg path.hint.hover {
|
||||
stroke-opacity: 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -412,7 +412,7 @@ html .jsterm-stack-node {
|
|||
textarea.jsterm-input-node,
|
||||
textarea.jsterm-complete-node {
|
||||
width: 100%;
|
||||
border: none;
|
||||
border: 1px solid transparent;
|
||||
margin: 0;
|
||||
background-color: transparent;
|
||||
resize: none;
|
||||
|
@ -436,6 +436,14 @@ textarea.jsterm-complete-node {
|
|||
textarea.jsterm-input-node:focus {
|
||||
background-image: var(--theme-command-line-image-focus);
|
||||
box-shadow: none;
|
||||
border: 1px solid var(--blue-50);
|
||||
transition: border-color 0.2s ease-in-out;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
:root[platform="mac"] textarea.jsterm-input-node,
|
||||
:root[platform="mac"] textarea.jsterm-complete-node {
|
||||
border-radius: 0 0 4px 4px;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -261,6 +261,8 @@ JSTerm.prototype = {
|
|||
let inputContainer = doc.querySelector(".jsterm-input-container");
|
||||
this.completeNode = doc.querySelector(".jsterm-complete-node");
|
||||
this.inputNode = doc.querySelector(".jsterm-input-node");
|
||||
this.inputBorderSize = this.inputNode.getBoundingClientRect().height -
|
||||
this.inputNode.clientHeight;
|
||||
// Update the character width and height needed for the popup offset
|
||||
// calculations.
|
||||
this._updateCharSize();
|
||||
|
@ -1038,7 +1040,7 @@ JSTerm.prototype = {
|
|||
inputNode.inputField.scrollHeight : inputNode.scrollHeight;
|
||||
|
||||
if (scrollHeight > 0) {
|
||||
inputNode.style.height = scrollHeight + "px";
|
||||
inputNode.style.height = (scrollHeight + this.inputBorderSize) + "px";
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
@ -706,35 +706,30 @@ var WalkerActor = protocol.ActorClassWithSpec(walkerSpec, {
|
|||
}
|
||||
|
||||
if (isShadowHost) {
|
||||
let {before, after} = this._getBeforeAfterElements(node.rawNode);
|
||||
// Use anonymous walkers to fetch ::before / ::after pseudo elements
|
||||
let firstChildWalker = this.getDocumentWalker(node.rawNode);
|
||||
let first = firstChildWalker.firstChild();
|
||||
let hasBefore = first && this._ref(first).isBeforePseudoElement;
|
||||
|
||||
let lastChildWalker = this.getDocumentWalker(node.rawNode);
|
||||
let last = lastChildWalker.lastChild();
|
||||
let hasAfter = last && this._ref(last).isAfterPseudoElement;
|
||||
|
||||
nodes = [
|
||||
// #shadow-root
|
||||
this._ref(node.rawNode.shadowRoot),
|
||||
// ::before
|
||||
...(before ? [before] : []),
|
||||
...(hasBefore ? [this._ref(first)] : []),
|
||||
// shadow host direct children
|
||||
...nodes,
|
||||
// ::after
|
||||
...(after ? [after] : []),
|
||||
...(hasAfter ? [this._ref(last)] : []),
|
||||
];
|
||||
}
|
||||
|
||||
return { hasFirst, hasLast, nodes };
|
||||
},
|
||||
|
||||
_getBeforeAfterElements: function(node) {
|
||||
let firstChildWalker = this.getDocumentWalker(node);
|
||||
let before = this._ref(firstChildWalker.firstChild());
|
||||
|
||||
let lastChildWalker = this.getDocumentWalker(node);
|
||||
let after = this._ref(lastChildWalker.lastChild());
|
||||
|
||||
return {
|
||||
before: before.isBeforePseudoElement ? before : undefined,
|
||||
after: after.isAfterPseudoElement ? after : undefined,
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* Get the next sibling of a given node. Getting nodes one at a time
|
||||
* might be inefficient, be careful.
|
||||
|
|
|
@ -2259,6 +2259,21 @@ XULDocument::LoadOverlayInternal(nsIURI* aURI, bool aIsDynamic,
|
|||
{
|
||||
nsresult rv;
|
||||
|
||||
// XUL overlays are in the process of being removed. In a Firefox build,
|
||||
// loading an overlay will cause a crash as they are no longer allowed.
|
||||
// However, overlays are allowed in other applications (e.g. Thunderbird)
|
||||
// while they work on removing them. See bug 1448162.
|
||||
#ifdef MOZ_CRASH_XUL_OVERLAYS
|
||||
nsCString docSpec;
|
||||
mCurrentPrototype->GetURI()->GetSpec(docSpec);
|
||||
nsCString overlaySpec;
|
||||
aURI->GetSpec(overlaySpec);
|
||||
printf("Attempt to load overlay %s into %s\n",
|
||||
overlaySpec.get(),
|
||||
docSpec.get());
|
||||
MOZ_CRASH("Attempt to load overlay");
|
||||
#endif
|
||||
|
||||
*aShouldReturn = false;
|
||||
*aFailureFromContent = false;
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><iframe/></overlay>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xul-overlay href="extA1.xul"?>
|
||||
<?xul-overlay href="extB1.xul"?>
|
||||
<?xul-overlay href="extA2.xul"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<vbox id="browser-bottombox">
|
||||
</vbox>
|
||||
</window>
|
|
@ -1,3 +0,0 @@
|
|||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<window id="win" removeelement="true"/>
|
||||
</overlay>
|
|
@ -1,3 +0,0 @@
|
|||
<?xul-overlay href="509719-1-overlay.xul"?>
|
||||
<window id="win" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
</window>
|
|
@ -1,8 +0,0 @@
|
|||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<script>
|
||||
if (document.getElementById("testnode")) {
|
||||
document.loadOverlay(window.location.href.substr(0,window.location.href.lastIndexOf('/')+1)+'509719-2-overlay.xul', null);
|
||||
}
|
||||
</script>
|
||||
<box xmlns="http://www.w3.org/1999/xhtml" id="testnode" removeelement="true"/>
|
||||
</overlay>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
|
||||
<window id="win" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<box id="testnode" onDOMAttrModified="this.parentNode.removeChild(this)"/>
|
||||
<script>
|
||||
document.loadOverlay(window.location.href.substr(0,window.location.href.lastIndexOf('/')+1)+'509719-2-overlay.xul', null);
|
||||
</script>
|
||||
</window>
|
|
@ -22,11 +22,7 @@ load 425821-1.xul
|
|||
load 428951-1.xul
|
||||
load 429085-1.xhtml
|
||||
load 431906-1.html
|
||||
load 451311-1.xul
|
||||
load 461917-1.xhtml
|
||||
load 468211-1.xul
|
||||
load 468211-2.xul
|
||||
load 468211-3.xul
|
||||
load 495635-1.xul
|
||||
load 509719-1.xul
|
||||
asserts(3) load 509719-2.xul # bug 909819
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE overlay SYSTEM "chrome://exta/locale/exta.dtd">
|
||||
<overlay id="extA1"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<vbox id="browser-bottombox">
|
||||
<statusbar id="extAbar" />
|
||||
</vbox>
|
||||
</overlay>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE overlay SYSTEM "chrome://exta/locale/exta.dtd">
|
||||
<overlay id="extA2"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<statusbar id="extAbar">
|
||||
<statusbarpanel id="extApanel" label="panel 1">
|
||||
</statusbarpanel>
|
||||
<statusbarpanel id="extApanel2" label="panel 2" />
|
||||
</statusbar>
|
||||
</overlay>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<overlay id="extA2"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<statusbar id="extAbar" removeelement="true" />
|
||||
</overlay>
|
|
@ -7,6 +7,9 @@
|
|||
with Files("**"):
|
||||
BUG_COMPONENT = ("Core", "XUL")
|
||||
|
||||
if CONFIG['MOZ_BUILD_APP'] == 'browser':
|
||||
DEFINES['MOZ_CRASH_XUL_OVERLAYS'] = True
|
||||
|
||||
MOCHITEST_MANIFESTS += ['test/mochitest.ini']
|
||||
|
||||
MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:html="http://www.w3.org/1999/xhtml">
|
||||
<box onerror="document.loadOverlay('file:///does-not-exist', null);" >
|
||||
<html:script src="ftp://some.website.that.will.cause.an.error"/>
|
||||
</box>
|
||||
</window>
|
|
@ -1,16 +1,12 @@
|
|||
[DEFAULT]
|
||||
support-files =
|
||||
398289-resource.xul
|
||||
bug497875-iframe.xul
|
||||
overlay1_bug335375.xul
|
||||
overlay2_bug335375.xul
|
||||
window_bug583948.xul
|
||||
window_bug757137.xul
|
||||
|
||||
[test_bug199692.xul]
|
||||
[test_bug233643.xul]
|
||||
[test_bug311681.xul]
|
||||
[test_bug335375.xul]
|
||||
[test_bug391002.xul]
|
||||
[test_bug398289.html]
|
||||
[test_bug403868.xul]
|
||||
|
@ -19,9 +15,7 @@ support-files =
|
|||
[test_bug445177.xul]
|
||||
[test_bug449457.xul]
|
||||
[test_bug468176.xul]
|
||||
[test_bug497875.xul]
|
||||
[test_bug583948.xul]
|
||||
[test_bug640158_overlay_persist.xul]
|
||||
[test_bug757137.xul]
|
||||
[test_bug775972.xul]
|
||||
[test_bug1070049_throw_from_script.xul]
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<overlay id="overlay1"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<commandset id="test_commandset">
|
||||
<command id="cmd_test"/>
|
||||
</commandset>
|
||||
<toolbarbutton id="button_test"
|
||||
command="cmd_test"/>
|
||||
</overlay>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<overlay id="overlay2"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<command id="cmd_test" accesskey="C"/>
|
||||
</overlay>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<overlay id="overlay1"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<window id="rootwin">
|
||||
<box id="bar" testattr="original"/>
|
||||
</window>
|
||||
</overlay>
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
|
||||
<?xul-overlay href="overlay1_bug335375.xul"?>
|
||||
<?xul-overlay href="overlay2_bug335375.xul"?>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=335375
|
||||
-->
|
||||
<window title="Mozilla Bug 335375"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload="RunTest();">
|
||||
|
||||
<script type="application/javascript"
|
||||
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
|
||||
|
||||
<script type="application/javascript">
|
||||
<![CDATA[
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
function RunTest()
|
||||
{
|
||||
var cmd = document.getElementById("cmd_test");
|
||||
var button = document.getElementById("button_test");
|
||||
|
||||
is(cmd.getAttribute("accesskey"), "C",
|
||||
"checking command has an accesskey");
|
||||
is(button.getAttribute("accesskey"), cmd.getAttribute("accesskey"),
|
||||
"checking command and button have the same accesskey");
|
||||
|
||||
cmd.setAttribute("accesskey", "D");
|
||||
is(button.getAttribute("accesskey"), "D",
|
||||
"checking button has inherited new accesskey from command");
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
]]>
|
||||
</script>
|
||||
|
||||
<body xmlns="http://www.w3.org/1999/xhtml">
|
||||
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=335375"
|
||||
target="_blank">Mozilla Bug 335375</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
<pre id="test"></pre>
|
||||
</body>
|
||||
|
||||
<commandset id="test_commandset"/>
|
||||
<toolbarbutton id="button_test"/>
|
||||
|
||||
</window>
|
|
@ -1,53 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
|
||||
type="text/css"?>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=497875
|
||||
-->
|
||||
<window title="Mozilla Bug 497875"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<script type="application/javascript"
|
||||
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />
|
||||
|
||||
<body xmlns="http://www.w3.org/1999/xhtml">
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=497875">Mozilla Bug 497875</a>
|
||||
<p id="display"><iframe id="iframe" src="bug497875-iframe.xul"></iframe></p>
|
||||
<div id="content" style="display: none">
|
||||
|
||||
</div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
</body>
|
||||
|
||||
<script class="testbody" type="application/javascript">
|
||||
<![CDATA[
|
||||
|
||||
/** Test for Bug 497875 **/
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
function done_test() {
|
||||
var f = document.getElementById('iframe')
|
||||
f.src="about:blank"
|
||||
f.remove()
|
||||
ok(true, "this is a crashtest");
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
function do_test() {
|
||||
setTimeout(function () {document.getElementById('iframe').contentWindow.location.reload()}, 500);
|
||||
setTimeout(function () {document.getElementById('iframe').contentWindow.location.reload()}, 1000);
|
||||
setTimeout(function () {document.getElementById('iframe').contentWindow.location.reload()}, 1500);
|
||||
setTimeout(done_test, 2000);
|
||||
}
|
||||
|
||||
do_test();
|
||||
|
||||
|
||||
]]>
|
||||
</script>
|
||||
|
||||
</window>
|
|
@ -1,51 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=640158
|
||||
-->
|
||||
<window title="Mozilla Bug 640158" id="rootwin"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
|
||||
|
||||
<!-- test results are displayed in the html:body -->
|
||||
<body xmlns="http://www.w3.org/1999/xhtml">
|
||||
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=640158"
|
||||
target="_blank">Mozilla Bug 640158</a>
|
||||
</body>
|
||||
|
||||
<!-- test code goes here -->
|
||||
<script type="application/javascript"><![CDATA[
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
window.onload = function onload() {
|
||||
is($("foo").getAttribute("testattr"), "original", "Attribute should be in original state");
|
||||
// Change and persist another value:
|
||||
$("foo").setAttribute("testattr", "changed");
|
||||
document.persist("foo", "testattr");
|
||||
$("foo").setAttribute("testattr", "original");
|
||||
|
||||
// Hacky times: check that items which are overlaid do get persisted into correctly,
|
||||
// by first creating an extra element and persisting the value before loading an
|
||||
// overlay that changes that value - the persisted value should be reinstated.
|
||||
let root = document.documentElement;
|
||||
let bar = document.createElement("box");
|
||||
bar.id = "bar";
|
||||
bar.setAttribute("testattr", "changed"); // The overlay we load has 'original'
|
||||
root.appendChild(bar);
|
||||
document.persist("bar", "testattr");
|
||||
document.loadOverlay(location.href.replace(/[^\\\/]*.xul/, "overlay_bug640158.xul"), function() {
|
||||
is($("foo").getAttribute("testattr"), "original",
|
||||
"Non-overlaid attribute should still be in original state");
|
||||
is($("bar").getAttribute("testattr"), "changed",
|
||||
"Overlaid attribute should have been changed.");
|
||||
SimpleTest.finish();
|
||||
});
|
||||
}
|
||||
|
||||
]]></script>
|
||||
|
||||
<box id="foo" testattr="original"/>
|
||||
|
||||
</window>
|
||||
|
|
@ -78,8 +78,6 @@ AccessibleCaretManager::sCaretShownWhenLongTappingOnEmptyContent = false;
|
|||
/* static */ bool
|
||||
AccessibleCaretManager::sCaretsAlwaysTilt = false;
|
||||
/* static */ bool
|
||||
AccessibleCaretManager::sCaretsAlwaysShowWhenScrolling = true;
|
||||
/* static */ bool
|
||||
AccessibleCaretManager::sCaretsScriptUpdates = false;
|
||||
/* static */ bool
|
||||
AccessibleCaretManager::sCaretsAllowDraggingAcrossOtherCaret = true;
|
||||
|
@ -108,8 +106,6 @@ AccessibleCaretManager::AccessibleCaretManager(nsIPresShell* aPresShell)
|
|||
"layout.accessiblecaret.caret_shown_when_long_tapping_on_empty_content");
|
||||
Preferences::AddBoolVarCache(&sCaretsAlwaysTilt,
|
||||
"layout.accessiblecaret.always_tilt");
|
||||
Preferences::AddBoolVarCache(&sCaretsAlwaysShowWhenScrolling,
|
||||
"layout.accessiblecaret.always_show_when_scrolling", true);
|
||||
Preferences::AddBoolVarCache(&sCaretsScriptUpdates,
|
||||
"layout.accessiblecaret.allow_script_change_updates");
|
||||
Preferences::AddBoolVarCache(&sCaretsAllowDraggingAcrossOtherCaret,
|
||||
|
@ -652,15 +648,6 @@ AccessibleCaretManager::OnScrollStart()
|
|||
|
||||
mIsScrollStarted = true;
|
||||
|
||||
if (!sCaretsAlwaysShowWhenScrolling) {
|
||||
// Backup the appearance so that we can restore them after the scrolling
|
||||
// ends.
|
||||
mFirstCaretAppearanceOnScrollStart = mFirstCaret->GetAppearance();
|
||||
mSecondCaretAppearanceOnScrollStart = mSecondCaret->GetAppearance();
|
||||
HideCarets();
|
||||
return;
|
||||
}
|
||||
|
||||
if (mFirstCaret->IsLogicallyVisible() || mSecondCaret->IsLogicallyVisible()) {
|
||||
// Dispatch the event only if one of the carets is logically visible like in
|
||||
// HideCarets().
|
||||
|
@ -677,12 +664,6 @@ AccessibleCaretManager::OnScrollEnd()
|
|||
|
||||
mIsScrollStarted = false;
|
||||
|
||||
if (!sCaretsAlwaysShowWhenScrolling) {
|
||||
// Restore the appearance which is saved before the scrolling is started.
|
||||
mFirstCaret->SetAppearance(mFirstCaretAppearanceOnScrollStart);
|
||||
mSecondCaret->SetAppearance(mSecondCaretAppearanceOnScrollStart);
|
||||
}
|
||||
|
||||
if (GetCaretMode() == CaretMode::Cursor) {
|
||||
if (!mFirstCaret->IsLogicallyVisible()) {
|
||||
// If the caret is hidden (Appearance::None) due to blur, no
|
||||
|
|
|
@ -310,13 +310,6 @@ protected:
|
|||
// The caret mode since last update carets.
|
||||
CaretMode mLastUpdateCaretMode = CaretMode::None;
|
||||
|
||||
// Store the appearance of the carets when calling OnScrollStart() so that it
|
||||
// can be restored in OnScrollEnd().
|
||||
AccessibleCaret::Appearance mFirstCaretAppearanceOnScrollStart =
|
||||
AccessibleCaret::Appearance::None;
|
||||
AccessibleCaret::Appearance mSecondCaretAppearanceOnScrollStart =
|
||||
AccessibleCaret::Appearance::None;
|
||||
|
||||
// The last input source that the event hub saw. We use this to decide whether
|
||||
// or not show the carets when the selection is updated, as we want to hide
|
||||
// the carets for mouse-triggered selection changes but show them for other
|
||||
|
@ -355,11 +348,6 @@ protected:
|
|||
// carets become tilt only when they are overlapping.
|
||||
static bool sCaretsAlwaysTilt;
|
||||
|
||||
// Preference to allow carets always show when scrolling (either panning or
|
||||
// zooming) the page. When set to false, carets will hide during scrolling,
|
||||
// and show again after the user lifts the finger off the screen.
|
||||
static bool sCaretsAlwaysShowWhenScrolling;
|
||||
|
||||
// By default, javascript content selection changes closes AccessibleCarets and
|
||||
// UI interactions. Optionally, we can try to maintain the active UI, keeping
|
||||
// carets and ActionBar available.
|
||||
|
|
|
@ -61,7 +61,6 @@ public:
|
|||
using AccessibleCaretManager::HideCarets;
|
||||
using AccessibleCaretManager::sCaretShownWhenLongTappingOnEmptyContent;
|
||||
using AccessibleCaretManager::sCaretsAlwaysTilt;
|
||||
using AccessibleCaretManager::sCaretsAlwaysShowWhenScrolling;
|
||||
|
||||
MockAccessibleCaretManager()
|
||||
: AccessibleCaretManager(nullptr)
|
||||
|
@ -354,11 +353,6 @@ TEST_F(AccessibleCaretManagerTester, TestTypingAtEndOfInput) MOZ_CAN_RUN_SCRIPT
|
|||
TEST_F(AccessibleCaretManagerTester, TestScrollInSelectionMode)
|
||||
MOZ_CAN_RUN_SCRIPT
|
||||
{
|
||||
// Simulate caret hiding when scrolling.
|
||||
AutoRestore<bool> savesCaretsAlwaysShowWhenScrolling(
|
||||
MockAccessibleCaretManager::sCaretsAlwaysShowWhenScrolling);
|
||||
MockAccessibleCaretManager::sCaretsAlwaysShowWhenScrolling = false;
|
||||
|
||||
EXPECT_CALL(mManager, GetCaretMode())
|
||||
.WillRepeatedly(Return(CaretMode::Selection));
|
||||
|
||||
|
@ -375,9 +369,13 @@ MOZ_CAN_RUN_SCRIPT
|
|||
EXPECT_CALL(check, Call("updatecarets"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
CaretChangedReason::Visibilitychange));
|
||||
CaretChangedReason::Scroll));
|
||||
EXPECT_CALL(check, Call("scrollstart1"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
CaretChangedReason::Updateposition));
|
||||
EXPECT_CALL(check, Call("reflow1"));
|
||||
|
||||
// After scroll ended, first caret is visible and second caret is out of
|
||||
// scroll port.
|
||||
EXPECT_CALL(mManager.SecondCaret(), SetPosition(_, _))
|
||||
|
@ -388,9 +386,13 @@ MOZ_CAN_RUN_SCRIPT
|
|||
EXPECT_CALL(check, Call("scrollend1"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
CaretChangedReason::Visibilitychange));
|
||||
CaretChangedReason::Scroll));
|
||||
EXPECT_CALL(check, Call("scrollstart2"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
CaretChangedReason::Updateposition));
|
||||
EXPECT_CALL(check, Call("reflow2"));
|
||||
|
||||
// After the scroll ended, both carets are visible.
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
CaretChangedReason::Updateposition));
|
||||
|
@ -403,13 +405,14 @@ MOZ_CAN_RUN_SCRIPT
|
|||
check.Call("updatecarets");
|
||||
|
||||
mManager.OnScrollStart();
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::None);
|
||||
EXPECT_EQ(SecondCaretAppearance(), Appearance::None);
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::NormalNotShown);
|
||||
EXPECT_EQ(SecondCaretAppearance(), Appearance::Normal);
|
||||
check.Call("scrollstart1");
|
||||
|
||||
mManager.OnReflow();
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::None);
|
||||
EXPECT_EQ(SecondCaretAppearance(), Appearance::None);
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::NormalNotShown);
|
||||
EXPECT_EQ(SecondCaretAppearance(), Appearance::Normal);
|
||||
check.Call("reflow1");
|
||||
|
||||
mManager.OnScrollEnd();
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::Normal);
|
||||
|
@ -417,13 +420,14 @@ MOZ_CAN_RUN_SCRIPT
|
|||
check.Call("scrollend1");
|
||||
|
||||
mManager.OnScrollStart();
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::None);
|
||||
EXPECT_EQ(SecondCaretAppearance(), Appearance::None);
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::Normal);
|
||||
EXPECT_EQ(SecondCaretAppearance(), Appearance::NormalNotShown);
|
||||
check.Call("scrollstart2");
|
||||
|
||||
mManager.OnReflow();
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::None);
|
||||
EXPECT_EQ(SecondCaretAppearance(), Appearance::None);
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::Normal);
|
||||
EXPECT_EQ(SecondCaretAppearance(), Appearance::NormalNotShown);
|
||||
check.Call("reflow2");
|
||||
|
||||
mManager.OnScrollEnd();
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::Normal);
|
||||
|
@ -541,11 +545,6 @@ MOZ_CAN_RUN_SCRIPT
|
|||
TEST_F(AccessibleCaretManagerTester, TestScrollInCursorModeWhenLogicallyVisible)
|
||||
MOZ_CAN_RUN_SCRIPT
|
||||
{
|
||||
// Simulate caret hiding when scrolling.
|
||||
AutoRestore<bool> savesCaretsAlwaysShowWhenScrolling(
|
||||
MockAccessibleCaretManager::sCaretsAlwaysShowWhenScrolling);
|
||||
MockAccessibleCaretManager::sCaretsAlwaysShowWhenScrolling = false;
|
||||
|
||||
EXPECT_CALL(mManager, GetCaretMode())
|
||||
.WillRepeatedly(Return(CaretMode::Cursor));
|
||||
|
||||
|
@ -561,7 +560,7 @@ MOZ_CAN_RUN_SCRIPT
|
|||
EXPECT_CALL(check, Call("updatecarets"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
CaretChangedReason::Visibilitychange)).Times(1);
|
||||
CaretChangedReason::Scroll)).Times(1);
|
||||
EXPECT_CALL(check, Call("scrollstart1"));
|
||||
|
||||
// After scroll ended, the caret is out of scroll port.
|
||||
|
@ -572,7 +571,7 @@ MOZ_CAN_RUN_SCRIPT
|
|||
EXPECT_CALL(check, Call("scrollend1"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
CaretChangedReason::Visibilitychange)).Times(1);
|
||||
CaretChangedReason::Scroll)).Times(1);
|
||||
EXPECT_CALL(check, Call("scrollstart2"));
|
||||
|
||||
// After scroll ended, the caret is visible again.
|
||||
|
@ -588,7 +587,7 @@ MOZ_CAN_RUN_SCRIPT
|
|||
check.Call("updatecarets");
|
||||
|
||||
mManager.OnScrollStart();
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::None);
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::Normal);
|
||||
check.Call("scrollstart1");
|
||||
|
||||
mManager.OnScrollEnd();
|
||||
|
@ -596,7 +595,7 @@ MOZ_CAN_RUN_SCRIPT
|
|||
check.Call("scrollend1");
|
||||
|
||||
mManager.OnScrollStart();
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::None);
|
||||
EXPECT_EQ(FirstCaretAppearance(), Appearance::NormalNotShown);
|
||||
check.Call("scrollstart2");
|
||||
|
||||
mManager.OnScrollEnd();
|
||||
|
@ -607,11 +606,6 @@ MOZ_CAN_RUN_SCRIPT
|
|||
TEST_F(AccessibleCaretManagerTester, TestScrollInCursorModeWhenHidden)
|
||||
MOZ_CAN_RUN_SCRIPT
|
||||
{
|
||||
// Simulate caret hiding when scrolling.
|
||||
AutoRestore<bool> savesCaretsAlwaysShowWhenScrolling(
|
||||
MockAccessibleCaretManager::sCaretsAlwaysShowWhenScrolling);
|
||||
MockAccessibleCaretManager::sCaretsAlwaysShowWhenScrolling = false;
|
||||
|
||||
EXPECT_CALL(mManager, GetCaretMode())
|
||||
.WillRepeatedly(Return(CaretMode::Cursor));
|
||||
|
||||
|
@ -667,11 +661,6 @@ MOZ_CAN_RUN_SCRIPT
|
|||
TEST_F(AccessibleCaretManagerTester, TestScrollInCursorModeOnEmptyContent)
|
||||
MOZ_CAN_RUN_SCRIPT
|
||||
{
|
||||
// Simulate caret hiding when scrolling.
|
||||
AutoRestore<bool> savesCaretsAlwaysShowWhenScrolling(
|
||||
MockAccessibleCaretManager::sCaretsAlwaysShowWhenScrolling);
|
||||
MockAccessibleCaretManager::sCaretsAlwaysShowWhenScrolling = false;
|
||||
|
||||
EXPECT_CALL(mManager, GetCaretMode())
|
||||
.WillRepeatedly(Return(CaretMode::Cursor));
|
||||
|
||||
|
@ -687,7 +676,7 @@ MOZ_CAN_RUN_SCRIPT
|
|||
EXPECT_CALL(check, Call("updatecarets"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
CaretChangedReason::Visibilitychange));
|
||||
CaretChangedReason::Scroll));
|
||||
EXPECT_CALL(check, Call("scrollstart1"));
|
||||
|
||||
EXPECT_CALL(mManager.FirstCaret(), SetPosition(_, _))
|
||||
|
@ -697,7 +686,7 @@ MOZ_CAN_RUN_SCRIPT
|
|||
EXPECT_CALL(check, Call("scrollend1"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
CaretChangedReason::Visibilitychange));
|
||||
CaretChangedReason::Scroll));
|
||||
EXPECT_CALL(check, Call("scrollstart2"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
|
@ -705,7 +694,7 @@ MOZ_CAN_RUN_SCRIPT
|
|||
EXPECT_CALL(check, Call("scrollend2"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
CaretChangedReason::Visibilitychange));
|
||||
CaretChangedReason::Scroll));
|
||||
EXPECT_CALL(check, Call("scrollstart3"));
|
||||
|
||||
EXPECT_CALL(mManager, DispatchCaretStateChangedEvent(
|
||||
|
|
|
@ -1,11 +1,5 @@
|
|||
This directory contains various XUL document (mozilla/dom/xul/document) testcases for reftest.
|
||||
|
||||
test001: Checks that stylesheets referenced from an overlay via an
|
||||
xml-stylesheet PI are applied to the master document appropriately.
|
||||
|
||||
test002: Same as #1, but there's additional overlay between the master doc and
|
||||
the overlay with the stylesheet.
|
||||
|
||||
test003: Checks that dynamically removing the stylesheet PI from an inline
|
||||
script has expected effect.
|
||||
|
||||
|
@ -18,18 +12,11 @@ test005: Same as test003, but removing the stylesheet PI happens from a top-leve
|
|||
test006: Simple <?xml-stylesheet ?> instruction in the prolog has an effect and exists
|
||||
in the DOM.
|
||||
|
||||
test007: Same as #006 for xul-overlay PI.
|
||||
|
||||
test008: Handle stylesheet PIs pointing to nonexistent resources gracefully.
|
||||
|
||||
test009: Same as #008 for xul-overlay PIs
|
||||
|
||||
test010: PIs in the master document, outside the prolog, don't have any effect but get
|
||||
added to the DOM.
|
||||
|
||||
test011: (bug 363406) Relative URIs in overlay's <?xml-stylesheet ?> PI are
|
||||
resolved against overlay's URI, not the document URI.
|
||||
|
||||
test012: Tests that sheets references from <?xml-stylesheet ?> PIs are added to the
|
||||
document in the same order as the PIs themselves are in - the simple case.
|
||||
|
||||
|
@ -37,27 +24,4 @@ test013: Tests the same thing as #012, but for the case when the first sheet con
|
|||
an @import statement, which makes it -finish- loading earlier than the
|
||||
second sheet.
|
||||
|
||||
test014: (bug 363406) Relative URIs in overlay's <?xul-overlay ?> PI are resolved
|
||||
against overlay's URI, not the document URI.
|
||||
|
||||
test015: Relative URIs in overlay's <xul:script> are resolved against overlay's
|
||||
URI, not the document URI.
|
||||
|
||||
test016: Non-XUL elements work in overlays.
|
||||
|
||||
test017: (bug 359959) <?xul-overlay ?> used as a direct child of <overlay>
|
||||
should be inserted into the DOM, but not cause the overlay to be
|
||||
applied.
|
||||
|
||||
test018: <?xul-overlay ?> used deep inside another overlay (i.e. as a child of
|
||||
a 'hookup' node) should be inserted into the DOM, but not cause the
|
||||
overlay to be applied.
|
||||
|
||||
test019: Same as #017 for <?xml-stylesheet ?>
|
||||
|
||||
test020: Same as #018 for <?xml-stylesheet ?>
|
||||
|
||||
test021: (bug 363419) Non-XUL elements directly underneath <overlay> should
|
||||
be merged correctly into the base document.
|
||||
|
||||
test022: (bug 369828) <html:style> works in XUL documents
|
||||
|
|
|
@ -1,23 +1,9 @@
|
|||
== test001.xul reference-green-window.xul
|
||||
== test002.xul reference-green-window.xul
|
||||
== test003.xul reference-green-window.xul
|
||||
== test004.xul reference-green-window.xul
|
||||
== test005.xul reference-green-window.xul
|
||||
== test006.xul reference-green-window.xul
|
||||
== test007.xul reference-green-window.xul
|
||||
== test008.xul reference-green-window.xul
|
||||
== test009.xul reference-green-window.xul
|
||||
== test010.xul reference-green-window.xul
|
||||
== test011.xul reference-green-window.xul
|
||||
== test012.xul reference-green-window.xul
|
||||
== test013.xul reference-green-window.xul
|
||||
== test014.xul reference-green-window.xul
|
||||
# Disabled due to compartments for now.
|
||||
#== test015.xul reference-green-window.xul
|
||||
== test016.xul reference-green-window.xul
|
||||
== test017.xul reference-green-window.xul
|
||||
== test018.xul reference-green-window.xul
|
||||
== test019.xul reference-green-window.xul
|
||||
== test020.xul reference-green-window.xul
|
||||
== test021.xul reference-green-window.xul
|
||||
== test022.xul reference-green-window.xul
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xml-stylesheet href="test011.css" type="text/css"?>
|
||||
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>
|
|
@ -1,6 +0,0 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/ */
|
||||
|
||||
window {
|
||||
background-color: green !important;
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<window id="main" style="background-color: green"/>
|
||||
</overlay>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test014-overlay-2.xul"?>
|
||||
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<script src="test015.js"/>
|
||||
</overlay>
|
|
@ -1,8 +0,0 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/ */
|
||||
|
||||
function onLoad() {
|
||||
document.documentElement.style.backgroundColor = "green";
|
||||
}
|
||||
|
||||
addEventListener("load", onLoad, false);
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xml-stylesheet href="test001.css" type="text/css"?>
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>
|
|
@ -1,6 +0,0 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/ */
|
||||
|
||||
window {
|
||||
background-color: green !important;
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test001-overlay.xul" ?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
style="background-color: red"/>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test002-overlay-2.xul"?>
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xml-stylesheet href="test002.css" type="text/css"?>
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>
|
|
@ -1,6 +0,0 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/ */
|
||||
|
||||
window {
|
||||
background-color: green !important;
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test002-overlay-1.xul" ?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
style="background-color: red"/>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<window id="main" style="background-color: green"/>
|
||||
</overlay>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test007-overlay.xul"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: red"
|
||||
onload="checkDOM('xul-overlay', 'href="test007-overlay.xul"');">
|
||||
<script src="test006-007.js"/>
|
||||
</window>
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="not-existing.css"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
style="background-color: green">
|
||||
</window>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<window id="main" style="background-color: red !important"/>
|
||||
</overlay>
|
|
@ -7,7 +7,6 @@ http://creativecommons.org/licenses/publicdomain/
|
|||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
style="background-color: green">
|
||||
<?xml-stylesheet href="test010.css" type="text/css"?>
|
||||
<?xul-overlay href="test010-overlay.xul" ?>
|
||||
<script>
|
||||
function assert(x, msg) {
|
||||
if(!x) {
|
||||
|
@ -20,7 +19,6 @@ http://creativecommons.org/licenses/publicdomain/
|
|||
assert(document.firstChild.id == "main", "nothing in prolog");
|
||||
var winEl = document.documentElement;
|
||||
assert(winEl.childNodes[0].nodeName == "xml-stylesheet", "xml-stylesheet PI is in the correct place");
|
||||
assert(winEl.childNodes[1].nodeName == "xul-overlay", "xul-overlay PI is in the correct place");
|
||||
} catch(e) {
|
||||
dump(e);
|
||||
assert(false, e);
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="subdir/test011-overlay.xul"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
style="background-color: red;"/>
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="subdir/test014-overlay.xul"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: red;"/>
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="subdir/test015-overlay.xul"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: red;"/>
|
|
@ -1,14 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<window id="main">
|
||||
<style xmlns="http://www.w3.org/1999/xhtml">
|
||||
window {
|
||||
background-color: green !important;
|
||||
}
|
||||
</style>
|
||||
</window>
|
||||
</overlay>
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test016-overlay.xul"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: red;"/>
|
|
@ -1,13 +0,0 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/ */
|
||||
|
||||
// check that the second node under the document element is a PI with the
|
||||
// specified .target and .data
|
||||
function checkDOM(target, data) {
|
||||
// assume there are no whitespace nodes in XUL
|
||||
var piNode = document.documentElement.childNodes[1];
|
||||
if (!piNode || piNode.nodeType != Node.PROCESSING_INSTRUCTION_NODE ||
|
||||
piNode.target != target || piNode.data != data) {
|
||||
document.documentElement.style.backgroundColor = "red";
|
||||
}
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: red"/>
|
||||
</overlay>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<?xul-overlay href="test017-overlay-2.xul"?>
|
||||
</overlay>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test017-overlay.xul" ?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: green"
|
||||
onload="checkDOM('xul-overlay', 'href="test017-overlay-2.xul"');">
|
||||
<script src="test017-020.js"/>
|
||||
</window>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: red"/>
|
||||
</overlay>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<window id="main">
|
||||
<?xul-overlay href="test018-overlay-2.xul"?>
|
||||
</window>
|
||||
</overlay>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test018-overlay.xul" ?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: green"
|
||||
onload="checkDOM('xul-overlay', 'href="test018-overlay-2.xul"');">
|
||||
<script src="test017-020.js"/>
|
||||
</window>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<?xml-stylesheet href="test019.css" type="text/css"?>
|
||||
</overlay>
|
|
@ -1,6 +0,0 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/ */
|
||||
|
||||
window {
|
||||
background-color: red !important;
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test019-overlay.xul" ?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: green"
|
||||
onload="checkDOM('xml-stylesheet', 'href="test019.css" type="text/css"');">
|
||||
<script src="test017-020.js"/>
|
||||
</window>
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<window id="main">
|
||||
<?xml-stylesheet href="test020.css" type="text/css"?>
|
||||
</window>
|
||||
</overlay>
|
|
@ -1,6 +0,0 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/ */
|
||||
|
||||
window {
|
||||
background-color: red !important;
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test020-overlay.xul" ?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: green"
|
||||
onload="checkDOM('xml-stylesheet', 'href="test020.css" type="text/css"');">
|
||||
<script src="test017-020.js"/>
|
||||
</window>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<style xmlns="http://www.w3.org/1999/xhtml">
|
||||
window {
|
||||
background-color: green !important;
|
||||
}
|
||||
</style>
|
||||
</overlay>
|
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<?xul-overlay href="test021-overlay.xul"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
id="main"
|
||||
style="background-color: red;"/>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<overlay xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
<box id="b">
|
||||
<box onDOMAttrModified="event.target.parentNode.removeChild(event.target)" id="d"/>
|
||||
<tree/>
|
||||
</box>
|
||||
|
||||
<tree>
|
||||
<box id="b" observes="d"/>
|
||||
<treechildren observes="b"/>
|
||||
</tree>
|
||||
</overlay>
|
|
@ -1,3 +0,0 @@
|
|||
<?xul-overlay href="509602-1-overlay.xul"?>
|
||||
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
|
||||
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/>
|
|
@ -15,7 +15,6 @@ load 409807-1.xul
|
|||
load 414170-1.xul
|
||||
load 430394-1.xul
|
||||
load 479931-1.xhtml
|
||||
load 509602-1.xul
|
||||
load 585815.html
|
||||
load 601427.html
|
||||
load 730441-1.xul
|
||||
|
|
|
@ -5573,10 +5573,6 @@ pref("layout.accessiblecaret.use_long_tap_injector", false);
|
|||
// By default, carets become tilt only when they are overlapping.
|
||||
pref("layout.accessiblecaret.always_tilt", false);
|
||||
|
||||
// By default, carets always show when scrolling (either panning for zooming)
|
||||
// the page.
|
||||
pref("layout.accessiblecaret.always_show_when_scrolling", true);
|
||||
|
||||
// Selection change notifications generated by Javascript hide
|
||||
// AccessibleCarets and close UI interaction by default.
|
||||
pref("layout.accessiblecaret.allow_script_change_updates", false);
|
||||
|
|
|
@ -1163,4 +1163,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
|||
|
||||
static const int32_t kUnknownId = -1;
|
||||
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1531255523647000);
|
||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1531342340148000);
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -8,7 +8,7 @@
|
|||
/*****************************************************************************/
|
||||
|
||||
#include <stdint.h>
|
||||
const PRTime gPreloadListExpirationTime = INT64_C(1533674710431000);
|
||||
const PRTime gPreloadListExpirationTime = INT64_C(1533761527011000);
|
||||
%%
|
||||
0-1.party, 1
|
||||
0.me.uk, 1
|
||||
|
@ -1125,7 +1125,6 @@ abacus-events.co.uk, 1
|
|||
abacusbouncycastle.co.uk, 1
|
||||
abacustech.co.jp, 1
|
||||
abacustech.net, 1
|
||||
abacustech.org, 1
|
||||
abandonedmines.gov, 1
|
||||
abasky.net, 1
|
||||
abbadabbabouncycastles.co.uk, 1
|
||||
|
@ -1472,7 +1471,6 @@ adorecricket.com, 1
|
|||
adorewe.com, 1
|
||||
adoriasoft.com, 0
|
||||
adoucisseur.shop, 1
|
||||
adprospb.com, 1
|
||||
adquisitio.co.uk, 1
|
||||
adquisitio.es, 1
|
||||
adquisitio.fr, 1
|
||||
|
@ -2183,7 +2181,6 @@ alzonaprinting.com, 1
|
|||
am2s.fr, 1
|
||||
am3.se, 1
|
||||
ama.ne.jp, 1
|
||||
amaderelectronics.com, 1
|
||||
amadilo.de, 0
|
||||
amadoraslindas.com, 1
|
||||
amadvice.com, 1
|
||||
|
@ -2241,6 +2238,7 @@ american.dating, 1
|
|||
americandistribuidora.com, 1
|
||||
americanfoundationbr.com, 1
|
||||
americanmediainstitute.com, 1
|
||||
americanoutlawjeepparts.com, 1
|
||||
americasbasementcontractor.com, 1
|
||||
americkykongres.cz, 1
|
||||
amerigroup.com, 1
|
||||
|
@ -2304,6 +2302,7 @@ amyharrisonline.com, 1
|
|||
amyrussellhair.com, 1
|
||||
amyyeung.com, 1
|
||||
amzn.rocks, 1
|
||||
anacreon.de, 1
|
||||
anadoluefessk.org, 1
|
||||
anaethelion.fr, 1
|
||||
anaiscoachpersonal.es, 1
|
||||
|
@ -2729,7 +2728,7 @@ appify.org, 1
|
|||
apple-watch-zubehoer.de, 1
|
||||
apple.ax, 1
|
||||
applejacks-bouncy-castles.co.uk, 1
|
||||
applelife.ru, 1
|
||||
applelife.ru, 0
|
||||
applemon.com, 1
|
||||
appleoosa.com, 1
|
||||
appleranch.com, 1
|
||||
|
@ -2980,7 +2979,6 @@ arthur.cn, 1
|
|||
arthurlaw.ca, 1
|
||||
arthurmelo.com, 0
|
||||
articaexports.com, 1
|
||||
artificial.army, 1
|
||||
artik.cloud, 1
|
||||
artimpact.ch, 1
|
||||
artioml.net, 1
|
||||
|
@ -3088,6 +3086,7 @@ asmood.net, 1
|
|||
asoul.tw, 1
|
||||
aspargesgaarden.no, 1
|
||||
aspatrimoine.com, 1
|
||||
aspcl.ch, 1
|
||||
asperti.com, 1
|
||||
asphaltfruehling.de, 1
|
||||
asphyxia.su, 1
|
||||
|
@ -3487,6 +3486,7 @@ axiomer.eu, 1
|
|||
axiomer.me, 1
|
||||
axiomer.net, 1
|
||||
axiomer.org, 1
|
||||
axiumacademy.com, 1
|
||||
axka.com, 0
|
||||
axolotlfarm.org, 1
|
||||
axrec.de, 1
|
||||
|
@ -5012,7 +5012,6 @@ bluex.net, 1
|
|||
bluex.org, 1
|
||||
blueyed.eu, 1
|
||||
bluezonehealth.co.uk, 1
|
||||
blumen-binder.ch, 1
|
||||
blumen-garage.de, 1
|
||||
blumenfeldart.com, 1
|
||||
blumenwiese.xyz, 1
|
||||
|
@ -5098,6 +5097,7 @@ bogdanepureanu.ro, 1
|
|||
bogner.sh, 1
|
||||
bogobeats.com, 1
|
||||
bohan.co, 1
|
||||
bohramt.de, 1
|
||||
bohyn.cz, 1
|
||||
boilesen.com, 1
|
||||
boimmobilier.ch, 1
|
||||
|
@ -5895,6 +5895,7 @@ by1896.com, 1
|
|||
by1898.com, 1
|
||||
by1899.com, 1
|
||||
byatte.com, 1
|
||||
bydisk.com, 0
|
||||
byeskille.no, 1
|
||||
bygningsregistrering.dk, 1
|
||||
byiu.info, 1
|
||||
|
@ -6599,7 +6600,7 @@ cfda.gov, 1
|
|||
cfh.com, 1
|
||||
cfneia.org, 1
|
||||
cfno.org, 1
|
||||
cfo.gov, 0
|
||||
cfo.gov, 1
|
||||
cfpa-formation.fr, 1
|
||||
cfsh.tk, 1
|
||||
cftcarouge.com, 1
|
||||
|
@ -6773,6 +6774,7 @@ cheapessay.net, 1
|
|||
cheapestgamecards.at, 1
|
||||
cheapestgamecards.be, 1
|
||||
cheapestgamecards.co.uk, 1
|
||||
cheapestgamecards.com, 1
|
||||
cheapestgamecards.de, 1
|
||||
cheapestgamecards.fi, 1
|
||||
cheapestgamecards.fr, 1
|
||||
|
@ -7110,7 +7112,7 @@ cirugiasplasticas.com.mx, 1
|
|||
cirujanooral.com, 1
|
||||
cirurgicagervasio.com.br, 1
|
||||
cirurgicalucena.com.br, 1
|
||||
ciscodude.net, 1
|
||||
ciscodude.net, 0
|
||||
cisoaid.com, 1
|
||||
ciss.ltd, 1
|
||||
cisy.me, 1
|
||||
|
@ -7656,7 +7658,6 @@ comfintouch.com, 1
|
|||
comflores.com.br, 1
|
||||
comfypc.com, 1
|
||||
comhack.com, 1
|
||||
comicrelief.com, 1
|
||||
comicspornos.com, 1
|
||||
comicspornoxxx.com, 1
|
||||
comicwiki.dk, 1
|
||||
|
@ -7702,7 +7703,6 @@ compartir.party, 1
|
|||
compassdirectportal.com, 1
|
||||
compeat.com, 1
|
||||
compeuphoria.com, 1
|
||||
comphare.nl, 1
|
||||
compibus.fr, 1
|
||||
compilenix.org, 1
|
||||
completefloorcoverings.com, 1
|
||||
|
@ -7827,6 +7827,7 @@ constructive.men, 1
|
|||
consul.io, 1
|
||||
consultcelerity.com, 1
|
||||
consultingroupitaly.com, 1
|
||||
consultorcr.net, 1
|
||||
consultpetkov.com, 1
|
||||
consumeractionlawgroup.com, 1
|
||||
consumerfiles.com, 1
|
||||
|
@ -8299,7 +8300,6 @@ cryz.ru, 1
|
|||
cs-colorscreed-betongulve.dk, 1
|
||||
cs2016.ch, 1
|
||||
csabg.org, 1
|
||||
csacongress.org, 1
|
||||
csbs.fr, 1
|
||||
cscau.com, 1
|
||||
csehnyelv.hu, 1
|
||||
|
@ -9100,7 +9100,6 @@ deepsouthsounds.com, 1
|
|||
deepspace.dedyn.io, 0
|
||||
deepvalley.tech, 1
|
||||
deepzz.com, 1
|
||||
deer.team, 1
|
||||
deezeno.com, 1
|
||||
def-pos.ru, 1
|
||||
defcon.org, 1
|
||||
|
@ -9418,7 +9417,6 @@ devzero.io, 1
|
|||
dewaard.de, 1
|
||||
dewalch.net, 1
|
||||
dewapress.com, 1
|
||||
dewebwerf.nl, 1
|
||||
dewinter.com, 1
|
||||
dexalo.de, 1
|
||||
dezeregio.nl, 1
|
||||
|
@ -10411,7 +10409,6 @@ dustygroove.com, 1
|
|||
dustyspokesbnb.ca, 1
|
||||
dutch.desi, 1
|
||||
dutch1.nl, 1
|
||||
dutchessuganda.com, 1
|
||||
dutchrank.nl, 1
|
||||
dutchwanderers.nl, 1
|
||||
dutchweballiance.nl, 1
|
||||
|
@ -11239,7 +11236,6 @@ engineowning.com, 1
|
|||
enginepit.com, 1
|
||||
enginx.cn, 1
|
||||
enginx.net, 1
|
||||
englerts.de, 1
|
||||
englishbulgaria.net, 1
|
||||
englishcast.com.br, 1
|
||||
englishclub.com, 1
|
||||
|
@ -11385,7 +11381,6 @@ eprofitacademy.com, 1
|
|||
epsilon.dk, 1
|
||||
epsorting.cz, 1
|
||||
epublibre.org, 1
|
||||
epulsar.ru, 1
|
||||
epyonsuniverse.net, 1
|
||||
eq-serve.com, 1
|
||||
eqorg.com, 1
|
||||
|
@ -12341,6 +12336,7 @@ fatedata.com, 1
|
|||
fathers4equalrights.org, 1
|
||||
fatidique.com, 1
|
||||
fatimamoldes.com.br, 1
|
||||
fator25.com.br, 1
|
||||
fatowltees.com, 1
|
||||
fatox.de, 1
|
||||
faucetbox.com, 0
|
||||
|
@ -12534,7 +12530,6 @@ fhfaoig.gov, 1
|
|||
fhg90.com, 1
|
||||
fhmkh.cn, 1
|
||||
fhsseniormens.club, 1
|
||||
fi-sanki.co.jp, 1
|
||||
fi.google.com, 1
|
||||
fi.search.yahoo.com, 0
|
||||
fialat.cz, 1
|
||||
|
@ -12561,7 +12556,6 @@ fierlafijn.net, 1
|
|||
fierman.eu, 0
|
||||
fierman.net, 0
|
||||
fierman.us, 0
|
||||
fiery.me, 1
|
||||
fifei.de, 1
|
||||
fifichachnil.paris, 1
|
||||
fifieldtech.com, 1
|
||||
|
@ -12864,7 +12858,6 @@ floth.at, 1
|
|||
flow.su, 1
|
||||
flowcom.de, 1
|
||||
flowcount.xyz, 1
|
||||
flowerandplant.org, 1
|
||||
flowersbylegacy.com, 1
|
||||
flowinvoice.com, 1
|
||||
flowreader.com, 1
|
||||
|
@ -13354,7 +13347,6 @@ frly.de, 1
|
|||
frob.nl, 1
|
||||
frodriguez.xyz, 1
|
||||
froehlich.it, 1
|
||||
frogatto.com, 1
|
||||
frogeye.fr, 1
|
||||
froggitt.com, 1
|
||||
frogsonamission.de, 1
|
||||
|
@ -13523,7 +13515,6 @@ furkot.fr, 1
|
|||
furkot.it, 1
|
||||
furkot.pl, 1
|
||||
furlan.co, 1
|
||||
furlog.it, 1
|
||||
furnfurs.com, 1
|
||||
furnishedproperty.com.au, 1
|
||||
furnitureconcept.co.uk, 1
|
||||
|
@ -13944,7 +13935,6 @@ genia-life.de, 1
|
|||
genie-seiner-generation.de, 1
|
||||
geniusteacher.in, 1
|
||||
geniuszone.biz, 1
|
||||
genneve.com, 1
|
||||
genocidediary.org, 1
|
||||
genomequestlive.com, 1
|
||||
genoog.com, 1
|
||||
|
@ -14685,7 +14675,6 @@ grengine.ch, 1
|
|||
grepmaste.rs, 1
|
||||
grepular.com, 1
|
||||
gresak.io, 1
|
||||
grettogeek.com, 1
|
||||
greuel.online, 1
|
||||
greve.xyz, 1
|
||||
grexx.co.uk, 1
|
||||
|
@ -14858,7 +14847,6 @@ gulchuk.com, 1
|
|||
gulenbase.no, 1
|
||||
gulfstream.ru, 1
|
||||
gulleyperformancecenter.com, 1
|
||||
gulshankumar.net, 1
|
||||
gumballs.com, 1
|
||||
gume4you.com, 1
|
||||
gumi.ca, 1
|
||||
|
@ -15168,7 +15156,6 @@ hardtime.ru, 1
|
|||
hardyboyplant.com, 1
|
||||
haribilalic.com, 1
|
||||
harilova.fr, 1
|
||||
hariome.com, 1
|
||||
haritsa.co.id, 1
|
||||
harjitbhogal.com, 1
|
||||
harmfarm.nl, 1
|
||||
|
@ -15778,7 +15765,6 @@ hoaas.no, 1
|
|||
hoahau.org, 1
|
||||
hoarding.me, 1
|
||||
hobby-drechselei.de, 1
|
||||
hobby-gamerz-community.de, 1
|
||||
hobbyspeed.com, 1
|
||||
hochhaus.us, 1
|
||||
hochoukikikiraku.com, 1
|
||||
|
@ -15913,7 +15899,7 @@ hookbin.com, 1
|
|||
hooowl.com, 1
|
||||
hoopertechnicalsolutions.com, 1
|
||||
hooray.beer, 1
|
||||
hootworld.net, 1
|
||||
hootworld.net, 0
|
||||
hoowhen.cn, 1
|
||||
hopconseils.ch, 1
|
||||
hopconseils.com, 1
|
||||
|
@ -16527,6 +16513,7 @@ ig.com, 1
|
|||
iga-semi.jp, 1
|
||||
igamingforums.com, 1
|
||||
igcc.jp, 1
|
||||
igd.chat, 1
|
||||
igglabs.com, 1
|
||||
iggprivate.com, 1
|
||||
iggsoft.com, 1
|
||||
|
@ -16565,7 +16552,6 @@ ijm.io, 1
|
|||
ijohan.nl, 1
|
||||
ijsclubtilburg.nl, 1
|
||||
ijunohana.jp, 1
|
||||
ik-life.com, 1
|
||||
ikachalife.com, 1
|
||||
ikarate.ru, 1
|
||||
ike.io, 1
|
||||
|
@ -17311,7 +17297,6 @@ isdown.cz, 1
|
|||
isecrets.se, 1
|
||||
iserv.fr, 1
|
||||
iservicio.mx, 1
|
||||
isfriday.com, 1
|
||||
isgp-studies.com, 1
|
||||
ishamf.com, 1
|
||||
ishangirdhar.com, 1
|
||||
|
@ -18034,7 +18019,6 @@ jmpb.hu, 1
|
|||
jmpmotorsport.co.uk, 1
|
||||
jmsolodesigns.com, 1
|
||||
jmssg.jp, 1
|
||||
jmvbmx.ch, 1
|
||||
jmvdigital.com, 1
|
||||
jncde.de, 1
|
||||
jncie.de, 1
|
||||
|
@ -18116,6 +18100,7 @@ johannes.wtf, 1
|
|||
johannesen.tv, 1
|
||||
johanneskonrad.de, 1
|
||||
johannespichler.com, 0
|
||||
johansf.tech, 1
|
||||
johego.org, 1
|
||||
johnbeil.com, 1
|
||||
johnblackbourn.com, 1
|
||||
|
@ -18319,7 +18304,6 @@ judoprodeti.cz, 1
|
|||
judosaintdenis.fr, 0
|
||||
juef.space, 1
|
||||
juegosycodigos.es, 1
|
||||
juegosycodigos.mx, 1
|
||||
juelda.com, 1
|
||||
juergen-elbert.de, 1
|
||||
juergenhecht.de, 1
|
||||
|
@ -19700,12 +19684,10 @@ lagit.in, 1
|
|||
laglab.org, 0
|
||||
laguiadelvaron.com, 1
|
||||
laharilais.fr, 1
|
||||
lahora.com.ec, 1
|
||||
lain.at, 1
|
||||
laindonleisure.co.uk, 1
|
||||
lajijonencadebarbera.com, 1
|
||||
lak-berlin.de, 1
|
||||
lakarwebb.se, 1
|
||||
lakatrop.com, 1
|
||||
lakedavid.com.au, 1
|
||||
lakefrontlittleelm.com, 1
|
||||
|
@ -20337,7 +20319,6 @@ liderwalut.pl, 0
|
|||
lidl-gewinnspiel.de, 1
|
||||
lidl-holidays.com, 1
|
||||
lidl-menubox.ch, 1
|
||||
lidl-selection.at, 1
|
||||
lidl-shop.be, 1
|
||||
lidl-shop.cz, 1
|
||||
lidl-shop.nl, 1
|
||||
|
@ -20836,6 +20817,7 @@ lookastic.mx, 1
|
|||
lookastic.ru, 1
|
||||
lookbetweenthelines.com, 1
|
||||
lookyman.net, 1
|
||||
lookzook.com, 1
|
||||
loom.no, 1
|
||||
looneymooney.com, 1
|
||||
loony.info, 1
|
||||
|
@ -20867,7 +20849,6 @@ lostwithdan.com, 1
|
|||
loteks.de, 1
|
||||
lothlorien.ca, 1
|
||||
lotl.ru, 1
|
||||
lottosonline.com, 1
|
||||
lottospielen24.org, 0
|
||||
lotuscloud.de, 1
|
||||
lotw.de, 1
|
||||
|
@ -21060,7 +21041,6 @@ lunidea.com, 1
|
|||
lunight.ml, 1
|
||||
lunis.net, 1
|
||||
lunix.io, 1
|
||||
lunorian.is, 1
|
||||
luoe.me, 1
|
||||
luoh.cc, 1
|
||||
luoh.me, 1
|
||||
|
@ -21978,7 +21958,6 @@ mdek.at, 1
|
|||
mdewendt.de, 1
|
||||
mdf-bis.com, 1
|
||||
mdiv.pl, 1
|
||||
mdkr.nl, 1
|
||||
mdlayher.com, 1
|
||||
mdma.net, 1
|
||||
mdmed.clinic, 1
|
||||
|
@ -22223,6 +22202,7 @@ menntagatt.is, 1
|
|||
menole.com, 1
|
||||
menole.de, 1
|
||||
menole.net, 1
|
||||
menotag.com, 1
|
||||
mensagemaniversario.com.br, 1
|
||||
mensagemdaluz.com, 1
|
||||
mensagensaniversario.com.br, 1
|
||||
|
@ -22386,7 +22366,6 @@ micasamgmt.com, 0
|
|||
micbase.com, 1
|
||||
michael-rigart.be, 1
|
||||
michael-schefczyk.de, 1
|
||||
michael-schilling.de, 1
|
||||
michael-steinhauer.eu, 1
|
||||
michaelasawyer.com, 1
|
||||
michaelcullen.name, 1
|
||||
|
@ -23162,7 +23141,7 @@ mplusm.eu, 1
|
|||
mpn.poker, 1
|
||||
mpnpokertour.com, 1
|
||||
mpodraza.pl, 1
|
||||
mpreserver.com, 1
|
||||
mpreserver.com, 0
|
||||
mprsco.eu, 1
|
||||
mpserver12.org, 1
|
||||
mpsgarage.com.au, 1
|
||||
|
@ -23354,7 +23333,6 @@ musclecarresearch.com, 1
|
|||
muscolinomusic.com, 1
|
||||
musearchengine.com, 1
|
||||
musehelix.com, 1
|
||||
muses-success.info, 1
|
||||
musettishop.com, 1
|
||||
mush-room.co.jp, 1
|
||||
mushikabu.net, 1
|
||||
|
@ -25188,6 +25166,7 @@ onedrive.live.com, 0
|
|||
onee3.org, 1
|
||||
onefour.ga, 0
|
||||
oneidentity.me, 1
|
||||
oneiros.cc, 1
|
||||
onelawsuit.com, 1
|
||||
onemid.net, 1
|
||||
oneminute.io, 0
|
||||
|
@ -25307,6 +25286,7 @@ open-source.gr, 1
|
|||
open.gl, 1
|
||||
openacademies.com, 1
|
||||
openacte.ch, 1
|
||||
openas.org, 1
|
||||
openbeecloud.com, 1
|
||||
openblox.org, 1
|
||||
openbsd.id, 1
|
||||
|
@ -25321,7 +25301,6 @@ opendataincubator.eu, 1
|
|||
opendecide.com, 1
|
||||
openevic.info, 1
|
||||
openfir.st, 1
|
||||
openfitapi-falke.azurewebsites.net, 1
|
||||
opengg.me, 1
|
||||
openings.ninja, 1
|
||||
openintelligence.uk, 1
|
||||
|
@ -25538,6 +25517,7 @@ otvaracie-hodiny.sk, 1
|
|||
otya.me, 1
|
||||
ouaibe.qc.ca, 1
|
||||
ouestsolutions.com, 1
|
||||
ouglor.com, 1
|
||||
ouimoove.com, 1
|
||||
oulunjujutsu.com, 1
|
||||
ouowo.gq, 1
|
||||
|
@ -25889,6 +25869,7 @@ partypearl.de, 1
|
|||
partyrocksbounce.co.uk, 1
|
||||
partyschnaps.com, 1
|
||||
partyspaces.co.uk, 1
|
||||
partyspecialists.com, 1
|
||||
partytime-uk.co.uk, 1
|
||||
partytimeltd.ie, 1
|
||||
partytownireland.co.uk, 1
|
||||
|
@ -25990,6 +25971,8 @@ patrikgarten.de, 1
|
|||
patriksima.cz, 1
|
||||
patriksimek.cz, 1
|
||||
patrz.eu, 1
|
||||
patsyforyou.ch, 1
|
||||
patsytoforyou.ch, 1
|
||||
pattonfanatic.com, 1
|
||||
pattuka.com, 1
|
||||
pattyliao.com, 1
|
||||
|
@ -27318,6 +27301,7 @@ prioritynissannewportnewsparts.com, 1
|
|||
prism-communication.com, 1
|
||||
pristal.eu, 1
|
||||
pristinegreenlandscaping.com, 1
|
||||
pritchett.xyz, 1
|
||||
priv.im, 1
|
||||
privacy-week-vienna.at, 1
|
||||
privacy-week.at, 1
|
||||
|
@ -27664,6 +27648,7 @@ punkapoule.fr, 1
|
|||
punkdns.top, 1
|
||||
punknews.org, 1
|
||||
puntacanalink.com, 1
|
||||
punte-juwelier.nl, 1
|
||||
pupboss.com, 1
|
||||
puppet.pl, 1
|
||||
purahealthyliving.com, 1
|
||||
|
@ -27718,7 +27703,6 @@ pwdgen.net, 0
|
|||
pwdsafe.com, 1
|
||||
pwe.vision, 1
|
||||
pwfrance.com, 1
|
||||
pwi.agency, 1
|
||||
pwnies.dk, 1
|
||||
pwntr.com, 1
|
||||
pwolk.com, 1
|
||||
|
@ -27852,6 +27836,7 @@ quanwuji.com, 1
|
|||
quanyin.eu.org, 1
|
||||
quareal.ru, 1
|
||||
quarkdose.de, 1
|
||||
quarryhillrentals.com, 1
|
||||
quarterfull.com, 1
|
||||
quartix.com, 1
|
||||
quartzclinical.com, 1
|
||||
|
@ -28191,7 +28176,6 @@ reaconverter.com, 1
|
|||
react-db.com, 1
|
||||
reactivarte.es, 1
|
||||
reactive-press.com, 1
|
||||
reactor92.com, 1
|
||||
read.sc, 1
|
||||
reades.co.uk, 1
|
||||
readheadcopywriting.com, 1
|
||||
|
@ -28790,6 +28774,7 @@ riskmitigation.ch, 1
|
|||
risparmiare.info, 0
|
||||
rissato.com.br, 1
|
||||
ristioja.ee, 1
|
||||
ristoarea.it, 1
|
||||
ristorantefattoamano.eu, 1
|
||||
ristorantefattoamano.it, 1
|
||||
ristoviitanen.fi, 1
|
||||
|
@ -29075,7 +29060,6 @@ rosewoodranch.com, 1
|
|||
rosi-royal.com, 1
|
||||
roslynpad.net, 1
|
||||
rospa100.com, 1
|
||||
rossclark.com, 1
|
||||
rosset.me, 1
|
||||
rosset.net, 1
|
||||
rosslug.org.uk, 1
|
||||
|
@ -29240,7 +29224,6 @@ rullzer.com, 1
|
|||
rulu.co, 1
|
||||
rulu.tv, 1
|
||||
rulutv.com, 1
|
||||
rumlager.de, 1
|
||||
rummel-platz.de, 1
|
||||
rumplesinflatables.co.uk, 1
|
||||
rumtaste.com, 1
|
||||
|
@ -30124,7 +30107,6 @@ securitytestfan.gov, 1
|
|||
securitywatch.co.nz, 1
|
||||
securitywithnick.com, 1
|
||||
securitywithoutborders.org, 1
|
||||
securocloud.com, 1
|
||||
securon.io, 1
|
||||
securoswiss.ch, 1
|
||||
secutrans.com, 1
|
||||
|
@ -30247,7 +30229,6 @@ sentry.io, 1
|
|||
sentry.nu, 1
|
||||
senzaparole.de, 1
|
||||
seo-analyse.com, 1
|
||||
seo-lagniappe.com, 1
|
||||
seo-linz.at, 1
|
||||
seo-nerd.de, 1
|
||||
seo-portal.de, 1
|
||||
|
@ -30261,6 +30242,7 @@ seocomposer.com, 1
|
|||
seoexperte.berlin, 1
|
||||
seogeek.nl, 1
|
||||
seohochschule.de, 1
|
||||
seoinc.com, 1
|
||||
seoium.com, 1
|
||||
seokay.com, 1
|
||||
seolib.org, 1
|
||||
|
@ -30520,6 +30502,7 @@ shavegazette.com, 1
|
|||
shavingks.com, 1
|
||||
shawcentral.ca, 0
|
||||
shawnhogan.com, 1
|
||||
shawnstarrcustomhomes.com, 1
|
||||
shawnwilkerson.com, 1
|
||||
shawnwilson.info, 1
|
||||
shazbots.org, 1
|
||||
|
@ -30963,7 +30946,6 @@ sinonimosonline.com, 1
|
|||
sinonimosonline.com.br, 1
|
||||
sinoscandinavia.se, 1
|
||||
sinquin.eu, 1
|
||||
sinsojb.me, 1
|
||||
sint-joris.nl, 1
|
||||
sinterama.biz, 1
|
||||
sinuelovirtual.com.br, 1
|
||||
|
@ -31254,7 +31236,6 @@ smartshiftme.com, 1
|
|||
smartship.co.jp, 1
|
||||
smartshoppers.es, 1
|
||||
smartsparrow.com, 1
|
||||
smartvideo.io, 1
|
||||
smartviewing.com, 1
|
||||
smartwelve.com, 1
|
||||
smartwritingservice.com, 1
|
||||
|
@ -32268,7 +32249,6 @@ stonewuu.com, 1
|
|||
stony.com, 1
|
||||
stonystratford.org, 1
|
||||
stopakwardhandshakes.org, 1
|
||||
stopbreakupnow.org, 1
|
||||
stopbullying.gov, 1
|
||||
stopfraud.gov, 1
|
||||
stopthethyroidmadness.com, 1
|
||||
|
@ -33022,7 +33002,6 @@ tat2grl85.com, 1
|
|||
tatara.ne.jp, 1
|
||||
tateesq.com, 1
|
||||
tatildukkani.com, 1
|
||||
tatilmix.com, 1
|
||||
tatiloley.com, 1
|
||||
tatort-fanpage.de, 1
|
||||
tatsidou.gr, 1
|
||||
|
@ -33212,6 +33191,7 @@ tecnicoelettrodomestici.roma.it, 1
|
|||
tecnoarea.com.ar, 1
|
||||
tecnobrasilloja.com.br, 1
|
||||
tecnodritte.it, 1
|
||||
tecnogaming.com, 1
|
||||
tecnogazzetta.it, 1
|
||||
tecnologiasurbanas.com, 1
|
||||
tecon.co.at, 1
|
||||
|
@ -33472,7 +33452,6 @@ the-finance-blog.com, 1
|
|||
the-gist.io, 1
|
||||
the-hemingway-code.de, 1
|
||||
the-mystery.org, 1
|
||||
the-paddies.de, 1
|
||||
the-pcca.org, 1
|
||||
the-webmaster.com, 1
|
||||
the-zenti.de, 1
|
||||
|
@ -33558,7 +33537,6 @@ theemasphere.com, 1
|
|||
theepankar.com, 1
|
||||
theevergreen.me, 1
|
||||
theexpatriate.de, 1
|
||||
theeyeopener.com, 1
|
||||
thefanimatrix.net, 1
|
||||
thefasterweb.com, 1
|
||||
thefbstalker.com, 1
|
||||
|
@ -33641,7 +33619,6 @@ themusecollaborative.org, 1
|
|||
themusicinnoise.net, 1
|
||||
themusthaves.nl, 1
|
||||
thenanfang.com, 1
|
||||
thenarcissisticlife.com, 1
|
||||
thenexwork.com, 1
|
||||
thenib.com, 1
|
||||
thenichecast.com, 1
|
||||
|
@ -33755,6 +33732,7 @@ thetrendspotter.net, 1
|
|||
thetruthhurvitz.com, 1
|
||||
thetuxkeeper.de, 0
|
||||
theunitedstates.io, 1
|
||||
theuucc.org, 1
|
||||
thevacweb.com, 1
|
||||
thevalentineconstitution.com, 1
|
||||
thevgg.com, 0
|
||||
|
@ -33862,7 +33840,6 @@ thoughtsynth.com, 1
|
|||
thoughtsynth.net, 1
|
||||
thoughtsynth.org, 1
|
||||
thouni.de, 1
|
||||
thousandgreens.com, 1
|
||||
thousandoakselectrical.com, 1
|
||||
threatcentral.io, 1
|
||||
threatworking.com, 1
|
||||
|
@ -34023,6 +34000,7 @@ tintencenter.com, 1
|
|||
tintenfix.net, 1
|
||||
tintenfux.de, 1
|
||||
tintenland.de, 1
|
||||
tintenprofi.de, 1
|
||||
tiny.ee, 1
|
||||
tinyhousefinance.com.au, 1
|
||||
tinylan.com, 1
|
||||
|
@ -34086,7 +34064,6 @@ tkn.tokyo, 1
|
|||
tkts.cl, 1
|
||||
tkusano.jp, 1
|
||||
tkw01536.de, 0
|
||||
tlach.cz, 1
|
||||
tlca.org, 1
|
||||
tlcnet.info, 1
|
||||
tlehseasyads.com, 1
|
||||
|
@ -34574,7 +34551,6 @@ tranglenull.xyz, 1
|
|||
tranhsondau.net, 1
|
||||
transacid.de, 1
|
||||
transappealrights.com, 1
|
||||
transbike.es, 1
|
||||
transcend.org, 1
|
||||
transcendmotor.sg, 1
|
||||
transcricentro.pt, 1
|
||||
|
@ -34665,7 +34641,6 @@ treker.us, 1
|
|||
trekfriend.com, 1
|
||||
tremlor.com, 1
|
||||
tremolosoftware.com, 1
|
||||
tremoureux.fr, 1
|
||||
trendingpulse.com, 1
|
||||
trendkraft.de, 1
|
||||
trendydips.com, 1
|
||||
|
@ -35095,7 +35070,6 @@ ueni.com, 1
|
|||
uerdingen.info, 1
|
||||
uesociedadlimitada.com, 1
|
||||
ueu.me, 0
|
||||
uevan.com, 1
|
||||
uex.im, 1
|
||||
ufanisi.mx, 1
|
||||
ufindme.at, 1
|
||||
|
@ -35857,6 +35831,7 @@ vide-greniers.org, 0
|
|||
vide-maisons.org, 0
|
||||
videogamesartwork.com, 1
|
||||
videoload.co, 1
|
||||
videomail.io, 1
|
||||
videorullen.se, 1
|
||||
videoseyredin.net, 1
|
||||
videospornogratis.pt, 1
|
||||
|
@ -35912,7 +35887,6 @@ villagockel.de, 1
|
|||
villainsclothing.com.au, 1
|
||||
villamariaamalfi.it, 1
|
||||
villasenor.online, 1
|
||||
villasfinistere.fr, 1
|
||||
villasforsale-bali.com, 1
|
||||
villek.fi, 1
|
||||
villenavedornon.fr, 1
|
||||
|
@ -35977,7 +35951,6 @@ virtuallifestyle.nl, 1
|
|||
virtualmt2.pl, 1
|
||||
virtualsanity.com, 1
|
||||
virtualvaults.com, 1
|
||||
virtubox.net, 1
|
||||
virtusaero.com, 1
|
||||
virvum.ch, 1
|
||||
visa-shinsei.com, 1
|
||||
|
@ -36124,6 +36097,7 @@ volcain.io, 1
|
|||
volcanconcretos.com, 1
|
||||
volga.us, 1
|
||||
volgavibes.ru, 0
|
||||
voliere-info.nl, 0
|
||||
volker-gropp.de, 1
|
||||
volkergropp.de, 1
|
||||
volkerwesselstransfer.nl, 1
|
||||
|
@ -36155,7 +36129,7 @@ vorodevops.com, 1
|
|||
vos-fleurs.ch, 1
|
||||
vos-fleurs.com, 1
|
||||
vosgym.jp, 1
|
||||
voshod.org, 1
|
||||
voshod.org, 0
|
||||
vosjesweb.nl, 1
|
||||
vosky.fr, 1
|
||||
vosn.de, 1
|
||||
|
@ -36872,7 +36846,6 @@ whisperinghoperanch.org, 1
|
|||
whisperlab.org, 1
|
||||
whistleb.com, 1
|
||||
whistleblower.gov, 1
|
||||
whistler-transfers.com, 1
|
||||
whitby-brewery.com, 1
|
||||
whitealps.at, 1
|
||||
whitealps.be, 1
|
||||
|
@ -37013,7 +36986,6 @@ willow.technology, 1
|
|||
willowdalechurch.ca, 1
|
||||
willowtree.school, 1
|
||||
wills.co.tt, 1
|
||||
willstamper.name, 1
|
||||
willywangstory.com, 1
|
||||
willywangstory.com.tw, 1
|
||||
willywangstory.org, 1
|
||||
|
@ -37083,7 +37055,6 @@ wirralbouncycastles.co.uk, 1
|
|||
wirsol.com, 1
|
||||
wis.no, 1
|
||||
wisak.eu, 1
|
||||
wisak.me, 1
|
||||
wisdomize.me, 1
|
||||
wiseflat.com, 1
|
||||
wishesbee.com, 1
|
||||
|
@ -37246,7 +37217,6 @@ workray.com, 1
|
|||
works-ginan.jp, 1
|
||||
workshopszwolle.nl, 1
|
||||
workshopzwolle.com, 1
|
||||
worksofwyoming.org, 1
|
||||
workwithgo.com, 1
|
||||
world-education-association.org, 1
|
||||
world-in-my-eyes.com, 1
|
||||
|
@ -37309,7 +37279,6 @@ wpdirecto.com, 1
|
|||
wpdublin.com, 1
|
||||
wpenhance.com, 1
|
||||
wpformation.com, 1
|
||||
wpg-inc.com, 1
|
||||
wphelpwithhomework.tk, 1
|
||||
wphostingblog.nl, 1
|
||||
wpinfos.de, 1
|
||||
|
@ -37594,6 +37563,7 @@ xg3n1us.de, 0
|
|||
xgame.com.tr, 1
|
||||
xgclan.com, 1
|
||||
xgn.es, 1
|
||||
xhadius.de, 1
|
||||
xho.me, 1
|
||||
xia.de, 1
|
||||
xia100.xyz, 1
|
||||
|
@ -37738,7 +37708,7 @@ xn--mensengesss-t8a.gq, 1
|
|||
xn--mentaltraining-fr-musiker-uwc.ch, 1
|
||||
xn--mgbbh2a9fub.xn--ngbc5azd, 0
|
||||
xn--mgbmmp7eub.com, 1
|
||||
xn--mhsv04avtt1xi.com, 1
|
||||
xn--mhsv04avtt1xi.com, 0
|
||||
xn--mllers-wxa.info, 1
|
||||
xn--n8j7dygrbu0c31a5861bq8qb.com, 1
|
||||
xn--n8jp5083dnzs.net, 1
|
||||
|
@ -37841,7 +37811,6 @@ xsz.jp, 1
|
|||
xt.om, 1
|
||||
xtarget.ru, 1
|
||||
xtom.chat, 1
|
||||
xtom.com, 1
|
||||
xtom.com.hk, 1
|
||||
xtom.io, 1
|
||||
xtom.wiki, 1
|
||||
|
@ -38255,7 +38224,6 @@ yumeconcert.com, 1
|
|||
yumli.net, 1
|
||||
yummylooks.com, 1
|
||||
yuna.love, 1
|
||||
yuna.tg, 1
|
||||
yunity.org, 1
|
||||
yunjishou.pro, 1
|
||||
yunzhu.li, 1
|
||||
|
@ -38584,7 +38552,6 @@ zorium.org, 1
|
|||
zorki.nl, 1
|
||||
zorntt.fr, 1
|
||||
zorz.info, 1
|
||||
zotero.org, 1
|
||||
zouk.info, 1
|
||||
zouyaoji.top, 1
|
||||
zravypapir.cz, 1
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
loader: taskgraph.loader.transform:loader
|
||||
|
||||
transforms:
|
||||
- taskgraph.transforms.release_deps:transforms
|
||||
- taskgraph.transforms.release_snap_push:transforms
|
||||
- taskgraph.transforms.release_notifications:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
||||
kind-dependencies:
|
||||
- release-snap-repackage
|
||||
|
||||
job-defaults:
|
||||
description: Pushes (Ubuntu) Snaps onto Snap Store
|
||||
run-on-projects: [] # to make sure this never runs as part of CI
|
||||
shipping-phase: push
|
||||
scopes:
|
||||
by-project:
|
||||
mozilla-beta: ["project:releng:snapcraft:firefox:beta"]
|
||||
mozilla-release: ["project:releng:snapcraft:firefox:candidate"]
|
||||
default: ["project:releng:snapcraft:firefox:mock"]
|
||||
treeherder:
|
||||
platform: linux64/opt
|
||||
kind: build
|
||||
tier: 2
|
||||
worker-type:
|
||||
by-project:
|
||||
mozilla-beta: scriptworker-prov-v1/pushsnap-v1
|
||||
mozilla-release: scriptworker-prov-v1/pushsnap-v1
|
||||
default: scriptworker-prov-v1/dep-pushsnap
|
||||
worker:
|
||||
implementation: push-snap
|
||||
|
||||
jobs:
|
||||
firefox:
|
||||
shipping-product: firefox
|
||||
treeherder:
|
||||
symbol: Snap(push)
|
|
@ -6,7 +6,7 @@ loader: taskgraph.loader.transform:loader
|
|||
|
||||
transforms:
|
||||
- taskgraph.transforms.release_deps:transforms
|
||||
- taskgraph.transforms.release_snap:transforms
|
||||
- taskgraph.transforms.release_snap_repackage:transforms
|
||||
- taskgraph.transforms.release_notifications:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
||||
|
@ -17,11 +17,7 @@ job-defaults:
|
|||
description: Generates snap image
|
||||
run-on-projects: [] # to make sure this never runs as part of CI
|
||||
shipping-phase: promote
|
||||
scopes:
|
||||
by-project:
|
||||
mozilla-beta: ["secrets:get:project/releng/snapcraft/firefox/edge"]
|
||||
mozilla-release: ["secrets:get:project/releng/snapcraft/firefox/candidate"]
|
||||
default: []
|
||||
scopes: []
|
||||
treeherder:
|
||||
platform: linux64/opt
|
||||
kind: build
|
||||
|
@ -48,15 +44,6 @@ job-defaults:
|
|||
env:
|
||||
VERSION: "{release_config[version]}"
|
||||
BUILD_NUMBER: "{release_config[build_number]}"
|
||||
PUSH_TO_CHANNEL:
|
||||
by-project:
|
||||
# The snap stores exposes 4 channels: edge, beta, candidate, release.
|
||||
# Let's use edge and candidate for QE to test. Then, on the Snap Store UI,
|
||||
# we can promote builds to beta and release, respectively.
|
||||
# For more info: https://docs.snapcraft.io/reference/channels
|
||||
mozilla-beta: edge
|
||||
mozilla-release: candidate
|
||||
default: ""
|
||||
CANDIDATES_DIR:
|
||||
by-project:
|
||||
maple:
|
||||
|
@ -66,7 +53,7 @@ job-defaults:
|
|||
LC_ALL: C.UTF-8
|
||||
LANG: C.UTF-8
|
||||
L10N_CHANGESETS: "{config_params[head_repository]}/raw-file/{config_params[head_rev]}/browser/locales/l10n-changesets.json"
|
||||
taskcluster-proxy: true
|
||||
chain-of-trust: true
|
||||
|
||||
jobs:
|
||||
firefox:
|
||||
|
@ -74,4 +61,4 @@ jobs:
|
|||
attributes:
|
||||
build_platform: linux64-nightly
|
||||
treeherder:
|
||||
symbol: Snap(BF)
|
||||
symbol: Snap(r)
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -ex
|
||||
|
||||
url="$1"
|
||||
|
||||
CONFIG="$HOME/.config/snapcraft/snapcraft.cfg"
|
||||
|
||||
mkdir -p "$( dirname "$CONFIG" )"
|
||||
curl -s "$url" | \
|
||||
python -c 'import json, sys; a = json.load(sys.stdin); print a["secret"]["content"]' | \
|
||||
base64 -d > \
|
||||
"$CONFIG"
|
||||
chmod 600 "$CONFIG"
|
|
@ -15,7 +15,7 @@ test "$L10N_CHANGESETS"
|
|||
|
||||
SCRIPT_DIRECTORY="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
TARGET="firefox-${VERSION}.snap"
|
||||
TARGET="target.snap"
|
||||
TARGET_FULL_PATH="$ARTIFACTS_DIR/$TARGET"
|
||||
SOURCE_DEST="${WORKSPACE}/source"
|
||||
|
||||
|
@ -89,14 +89,3 @@ EOF
|
|||
find . -ls
|
||||
cat "$TARGET.checksums"
|
||||
cat signing_manifest.json
|
||||
|
||||
|
||||
# Upload snaps to Ubuntu Snap Store
|
||||
# TODO: Make this part an independent task
|
||||
if [[ "$PUSH_TO_CHANNEL" =~ (^(edge|candidate)$) ]]; then
|
||||
echo "Uploading to Ubuntu Store on channel $PUSH_TO_CHANNEL"
|
||||
bash "$SCRIPT_DIRECTORY/fetch_macaroons.sh" "http://taskcluster/secrets/v1/secret/project/releng/snapcraft/firefox/$PUSH_TO_CHANNEL"
|
||||
snapcraft push --release "$PUSH_TO_CHANNEL" "$TARGET_FULL_PATH"
|
||||
else
|
||||
echo "No upload done: PUSH_TO_CHANNEL value \"$PUSH_TO_CHANNEL\" doesn't match a known channel."
|
||||
fi
|
||||
|
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче