Merge mozilla-central to inbound. a=merge CLOSED TREE

This commit is contained in:
Narcis Beleuzu 2018-04-05 01:09:42 +03:00
Родитель 17366b0162 f860c2bf00
Коммит 58b4822076
148 изменённых файлов: 2903 добавлений и 1906 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -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=&quot;test007-overlay.xul&quot;');">
<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=&quot;test017-overlay-2.xul&quot;');">
<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=&quot;test018-overlay-2.xul&quot;');">
<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=&quot;test019.css&quot; type=&quot;text/css&quot;');">
<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=&quot;test020.css&quot; type=&quot;text/css&quot;');">
<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

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше