зеркало из https://github.com/mozilla/gecko-dev.git
merge mozilla-central to autoland. r=merge a=merge
This commit is contained in:
Коммит
33f28b9e2b
|
@ -4992,7 +4992,7 @@ var CombinedStopReload = {
|
|||
},
|
||||
|
||||
switchToStop(aRequest, aWebProgress) {
|
||||
if (!this._initialized)
|
||||
if (!this._initialized || !this._shouldSwitch(aRequest))
|
||||
return;
|
||||
|
||||
let shouldAnimate = AppConstants.MOZ_PHOTON_ANIMATIONS &&
|
||||
|
@ -5010,7 +5010,8 @@ var CombinedStopReload = {
|
|||
},
|
||||
|
||||
switchToReload(aRequest, aWebProgress) {
|
||||
if (!this._initialized)
|
||||
if (!this._initialized || !this._shouldSwitch(aRequest) ||
|
||||
!this.reload.hasAttribute("displaystop"))
|
||||
return;
|
||||
|
||||
let shouldAnimate = AppConstants.MOZ_PHOTON_ANIMATIONS &&
|
||||
|
@ -5047,6 +5048,19 @@ var CombinedStopReload = {
|
|||
}, 650, this);
|
||||
},
|
||||
|
||||
_shouldSwitch(aRequest) {
|
||||
if (!aRequest ||
|
||||
!aRequest.originalURI ||
|
||||
aRequest.originalURI.spec.startsWith("about:reader"))
|
||||
return true;
|
||||
|
||||
if (aRequest.originalURI.schemeIs("chrome") ||
|
||||
aRequest.originalURI.schemeIs("about"))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
_cancelTransition() {
|
||||
if (this._timer) {
|
||||
clearTimeout(this._timer);
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"plugin:mozilla/browser-test"
|
||||
]
|
||||
};
|
|
@ -0,0 +1,6 @@
|
|||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
||||
<ShortName>POST Search</ShortName>
|
||||
<Url type="text/html" method="POST" template="http://mochi.test:8888/browser/browser/base/content/test/about/print_postdata.sjs">
|
||||
<Param name="searchterms" value="{searchTerms}"/>
|
||||
</Url>
|
||||
</OpenSearchDescription>
|
|
@ -0,0 +1,21 @@
|
|||
[DEFAULT]
|
||||
support-files =
|
||||
aboutHome_content_script.js
|
||||
head.js
|
||||
healthreport_pingData.js
|
||||
healthreport_testRemoteCommands.html
|
||||
print_postdata.sjs
|
||||
searchSuggestionEngine.sjs
|
||||
searchSuggestionEngine.xml
|
||||
test_bug959531.html
|
||||
POSTSearchEngine.xml
|
||||
|
||||
[browser_aboutCertError.js]
|
||||
[browser_aboutStopReload.js]
|
||||
[browser_aboutNetError.js]
|
||||
[browser_aboutSupport.js]
|
||||
[browser_aboutSupport_newtab_security_state.js]
|
||||
[browser_aboutHealthReport.js]
|
||||
skip-if = os == "linux" # Bug 924307
|
||||
[browser_aboutHome.js]
|
||||
[browser_aboutHome_wrapsCorrectly.js]
|
|
@ -3,8 +3,8 @@
|
|||
*/
|
||||
|
||||
|
||||
const CHROME_BASE = "chrome://mochitests/content/browser/browser/base/content/test/general/";
|
||||
const HTTPS_BASE = "https://example.com/browser/browser/base/content/test/general/";
|
||||
const CHROME_BASE = "chrome://mochitests/content/browser/browser/base/content/test/about/";
|
||||
const HTTPS_BASE = "https://example.com/browser/browser/base/content/test/about/";
|
||||
|
||||
const TELEMETRY_LOG_PREF = "toolkit.telemetry.log.level";
|
||||
const telemetryOriginalLogPref = Preferences.get(TELEMETRY_LOG_PREF, null);
|
|
@ -12,7 +12,7 @@ XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
|
|||
"resource://gre/modules/AppConstants.jsm");
|
||||
|
||||
const TEST_CONTENT_HELPER = "chrome://mochitests/content/browser/browser/base/" +
|
||||
"content/test/general/aboutHome_content_script.js";
|
||||
"content/test/about/aboutHome_content_script.js";
|
||||
var gRightsVersion = Services.prefs.getIntPref("browser.rights.version");
|
||||
|
||||
registerCleanupFunction(function() {
|
||||
|
@ -269,7 +269,7 @@ add_task(async function() {
|
|||
resolve();
|
||||
};
|
||||
Services.obs.addObserver(searchObserver, "browser-search-engine-modified");
|
||||
Services.search.addEngine("http://test:80/browser/browser/base/content/test/general/POSTSearchEngine.xml",
|
||||
Services.search.addEngine("http://test:80/browser/browser/base/content/test/about/POSTSearchEngine.xml",
|
||||
null, null, false);
|
||||
});
|
||||
});
|
||||
|
@ -280,7 +280,7 @@ add_task(async function() {
|
|||
|
||||
await BrowserTestUtils.withNewTab({ gBrowser, url: "about:home" }, async function(browser) {
|
||||
let promise = BrowserTestUtils.browserLoaded(browser);
|
||||
browser.loadURI("https://example.com/browser/browser/base/content/test/general/test_bug959531.html");
|
||||
browser.loadURI("https://example.com/browser/browser/base/content/test/about/test_bug959531.html");
|
||||
await promise;
|
||||
|
||||
await ContentTask.spawn(browser, null, async function() {
|
|
@ -0,0 +1,90 @@
|
|||
async function waitForNoAnimation(elt) {
|
||||
return BrowserTestUtils.waitForCondition(() => !elt.hasAttribute("animate"));
|
||||
}
|
||||
|
||||
async function getAnimatePromise(elt) {
|
||||
return BrowserTestUtils.waitForAttribute("animate", elt)
|
||||
.then(() => Assert.ok(true, `${elt.id} should animate`));
|
||||
}
|
||||
|
||||
function stopReloadMutationCallback() {
|
||||
Assert.ok(false, "stop-reload's animate attribute should not have been mutated");
|
||||
}
|
||||
|
||||
add_task(async function checkDontShowStopOnNewTab() {
|
||||
let stopReloadContainer = document.getElementById("stop-reload-button");
|
||||
let stopReloadContainerObserver = new MutationObserver(stopReloadMutationCallback);
|
||||
|
||||
await waitForNoAnimation(stopReloadContainer);
|
||||
stopReloadContainerObserver.observe(stopReloadContainer, { attributeFilter: ["animate"]});
|
||||
let tab = await BrowserTestUtils.openNewForegroundTab({gBrowser,
|
||||
opening: "about:home",
|
||||
waitForStateStop: true});
|
||||
await BrowserTestUtils.removeTab(tab);
|
||||
|
||||
Assert.ok(true, "Test finished: stop-reload does not animate when navigating to local URI on new tab");
|
||||
stopReloadContainerObserver.disconnect();
|
||||
});
|
||||
|
||||
add_task(async function checkDontShowStopFromLocalURI() {
|
||||
let stopReloadContainer = document.getElementById("stop-reload-button");
|
||||
let stopReloadContainerObserver = new MutationObserver(stopReloadMutationCallback);
|
||||
|
||||
let tab = await BrowserTestUtils.openNewForegroundTab({gBrowser,
|
||||
opening: "about:home",
|
||||
waitForStateStop: true});
|
||||
await waitForNoAnimation(stopReloadContainer);
|
||||
stopReloadContainerObserver.observe(stopReloadContainer, { attributeFilter: ["animate"]});
|
||||
await BrowserTestUtils.loadURI(tab.linkedBrowser, "about:mozilla");
|
||||
await BrowserTestUtils.removeTab(tab);
|
||||
|
||||
Assert.ok(true, "Test finished: stop-reload does not animate when navigating between local URIs");
|
||||
stopReloadContainerObserver.disconnect();
|
||||
});
|
||||
|
||||
add_task(async function checkDontShowStopFromNonLocalURI() {
|
||||
let stopReloadContainer = document.getElementById("stop-reload-button");
|
||||
let stopReloadContainerObserver = new MutationObserver(stopReloadMutationCallback);
|
||||
|
||||
let tab = await BrowserTestUtils.openNewForegroundTab({gBrowser,
|
||||
opening: "https://example.com",
|
||||
waitForStateStop: true});
|
||||
await waitForNoAnimation(stopReloadContainer);
|
||||
stopReloadContainerObserver.observe(stopReloadContainer, { attributeFilter: ["animate"]});
|
||||
await BrowserTestUtils.loadURI(tab.linkedBrowser, "about:mozilla");
|
||||
await BrowserTestUtils.removeTab(tab);
|
||||
|
||||
Assert.ok(true, "Test finished: stop-reload does not animate when navigating to local URI from non-local URI");
|
||||
stopReloadContainerObserver.disconnect();
|
||||
});
|
||||
|
||||
add_task(async function checkDoShowStopOnNewTab() {
|
||||
let stopReloadContainer = document.getElementById("stop-reload-button");
|
||||
let animatePromise = getAnimatePromise(stopReloadContainer);
|
||||
|
||||
await waitForNoAnimation(stopReloadContainer);
|
||||
let tab = await BrowserTestUtils.openNewForegroundTab({gBrowser,
|
||||
opening: "https://example.com",
|
||||
waitForStateStop: true});
|
||||
await animatePromise;
|
||||
await waitForNoAnimation(stopReloadContainer);
|
||||
await BrowserTestUtils.removeTab(tab);
|
||||
|
||||
info("Test finished: stop-reload animates when navigating to non-local URI on new tab");
|
||||
});
|
||||
|
||||
add_task(async function checkDoShowStopFromLocalURI() {
|
||||
let stopReloadContainer = document.getElementById("stop-reload-button");
|
||||
|
||||
await waitForNoAnimation(stopReloadContainer);
|
||||
let tab = await BrowserTestUtils.openNewForegroundTab({gBrowser,
|
||||
opening: "about:home",
|
||||
waitForStateStop: true});
|
||||
let animatePromise = getAnimatePromise(stopReloadContainer);
|
||||
BrowserTestUtils.loadURI(tab.linkedBrowser, "https://example.com");
|
||||
await animatePromise;
|
||||
await waitForNoAnimation(stopReloadContainer);
|
||||
await BrowserTestUtils.removeTab(tab);
|
||||
|
||||
info("Test finished: stop-reload animates when navigating local URI from non-local URI");
|
||||
});
|
|
@ -0,0 +1,155 @@
|
|||
/* eslint-env mozilla/frame-script */
|
||||
|
||||
function waitForCondition(condition, nextTest, errorMsg, retryTimes) {
|
||||
retryTimes = typeof retryTimes !== "undefined" ? retryTimes : 30;
|
||||
var tries = 0;
|
||||
var interval = setInterval(function() {
|
||||
if (tries >= retryTimes) {
|
||||
ok(false, errorMsg);
|
||||
moveOn();
|
||||
}
|
||||
var conditionPassed;
|
||||
try {
|
||||
conditionPassed = condition();
|
||||
} catch (e) {
|
||||
ok(false, e + "\n" + e.stack);
|
||||
conditionPassed = false;
|
||||
}
|
||||
if (conditionPassed) {
|
||||
moveOn();
|
||||
}
|
||||
tries++;
|
||||
}, 100);
|
||||
var moveOn = function() { clearInterval(interval); nextTest(); };
|
||||
}
|
||||
|
||||
function promiseWaitForCondition(aConditionFn) {
|
||||
return new Promise(resolve => {
|
||||
waitForCondition(aConditionFn, resolve, "Condition didn't pass.");
|
||||
});
|
||||
}
|
||||
|
||||
function whenTabLoaded(aTab, aCallback) {
|
||||
promiseTabLoadEvent(aTab).then(aCallback);
|
||||
}
|
||||
|
||||
function promiseTabLoaded(aTab) {
|
||||
return new Promise(resolve => {
|
||||
whenTabLoaded(aTab, resolve);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits for a load (or custom) event to finish in a given tab. If provided
|
||||
* load an uri into the tab.
|
||||
*
|
||||
* @param tab
|
||||
* The tab to load into.
|
||||
* @param [optional] url
|
||||
* The url to load, or the current url.
|
||||
* @return {Promise} resolved when the event is handled.
|
||||
* @resolves to the received event
|
||||
* @rejects if a valid load event is not received within a meaningful interval
|
||||
*/
|
||||
function promiseTabLoadEvent(tab, url) {
|
||||
info("Wait tab event: load");
|
||||
|
||||
function handle(loadedUrl) {
|
||||
if (loadedUrl === "about:blank" || (url && loadedUrl !== url)) {
|
||||
info(`Skipping spurious load event for ${loadedUrl}`);
|
||||
return false;
|
||||
}
|
||||
|
||||
info("Tab event received: load");
|
||||
return true;
|
||||
}
|
||||
|
||||
let loaded = BrowserTestUtils.browserLoaded(tab.linkedBrowser, false, handle);
|
||||
|
||||
if (url)
|
||||
BrowserTestUtils.loadURI(tab.linkedBrowser, url);
|
||||
|
||||
return loaded;
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits for the next top-level document load in the current browser. The URI
|
||||
* of the document is compared against aExpectedURL. The load is then stopped
|
||||
* before it actually starts.
|
||||
*
|
||||
* @param aExpectedURL
|
||||
* The URL of the document that is expected to load.
|
||||
* @param aStopFromProgressListener
|
||||
* Whether to cancel the load directly from the progress listener. Defaults to true.
|
||||
* If you're using this method to avoid hitting the network, you want the default (true).
|
||||
* However, the browser UI will behave differently for loads stopped directly from
|
||||
* the progress listener (effectively in the middle of a call to loadURI) and so there
|
||||
* are cases where you may want to avoid stopping the load directly from within the
|
||||
* progress listener callback.
|
||||
* @return promise
|
||||
*/
|
||||
function waitForDocLoadAndStopIt(aExpectedURL, aBrowser = gBrowser.selectedBrowser, aStopFromProgressListener = true) {
|
||||
function content_script(contentStopFromProgressListener) {
|
||||
let { interfaces: Ci, utils: Cu } = Components;
|
||||
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
let wp = docShell.QueryInterface(Ci.nsIWebProgress);
|
||||
|
||||
function stopContent(now, uri) {
|
||||
if (now) {
|
||||
/* Hammer time. */
|
||||
content.stop();
|
||||
|
||||
/* Let the parent know we're done. */
|
||||
sendAsyncMessage("Test:WaitForDocLoadAndStopIt", { uri });
|
||||
} else {
|
||||
setTimeout(stopContent.bind(null, true, uri), 0);
|
||||
}
|
||||
}
|
||||
|
||||
let progressListener = {
|
||||
onStateChange(webProgress, req, flags, status) {
|
||||
dump("waitForDocLoadAndStopIt: onStateChange " + flags.toString(16) + ": " + req.name + "\n");
|
||||
|
||||
if (webProgress.isTopLevel &&
|
||||
flags & Ci.nsIWebProgressListener.STATE_START) {
|
||||
wp.removeProgressListener(progressListener);
|
||||
|
||||
let chan = req.QueryInterface(Ci.nsIChannel);
|
||||
dump(`waitForDocLoadAndStopIt: Document start: ${chan.URI.spec}\n`);
|
||||
|
||||
stopContent(contentStopFromProgressListener, chan.originalURI.spec);
|
||||
}
|
||||
},
|
||||
QueryInterface: XPCOMUtils.generateQI(["nsISupportsWeakReference"])
|
||||
};
|
||||
wp.addProgressListener(progressListener, wp.NOTIFY_STATE_WINDOW);
|
||||
|
||||
/**
|
||||
* As |this| is undefined and we can't extend |docShell|, adding an unload
|
||||
* event handler is the easiest way to ensure the weakly referenced
|
||||
* progress listener is kept alive as long as necessary.
|
||||
*/
|
||||
addEventListener("unload", function() {
|
||||
try {
|
||||
wp.removeProgressListener(progressListener);
|
||||
} catch (e) { /* Will most likely fail. */ }
|
||||
});
|
||||
}
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
function complete({ data }) {
|
||||
is(data.uri, aExpectedURL, "waitForDocLoadAndStopIt: The expected URL was loaded");
|
||||
mm.removeMessageListener("Test:WaitForDocLoadAndStopIt", complete);
|
||||
resolve();
|
||||
}
|
||||
|
||||
let mm = aBrowser.messageManager;
|
||||
mm.loadFrameScript("data:,(" + content_script.toString() + ")(" + aStopFromProgressListener + ");", true);
|
||||
mm.addMessageListener("Test:WaitForDocLoadAndStopIt", complete);
|
||||
info("waitForDocLoadAndStopIt: Waiting for URL: " + aExpectedURL);
|
||||
});
|
||||
}
|
||||
|
||||
function promiseDisableOnboardingTours() {
|
||||
return SpecialPowers.pushPrefEnv({set: [["browser.onboarding.enabled", false]]});
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
const CC = Components.Constructor;
|
||||
const BinaryInputStream = CC("@mozilla.org/binaryinputstream;1",
|
||||
"nsIBinaryInputStream",
|
||||
"setInputStream");
|
||||
|
||||
function handleRequest(request, response) {
|
||||
response.setHeader("Content-Type", "text/plain", false);
|
||||
if (request.method == "GET") {
|
||||
response.write(request.queryString);
|
||||
} else {
|
||||
var body = new BinaryInputStream(request.bodyInputStream);
|
||||
|
||||
var avail;
|
||||
var bytes = [];
|
||||
|
||||
while ((avail = body.available()) > 0)
|
||||
Array.prototype.push.apply(bytes, body.readByteArray(avail));
|
||||
|
||||
var data = String.fromCharCode.apply(null, bytes);
|
||||
response.bodyOutputStream.write(data, data.length);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
function handleRequest(req, resp) {
|
||||
let suffixes = ["foo", "bar"];
|
||||
let data = [req.queryString, suffixes.map(s => req.queryString + s)];
|
||||
resp.setHeader("Content-Type", "application/json", false);
|
||||
resp.write(JSON.stringify(data));
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Any copyright is dedicated to the Public Domain.
|
||||
- http://creativecommons.org/publicdomain/zero/1.0/ -->
|
||||
|
||||
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
|
||||
<ShortName>browser_searchSuggestionEngine searchSuggestionEngine.xml</ShortName>
|
||||
<Url type="application/x-suggestions+json" method="GET" template="http://mochi.test:8888/browser/browser/base/content/test/about/searchSuggestionEngine.sjs?{searchTerms}"/>
|
||||
<Url type="text/html" method="GET" template="http://mochi.test:8888/" rel="searchform"/>
|
||||
</SearchPlugin>
|
|
@ -11,7 +11,6 @@ support-files =
|
|||
alltabslistener.html
|
||||
app_bug575561.html
|
||||
app_subframe_bug575561.html
|
||||
aboutHome_content_script.js
|
||||
audio.ogg
|
||||
browser_bug479408_sample.html
|
||||
browser_bug678392-1.html
|
||||
|
@ -49,8 +48,6 @@ support-files =
|
|||
file_fullscreen-window-open.html
|
||||
file_with_link_to_http.html
|
||||
head.js
|
||||
healthreport_pingData.js
|
||||
healthreport_testRemoteCommands.html
|
||||
moz.png
|
||||
navigating_window_with_download.html
|
||||
offlineQuotaNotification.cacheManifest
|
||||
|
@ -68,7 +65,6 @@ support-files =
|
|||
test_bug462673.html
|
||||
test_bug628179.html
|
||||
test_bug839103.html
|
||||
test_bug959531.html
|
||||
test_process_flags_chrome.html
|
||||
title_test.svg
|
||||
unknownContentType_file.pif
|
||||
|
@ -91,22 +87,6 @@ support-files =
|
|||
!/toolkit/mozapps/extensions/test/xpinstall/theme.xpi
|
||||
!/toolkit/mozapps/extensions/test/xpinstall/slowinstall.sjs
|
||||
|
||||
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
|
||||
[browser_aboutCertError.js]
|
||||
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
|
||||
[browser_aboutNetError.js]
|
||||
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
|
||||
[browser_aboutSupport.js]
|
||||
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
|
||||
[browser_aboutSupport_newtab_security_state.js]
|
||||
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
|
||||
[browser_aboutHealthReport.js]
|
||||
skip-if = os == "linux" # Bug 924307
|
||||
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
|
||||
[browser_aboutHome.js]
|
||||
skip-if = true # Bug 1374537
|
||||
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
|
||||
[browser_aboutHome_wrapsCorrectly.js]
|
||||
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
|
||||
[browser_addKeywordSearch.js]
|
||||
# DO NOT ADD MORE TESTS HERE. USE A TOPICAL DIRECTORY INSTEAD.
|
||||
|
|
|
@ -359,84 +359,6 @@ function promiseHistoryClearedState(aURIs, aShouldBeCleared) {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits for the next top-level document load in the current browser. The URI
|
||||
* of the document is compared against aExpectedURL. The load is then stopped
|
||||
* before it actually starts.
|
||||
*
|
||||
* @param aExpectedURL
|
||||
* The URL of the document that is expected to load.
|
||||
* @param aStopFromProgressListener
|
||||
* Whether to cancel the load directly from the progress listener. Defaults to true.
|
||||
* If you're using this method to avoid hitting the network, you want the default (true).
|
||||
* However, the browser UI will behave differently for loads stopped directly from
|
||||
* the progress listener (effectively in the middle of a call to loadURI) and so there
|
||||
* are cases where you may want to avoid stopping the load directly from within the
|
||||
* progress listener callback.
|
||||
* @return promise
|
||||
*/
|
||||
function waitForDocLoadAndStopIt(aExpectedURL, aBrowser = gBrowser.selectedBrowser, aStopFromProgressListener = true) {
|
||||
function content_script(contentStopFromProgressListener) {
|
||||
let { interfaces: Ci, utils: Cu } = Components;
|
||||
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
let wp = docShell.QueryInterface(Ci.nsIWebProgress);
|
||||
|
||||
function stopContent(now, uri) {
|
||||
if (now) {
|
||||
/* Hammer time. */
|
||||
content.stop();
|
||||
|
||||
/* Let the parent know we're done. */
|
||||
sendAsyncMessage("Test:WaitForDocLoadAndStopIt", { uri });
|
||||
} else {
|
||||
setTimeout(stopContent.bind(null, true, uri), 0);
|
||||
}
|
||||
}
|
||||
|
||||
let progressListener = {
|
||||
onStateChange(webProgress, req, flags, status) {
|
||||
dump("waitForDocLoadAndStopIt: onStateChange " + flags.toString(16) + ": " + req.name + "\n");
|
||||
|
||||
if (webProgress.isTopLevel &&
|
||||
flags & Ci.nsIWebProgressListener.STATE_START) {
|
||||
wp.removeProgressListener(progressListener);
|
||||
|
||||
let chan = req.QueryInterface(Ci.nsIChannel);
|
||||
dump(`waitForDocLoadAndStopIt: Document start: ${chan.URI.spec}\n`);
|
||||
|
||||
stopContent(contentStopFromProgressListener, chan.originalURI.spec);
|
||||
}
|
||||
},
|
||||
QueryInterface: XPCOMUtils.generateQI(["nsISupportsWeakReference"])
|
||||
};
|
||||
wp.addProgressListener(progressListener, wp.NOTIFY_STATE_WINDOW);
|
||||
|
||||
/**
|
||||
* As |this| is undefined and we can't extend |docShell|, adding an unload
|
||||
* event handler is the easiest way to ensure the weakly referenced
|
||||
* progress listener is kept alive as long as necessary.
|
||||
*/
|
||||
addEventListener("unload", function() {
|
||||
try {
|
||||
wp.removeProgressListener(progressListener);
|
||||
} catch (e) { /* Will most likely fail. */ }
|
||||
});
|
||||
}
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
function complete({ data }) {
|
||||
is(data.uri, aExpectedURL, "waitForDocLoadAndStopIt: The expected URL was loaded");
|
||||
mm.removeMessageListener("Test:WaitForDocLoadAndStopIt", complete);
|
||||
resolve();
|
||||
}
|
||||
|
||||
let mm = aBrowser.messageManager;
|
||||
mm.loadFrameScript("data:,(" + content_script.toString() + ")(" + aStopFromProgressListener + ");", true);
|
||||
mm.addMessageListener("Test:WaitForDocLoadAndStopIt", complete);
|
||||
info("waitForDocLoadAndStopIt: Waiting for URL: " + aExpectedURL);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits for the next load to complete in any browser or the given browser.
|
||||
* If a <tabbrowser> is given it waits for a load in any of its browsers.
|
||||
|
@ -829,7 +751,3 @@ function getCertExceptionDialog(aLocation) {
|
|||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function promiseDisableOnboardingTours() {
|
||||
return SpecialPowers.pushPrefEnv({set: [["browser.onboarding.enabled", false]]});
|
||||
}
|
||||
|
|
|
@ -38,7 +38,6 @@ const startupPhases = {
|
|||
"resource://gre/modules/Services.jsm",
|
||||
|
||||
// Bugs to fix: Probably loaded too early, needs investigation.
|
||||
"resource://gre/modules/AsyncPrefs.jsm", // bug 1369460
|
||||
"resource://gre/modules/RemotePageManager.jsm", // bug 1369466
|
||||
])
|
||||
}},
|
||||
|
@ -66,6 +65,9 @@ const startupPhases = {
|
|||
]),
|
||||
modules: new Set([
|
||||
"resource:///modules/AboutNewTab.jsm",
|
||||
"resource:///modules/BrowserUITelemetry.jsm",
|
||||
"resource:///modules/BrowserUsageTelemetry.jsm",
|
||||
"resource:///modules/ContentCrashHandlers.jsm",
|
||||
"resource:///modules/DirectoryLinksProvider.jsm",
|
||||
"resource://gre/modules/NewTabUtils.jsm",
|
||||
"resource://gre/modules/PageThumbs.jsm",
|
||||
|
@ -92,6 +94,7 @@ const startupPhases = {
|
|||
"resource://gre/modules/BookmarkHTMLUtils.jsm",
|
||||
"resource://gre/modules/Bookmarks.jsm",
|
||||
"resource://gre/modules/ContextualIdentityService.jsm",
|
||||
"resource://gre/modules/CrashSubmit.jsm",
|
||||
"resource://gre/modules/FxAccounts.jsm",
|
||||
"resource://gre/modules/FxAccountsStorage.jsm",
|
||||
"resource://gre/modules/PlacesSyncUtils.jsm",
|
||||
|
@ -109,6 +112,7 @@ const startupPhases = {
|
|||
// be blacklisted here.
|
||||
"before becoming idle": {blacklist: {
|
||||
modules: new Set([
|
||||
"resource://gre/modules/AsyncPrefs.jsm",
|
||||
"resource://gre/modules/LoginManagerContextMenu.jsm",
|
||||
"resource://gre/modules/Task.jsm",
|
||||
]),
|
||||
|
|
|
@ -15,6 +15,7 @@ MOCHITEST_CHROME_MANIFESTS += [
|
|||
]
|
||||
|
||||
BROWSER_CHROME_MANIFESTS += [
|
||||
'content/test/about/browser.ini',
|
||||
'content/test/alerts/browser.ini',
|
||||
'content/test/captivePortal/browser.ini',
|
||||
'content/test/contextMenu/browser.ini',
|
||||
|
|
|
@ -12,7 +12,6 @@ const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
|||
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
Cu.import("resource://gre/modules/AppConstants.jsm");
|
||||
Cu.import("resource://gre/modules/AsyncPrefs.jsm");
|
||||
|
||||
XPCOMUtils.defineLazyServiceGetter(this, "WindowsUIUtils", "@mozilla.org/windows-ui-utils;1", "nsIWindowsUIUtils");
|
||||
XPCOMUtils.defineLazyGetter(this, "WeaveService", () =>
|
||||
|
@ -24,7 +23,7 @@ XPCOMUtils.defineLazyModuleGetter(this, "ContextualIdentityService",
|
|||
// lazy module getters
|
||||
|
||||
/* global AboutHome:false, AboutNewTab:false, AddonManager:false, AppMenuNotifications:false,
|
||||
AsyncShutdown:false, AutoCompletePopup:false, BookmarkHTMLUtils:false,
|
||||
AsyncPrefs: false, AsyncShutdown:false, AutoCompletePopup:false, BookmarkHTMLUtils:false,
|
||||
BookmarkJSONUtils:false, BrowserUITelemetry:false, BrowserUsageTelemetry:false,
|
||||
ContentClick:false, ContentPrefServiceParent:false, ContentSearch:false,
|
||||
DateTimePickerHelper:false, DirectoryLinksProvider:false,
|
||||
|
@ -54,6 +53,7 @@ let initializedModules = {};
|
|||
["AboutNewTab", "resource:///modules/AboutNewTab.jsm"],
|
||||
["AddonManager", "resource://gre/modules/AddonManager.jsm"],
|
||||
["AppMenuNotifications", "resource://gre/modules/AppMenuNotifications.jsm"],
|
||||
["AsyncPrefs", "resource://gre/modules/AsyncPrefs.jsm"],
|
||||
["AsyncShutdown", "resource://gre/modules/AsyncShutdown.jsm"],
|
||||
["AutoCompletePopup", "resource://gre/modules/AutoCompletePopup.jsm"],
|
||||
["BookmarkHTMLUtils", "resource://gre/modules/BookmarkHTMLUtils.jsm"],
|
||||
|
@ -143,6 +143,12 @@ const listeners = {
|
|||
"ContentPrefs:AddObserverForName": ["ContentPrefServiceParent"],
|
||||
"ContentPrefs:RemoveObserverForName": ["ContentPrefServiceParent"],
|
||||
// PLEASE KEEP THIS LIST IN SYNC WITH THE LISTENERS ADDED IN ContentPrefServiceParent.init
|
||||
|
||||
// PLEASE KEEP THIS LIST IN SYNC WITH THE LISTENERS ADDED IN AsyncPrefs.init
|
||||
"AsyncPrefs:SetPref": ["AsyncPrefs"],
|
||||
"AsyncPrefs:ResetPref": ["AsyncPrefs"],
|
||||
// PLEASE KEEP THIS LIST IN SYNC WITH THE LISTENERS ADDED IN AsyncPrefs.init
|
||||
|
||||
"FeedConverter:addLiveBookmark": ["Feeds"],
|
||||
"WCCR:setAutoHandler": ["Feeds"],
|
||||
"webrtc:UpdateGlobalIndicators": ["webrtcUI"],
|
||||
|
@ -318,7 +324,7 @@ BrowserGlue.prototype = {
|
|||
this._onAppDefaults();
|
||||
break;
|
||||
case "final-ui-startup":
|
||||
this._finalUIStartup();
|
||||
this._beforeUIStartup();
|
||||
break;
|
||||
case "browser-delayed-startup-finished":
|
||||
this._onFirstWindowLoaded(subject);
|
||||
|
@ -584,13 +590,13 @@ BrowserGlue.prototype = {
|
|||
|
||||
_onAppDefaults: function BG__onAppDefaults() {
|
||||
// apply distribution customizations (prefs)
|
||||
// other customizations are applied in _finalUIStartup()
|
||||
// other customizations are applied in _beforeUIStartup()
|
||||
this._distributionCustomizer.applyPrefDefaults();
|
||||
},
|
||||
|
||||
// runs on startup, before the first command line handler is invoked
|
||||
// (i.e. before the first window is opened)
|
||||
_finalUIStartup: function BG__finalUIStartup() {
|
||||
_beforeUIStartup: function BG__beforeUIStartup() {
|
||||
// check if we're in safe mode
|
||||
if (Services.appinfo.inSafeMode) {
|
||||
Services.ww.openWindow(null, "chrome://browser/content/safeMode.xul",
|
||||
|
@ -607,8 +613,6 @@ BrowserGlue.prototype = {
|
|||
listeners.init();
|
||||
|
||||
SessionStore.init();
|
||||
BrowserUsageTelemetry.init();
|
||||
BrowserUITelemetry.init();
|
||||
|
||||
if (AppConstants.INSTALL_COMPACT_THEMES) {
|
||||
let vendorShortName = gBrandBundle.GetStringFromName("vendorShortName");
|
||||
|
@ -635,12 +639,6 @@ BrowserGlue.prototype = {
|
|||
});
|
||||
}
|
||||
|
||||
TabCrashHandler.init();
|
||||
if (AppConstants.MOZ_CRASHREPORTER) {
|
||||
PluginCrashReporter.init();
|
||||
UnsubmittedCrashHandler.init();
|
||||
}
|
||||
|
||||
Services.obs.notifyObservers(null, "browser-ui-startup-complete");
|
||||
},
|
||||
|
||||
|
@ -899,6 +897,11 @@ BrowserGlue.prototype = {
|
|||
}
|
||||
}
|
||||
|
||||
TabCrashHandler.init();
|
||||
if (AppConstants.MOZ_CRASHREPORTER) {
|
||||
PluginCrashReporter.init();
|
||||
}
|
||||
|
||||
ProcessHangMonitor.init();
|
||||
|
||||
// A channel for "remote troubleshooting" code...
|
||||
|
@ -1050,6 +1053,9 @@ BrowserGlue.prototype = {
|
|||
|
||||
// All initial windows have opened.
|
||||
_onWindowsRestored: function BG__onWindowsRestored() {
|
||||
BrowserUsageTelemetry.init();
|
||||
BrowserUITelemetry.init();
|
||||
|
||||
if (AppConstants.MOZ_DEV_EDITION) {
|
||||
this._createExtraDefaultProfile();
|
||||
}
|
||||
|
@ -1163,6 +1169,13 @@ BrowserGlue.prototype = {
|
|||
}
|
||||
}
|
||||
|
||||
if (AppConstants.MOZ_CRASHREPORTER) {
|
||||
UnsubmittedCrashHandler.init();
|
||||
Services.tm.idleDispatchToMainThread(function() {
|
||||
UnsubmittedCrashHandler.checkForUnsubmittedCrashReports();
|
||||
});
|
||||
}
|
||||
|
||||
// Let's load the contextual identities.
|
||||
Services.tm.idleDispatchToMainThread(() => {
|
||||
ContextualIdentityService.load();
|
||||
|
|
|
@ -207,17 +207,21 @@ this.BrowserUITelemetry = {
|
|||
UITelemetry.addSimpleMeasureFunction("syncstate",
|
||||
this.getSyncState.bind(this));
|
||||
|
||||
Services.obs.addObserver(this, "sessionstore-windows-restored");
|
||||
Services.obs.addObserver(this, "browser-delayed-startup-finished");
|
||||
Services.obs.addObserver(this, "autocomplete-did-enter-text");
|
||||
CustomizableUI.addListener(this);
|
||||
|
||||
// Register existing windows
|
||||
let browserEnum = Services.wm.getEnumerator("navigator:browser");
|
||||
while (browserEnum.hasMoreElements()) {
|
||||
this._registerWindow(browserEnum.getNext());
|
||||
}
|
||||
Services.obs.addObserver(this, "browser-delayed-startup-finished");
|
||||
|
||||
this._gatherFirstWindowMeasurements();
|
||||
},
|
||||
|
||||
observe(aSubject, aTopic, aData) {
|
||||
switch (aTopic) {
|
||||
case "sessionstore-windows-restored":
|
||||
this._gatherFirstWindowMeasurements();
|
||||
break;
|
||||
case "browser-delayed-startup-finished":
|
||||
this._registerWindow(aSubject);
|
||||
break;
|
||||
|
|
|
@ -23,7 +23,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "PrivateBrowsingUtils",
|
|||
const MAX_UNIQUE_VISITED_DOMAINS = 100;
|
||||
|
||||
// Observed topic names.
|
||||
const WINDOWS_RESTORED_TOPIC = "sessionstore-windows-restored";
|
||||
const TAB_RESTORING_TOPIC = "SSTabRestoring";
|
||||
const TELEMETRY_SUBSESSIONSPLIT_TOPIC = "internal-telemetry-after-subsession-split";
|
||||
const DOMWINDOW_OPENED_TOPIC = "domwindowopened";
|
||||
|
@ -311,8 +310,8 @@ let urlbarListener = {
|
|||
|
||||
let BrowserUsageTelemetry = {
|
||||
init() {
|
||||
Services.obs.addObserver(this, WINDOWS_RESTORED_TOPIC);
|
||||
urlbarListener.init();
|
||||
this._setupAfterRestore();
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -333,15 +332,11 @@ let BrowserUsageTelemetry = {
|
|||
uninit() {
|
||||
Services.obs.removeObserver(this, DOMWINDOW_OPENED_TOPIC);
|
||||
Services.obs.removeObserver(this, TELEMETRY_SUBSESSIONSPLIT_TOPIC);
|
||||
Services.obs.removeObserver(this, WINDOWS_RESTORED_TOPIC);
|
||||
urlbarListener.uninit();
|
||||
},
|
||||
|
||||
observe(subject, topic, data) {
|
||||
switch (topic) {
|
||||
case WINDOWS_RESTORED_TOPIC:
|
||||
this._setupAfterRestore();
|
||||
break;
|
||||
case DOMWINDOW_OPENED_TOPIC:
|
||||
this._onWindowOpen(subject);
|
||||
break;
|
||||
|
|
|
@ -577,7 +577,6 @@ this.UnsubmittedCrashHandler = {
|
|||
this.prefs.clearUserPref("suppressUntilDate");
|
||||
}
|
||||
|
||||
Services.obs.addObserver(this, "browser-delayed-startup-finished");
|
||||
Services.obs.addObserver(this, "profile-before-change");
|
||||
}
|
||||
},
|
||||
|
@ -604,26 +603,11 @@ this.UnsubmittedCrashHandler = {
|
|||
this.showingNotification = false;
|
||||
}
|
||||
|
||||
try {
|
||||
Services.obs.removeObserver(this, "browser-delayed-startup-finished");
|
||||
} catch (e) {
|
||||
// The browser-delayed-startup-finished observer might have already
|
||||
// fired and removed itself, so if this fails, it's okay.
|
||||
if (e.result != Cr.NS_ERROR_FAILURE) {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
Services.obs.removeObserver(this, "profile-before-change");
|
||||
},
|
||||
|
||||
observe(subject, topic, data) {
|
||||
switch (topic) {
|
||||
case "browser-delayed-startup-finished": {
|
||||
Services.obs.removeObserver(this, topic);
|
||||
this.checkForUnsubmittedCrashReports();
|
||||
break;
|
||||
}
|
||||
case "profile-before-change": {
|
||||
this.uninit();
|
||||
break;
|
||||
|
|
|
@ -170,6 +170,7 @@ skip-if = e10s || true # bug 1113935
|
|||
[browser_dbg_break-on-next.js]
|
||||
[browser_dbg_break-on-next-console.js]
|
||||
[browser_dbg_break-on-dom-01.js]
|
||||
skip-if = true # bug 1368908
|
||||
[browser_dbg_break-on-dom-02.js]
|
||||
[browser_dbg_break-on-dom-03.js]
|
||||
[browser_dbg_break-on-dom-04.js]
|
||||
|
|
|
@ -836,6 +836,10 @@ WorkerTarget.prototype = {
|
|||
return this._workerClient;
|
||||
},
|
||||
|
||||
get activeConsole() {
|
||||
return this.client._clients.get(this.form.consoleActor);
|
||||
},
|
||||
|
||||
get client() {
|
||||
return this._workerClient.client;
|
||||
},
|
||||
|
|
|
@ -190,11 +190,11 @@ public:
|
|||
mFocusState.ReceiveFocusChangingEvent();
|
||||
|
||||
APZ_KEY_LOG("Marking input with type=%d as focus changing with seq=%" PRIu64 "\n",
|
||||
(int)mEvent.mInputType,
|
||||
static_cast<int>(mEvent.mInputType),
|
||||
mFocusState.LastAPZProcessedEvent());
|
||||
} else {
|
||||
APZ_KEY_LOG("Marking input with type=%d as non focus changing with seq=%" PRIu64 "\n",
|
||||
(int)mEvent.mInputType,
|
||||
static_cast<int>(mEvent.mInputType),
|
||||
mFocusState.LastAPZProcessedEvent());
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ FocusState::Update(uint64_t aRootLayerTreeId,
|
|||
FS_LOG("Update with rlt=%" PRIu64 ", olt=%" PRIu64 ", ft=(%d, %" PRIu64 ")\n",
|
||||
aRootLayerTreeId,
|
||||
aOriginatingLayersId,
|
||||
(int)aState.mType,
|
||||
static_cast<int>(aState.mType),
|
||||
aState.mSequenceNumber);
|
||||
|
||||
// Update the focus tree with the latest target
|
||||
|
|
|
@ -117,8 +117,9 @@ FocusTarget::FocusTarget(nsIPresShell* aRootPresShell,
|
|||
|
||||
// The globally focused element for scrolling is in a remote layer tree
|
||||
if (rfp) {
|
||||
FT_LOG("Creating reflayer target with seq=%" PRIu64 ", lt=%" PRIu64 "\n",
|
||||
FT_LOG("Creating reflayer target with seq=%" PRIu64 ", kl=%d, lt=%" PRIu64 "\n",
|
||||
aFocusSequenceNumber,
|
||||
mFocusHasKeyEventListeners,
|
||||
rfp->GetLayersId());
|
||||
|
||||
mType = FocusTarget::eRefLayer;
|
||||
|
@ -126,8 +127,9 @@ FocusTarget::FocusTarget(nsIPresShell* aRootPresShell,
|
|||
return;
|
||||
}
|
||||
|
||||
FT_LOG("Creating nil target with seq=%" PRIu64 " (remote browser missing layers id)\n",
|
||||
aFocusSequenceNumber);
|
||||
FT_LOG("Creating nil target with seq=%" PRIu64 ", kl=%d (remote browser missing layers id)\n",
|
||||
aFocusSequenceNumber,
|
||||
mFocusHasKeyEventListeners);
|
||||
|
||||
mType = FocusTarget::eNone;
|
||||
return;
|
||||
|
@ -136,8 +138,9 @@ FocusTarget::FocusTarget(nsIPresShell* aRootPresShell,
|
|||
// If the focus isn't on a remote browser then check for scrollable targets
|
||||
if (IsEditableNode(scrollTarget) ||
|
||||
IsEditableNode(presShell->GetDocument())) {
|
||||
FT_LOG("Creating nil target with seq=%" PRIu64 " (disabling for editable node)\n",
|
||||
aFocusSequenceNumber);
|
||||
FT_LOG("Creating nil target with seq=%" PRIu64 ", kl=%d (disabling for editable node)\n",
|
||||
aFocusSequenceNumber,
|
||||
mFocusHasKeyEventListeners);
|
||||
|
||||
mType = FocusTarget::eNone;
|
||||
return;
|
||||
|
@ -160,8 +163,9 @@ FocusTarget::FocusTarget(nsIPresShell* aRootPresShell,
|
|||
mData.mScrollTargets.mVertical =
|
||||
nsLayoutUtils::FindIDForScrollableFrame(vertical);
|
||||
|
||||
FT_LOG("Creating scroll target with seq=%" PRIu64 ", h=%" PRIu64 ", v=%" PRIu64 "\n",
|
||||
FT_LOG("Creating scroll target with seq=%" PRIu64 ", kl=%d, h=%" PRIu64 ", v=%" PRIu64 "\n",
|
||||
aFocusSequenceNumber,
|
||||
mFocusHasKeyEventListeners,
|
||||
mData.mScrollTargets.mHorizontal,
|
||||
mData.mScrollTargets.mVertical);
|
||||
}
|
||||
|
|
|
@ -518,7 +518,7 @@ private:
|
|||
DECL_OVERRIDE_PREF(Live, "layers.advanced.background-color", LayersAllowBackgroundColorLayers, gfxPrefs::OverrideBase_WebRender());
|
||||
DECL_OVERRIDE_PREF(Live, "layers.advanced.background-image", LayersAllowBackgroundImage, gfxPrefs::OverrideBase_WebRendest());
|
||||
DECL_GFX_PREF(Live, "layers.advanced.basic-layer.enabled", LayersAdvancedBasicLayerEnabled, bool, false);
|
||||
DECL_OVERRIDE_PREF(Live, "layers.advanced.border-layers", LayersAllowBorderLayers, gfxPrefs::OverrideBase_WebRender());
|
||||
DECL_OVERRIDE_PREF(Live, "layers.advanced.border-layers", LayersAllowBorderLayers, gfxPrefs::OverrideBase_WebRendest());
|
||||
DECL_OVERRIDE_PREF(Live, "layers.advanced.boxshadow-inset-layers", LayersAllowInsetBoxShadow, gfxPrefs::OverrideBase_WebRender());
|
||||
DECL_OVERRIDE_PREF(Live, "layers.advanced.boxshadow-outer-layers", LayersAllowOuterBoxShadow, gfxPrefs::OverrideBase_WebRender());
|
||||
DECL_OVERRIDE_PREF(Live, "layers.advanced.bullet-layers", LayersAllowBulletLayers, gfxPrefs::OverrideBase_WebRender());
|
||||
|
|
|
@ -478,6 +478,16 @@ js::Nursery::renderProfileJSON(JSONPrinter& json) const
|
|||
}
|
||||
|
||||
json.beginObject();
|
||||
|
||||
json.property("reason", JS::gcreason::ExplainReason(previousGC.reason));
|
||||
json.property("bytes_tenured", previousGC.tenuredBytes);
|
||||
json.floatProperty("promotion_rate",
|
||||
100.0 * previousGC.tenuredBytes / double(previousGC.nurseryUsedBytes), 2);
|
||||
json.property("nursery_bytes", previousGC.nurseryUsedBytes);
|
||||
json.property("new_nursery_bytes", numChunks() * ChunkSize);
|
||||
|
||||
json.beginObjectProperty("timings");
|
||||
|
||||
#define EXTRACT_NAME(name, text) #name,
|
||||
static const char* names[] = {
|
||||
FOR_EACH_NURSERY_PROFILE_TIME(EXTRACT_NAME)
|
||||
|
@ -488,6 +498,8 @@ FOR_EACH_NURSERY_PROFILE_TIME(EXTRACT_NAME)
|
|||
for (auto time : profileDurations_)
|
||||
json.property(names[i++], time, json.MICROSECONDS);
|
||||
|
||||
json.endObject(); // timings value
|
||||
|
||||
json.endObject();
|
||||
}
|
||||
|
||||
|
@ -753,6 +765,10 @@ js::Nursery::doCollection(JS::gcreason::Reason reason,
|
|||
#endif
|
||||
endProfile(ProfileKey::CheckHashTables);
|
||||
|
||||
previousGC.reason = reason;
|
||||
previousGC.nurseryUsedBytes = initialNurserySize;
|
||||
previousGC.tenuredBytes = mover.tenuredSize;
|
||||
|
||||
// Calculate and return the promotion rate.
|
||||
return mover.tenuredSize / double(initialNurserySize);
|
||||
}
|
||||
|
|
|
@ -353,6 +353,12 @@ class Nursery
|
|||
ProfileDurations totalDurations_;
|
||||
uint64_t minorGcCount_;
|
||||
|
||||
struct {
|
||||
JS::gcreason::Reason reason;
|
||||
uint64_t nurseryUsedBytes;
|
||||
uint64_t tenuredBytes;
|
||||
} previousGC;
|
||||
|
||||
/*
|
||||
* The set of externally malloced buffers potentially kept live by objects
|
||||
* stored in the nursery. Any external buffers that do not belong to a
|
||||
|
|
|
@ -7170,6 +7170,9 @@ PresShell::HandleEvent(nsIFrame* aFrame,
|
|||
// Update the latest focus sequence number with this new sequence number
|
||||
if (mAPZFocusSequenceNumber < aEvent->mFocusSequenceNumber) {
|
||||
mAPZFocusSequenceNumber = aEvent->mFocusSequenceNumber;
|
||||
|
||||
// Schedule an empty transaction to transmit this focus update
|
||||
aFrame->SchedulePaint(nsIFrame::PAINT_COMPOSITE_ONLY);
|
||||
}
|
||||
|
||||
if (sPointerEventEnabled) {
|
||||
|
|
|
@ -2372,12 +2372,6 @@ nsDisplayItem* nsDisplayList::RemoveBottom() {
|
|||
void nsDisplayList::DeleteAll() {
|
||||
nsDisplayItem* item;
|
||||
while ((item = RemoveBottom()) != nullptr) {
|
||||
#ifdef NIGHTLY_BUILD
|
||||
if (XRE_IsContentProcess()) {
|
||||
mozilla::Telemetry::Accumulate(mozilla::Telemetry::DISPLAY_ITEM_USAGE_COUNT,
|
||||
item->GetType());
|
||||
}
|
||||
#endif
|
||||
item->~nsDisplayItem();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,14 +23,14 @@ fuzzy-if(skiaContent,1,342) == percent-2.html percent-2-ref.html
|
|||
fuzzy-if(skiaContent,1,343) == percent-3.html percent-3-ref.html
|
||||
|
||||
# more serious tests, using SVG reference
|
||||
fuzzy-if(skiaContent,17,58) fuzzy-if(webrender,168,74) == border-circle-2.html border-circle-2-ref.xhtml
|
||||
fuzzy-if(skiaContent,17,58) fuzzy-if(webrender,16,59) == border-circle-2.html border-circle-2-ref.xhtml
|
||||
fuzzy-if(gtkWidget,14,280) fuzzy-if(cocoaWidget,4,582) fuzzy-if(Android,36,264) fuzzy-if(d2d,51,323) fuzzy-if(winWidget&&!d2d,16,377) fuzzy-if(skiaContent,63,398) == curved-stripe-border.html curved-stripe-border-ref.svg # bug 459945
|
||||
|
||||
# Corners
|
||||
fuzzy-if(skiaContent,17,47) fuzzy-if(webrender,166-166,58-58) == corner-1.html corner-1-ref.svg # bottom corners different radius than top corners
|
||||
fuzzy-if(gtkWidget,23,5) fuzzy-if(winWidget&&!d2d,23,5) fuzzy-if(d2d,32,8) fuzzy-if(Android,10,8) fuzzy-if(skiaContent,18,49) fuzzy-if(webrender,164-164,57-57) == corner-2.html corner-2-ref.svg # right corners different radius than left corners; see bug 500804
|
||||
fuzzy-if(gtkWidget,3,10) fuzzy-if(winWidget&&!d2d,3,10) fuzzy-if(d2d,15,32) fuzzy-if(Android,3,15) fuzzy-if(skiaContent,18,90) fails-if(webrender) == corner-3.html corner-3-ref.svg
|
||||
fuzzy-if(skiaContent,12,83) fuzzy-if(webrender,79-79,110-110) == corner-4.html corner-4-ref.svg
|
||||
fuzzy-if(skiaContent,17,47) == corner-1.html corner-1-ref.svg # bottom corners different radius than top corners
|
||||
fuzzy-if(gtkWidget,23,5) fuzzy-if(winWidget&&!d2d,23,5) fuzzy-if(d2d,32,8) fuzzy-if(Android,10,8) fuzzy-if(skiaContent,18,49) == corner-2.html corner-2-ref.svg # right corners different radius than left corners; see bug 500804
|
||||
fuzzy-if(gtkWidget,3,10) fuzzy-if(winWidget&&!d2d,3,10) fuzzy-if(d2d,15,32) fuzzy-if(Android,3,15) fuzzy-if(skiaContent,18,90) fuzzy-if(webrender,18-18,91-91) == corner-3.html corner-3-ref.svg
|
||||
fuzzy-if(skiaContent,12,83) == corner-4.html corner-4-ref.svg
|
||||
|
||||
# Test that radii too long are reduced
|
||||
== border-reduce-height.html border-reduce-height-ref.html
|
||||
|
@ -40,7 +40,7 @@ skip-if(!webrender) pref(layers.advanced.border-layers,1) == border-reduce-heigh
|
|||
fails-if(!styloVsGecko) == clipping-1.html clipping-1-ref.html # background color should completely fill box; bug 466572
|
||||
!= clipping-2.html about:blank # background color clipped to inner/outer border, can't get
|
||||
# great tests for this due to antialiasing problems described in bug 466572
|
||||
fuzzy-if(skiaContent,17,62) fuzzy-if(webrender,168,74) == clipping-3.html clipping-3-ref.xhtml # edge of border-radius clips an underlying object's background
|
||||
fuzzy-if(skiaContent,17,62) == clipping-3.html clipping-3-ref.xhtml # edge of border-radius clips an underlying object's background
|
||||
|
||||
# Tests for clipping the contents of replaced elements and overflow!=visible
|
||||
!= clipping-4-ref.html clipping-4-notref.html
|
||||
|
@ -48,11 +48,11 @@ fuzzy-if(true,1,20) fuzzy-if(d2d,64,196) fuzzy-if(cocoaWidget,1,180) fuzzy-if(An
|
|||
fuzzy-if(Android,5,54) fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,10) fuzzy-if(skiaContent,1,172) == clipping-4-image.html clipping-4-ref.html
|
||||
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,10) fuzzy-if(skiaContent,1,77) == clipping-4-overflow-hidden.html clipping-4-ref.html
|
||||
== clipping-5-canvas.html clipping-5-refc.html
|
||||
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) fuzzy-if(webrender,1,97) == clipping-5-image.html clipping-5-refi.html
|
||||
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) == clipping-5-image.html clipping-5-refi.html
|
||||
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) fuzzy-if(skiaContent,1,77) == clipping-5-overflow-hidden.html clipping-5-ref.html
|
||||
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) fuzzy-if(Android,5,21) fuzzy-if(skiaContent,1,97) == clipping-5-refi.html clipping-5-ref.html
|
||||
fuzzy-if(true,1,7) fuzzy-if(d2d,48,94) fuzzy-if(cocoaWidget,1,99) fuzzy-if(Android,99,115) fuzzy-if(skiaContent,1,77) == clipping-5-refc.html clipping-5-ref.html # bug 732535
|
||||
fuzzy-if(winWidget,105,71) fuzzy-if(Android,8,469) fuzzy-if(skiaContent,7,58) fuzzy-if(d3d11&&advancedLayers,120,319) == clipping-6.html clipping-6-ref.html # PaintedLayer and MaskLayer with transforms that aren't identical
|
||||
fuzzy-if(winWidget,105,71) fuzzy-if(Android,8,469) fuzzy-if(skiaContent,7,58) fuzzy-if(d3d11&&advancedLayers,120,319) fuzzy-if(webrender,7-7,62-62) == clipping-6.html clipping-6-ref.html # PaintedLayer and MaskLayer with transforms that aren't identical
|
||||
fuzzy-if(true,2,29) fuzzy-if(d2d,46,50) fuzzy-if(Android,255,586) fuzzy-if(skiaContent,28,96) == clipping-7.html clipping-7-ref.html # ColorLayer and MaskLayer with transforms that aren't identical. Reference image rendered without using layers (which causes fuzzy failures).
|
||||
fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,5) == clipping-and-zindex-1.html clipping-and-zindex-1-ref.html
|
||||
fuzzy-if(cocoaWidget,1,4) fuzzy-if(d3d11&&advancedLayers,30,3) == intersecting-clipping-1-canvas.html intersecting-clipping-1-refc.html
|
||||
|
@ -76,7 +76,7 @@ fails-if(Android) fuzzy-if(asyncPan&&!layersGPUAccelerated,12,12) fuzzy-if(brows
|
|||
fails-if(Android) == scrollbar-clamping-2.html scrollbar-clamping-2-ref.html
|
||||
|
||||
# Test for bad corner joins.
|
||||
fuzzy-if(true,1,1) == corner-joins-1.xhtml corner-joins-1-ref.xhtml
|
||||
fuzzy-if(true,1,1) fuzzy-if(webrender,13-13,913-913) == corner-joins-1.xhtml corner-joins-1-ref.xhtml
|
||||
fuzzy(255,20) random-if(winWidget) fuzzy-if(skiaContent,255,610) HTTP(..) == corner-joins-2.xhtml corner-joins-2-ref.xhtml
|
||||
|
||||
fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.2/.test(http.oscpu),1,20) fuzzy-if(d2d,64,157) fuzzy-if(Android,166,400) fuzzy-if(skiaContent,58,145) == scroll-1.html scroll-1-ref.html # see bug 732535 #Bug 959166
|
||||
|
@ -88,8 +88,8 @@ fuzzy-if(/^Windows\x20NT\x2010\.0/.test(http.oscpu)||/^Windows\x20NT\x206\.2/.te
|
|||
== iframe-1.html iframe-1-ref.html
|
||||
|
||||
# Test for antialiasing gaps between background and border
|
||||
fuzzy-if(gtkWidget,1,9) fuzzy-if(winWidget&&!d2d,1,9) fuzzy-if(d2d,5,40) fuzzy-if(Android||skiaContent,1,9) fuzzy-if(webrender,5,55) == curved-border-background-nogap.html curved-border-background-nogap-ref.html
|
||||
fuzzy-if(gtkWidget,1,9) fuzzy-if(winWidget&&!d2d,1,9) fuzzy-if(d2d,5,40) fuzzy-if(Android||skiaContent,1,9) == curved-border-background-nogap.html curved-border-background-nogap-ref.html
|
||||
|
||||
== color-layer-1a.html color-layer-1-ref.html
|
||||
|
||||
fuzzy-if(webrender,1,98) == corner-split.html corner-split-ref.svg # bug 1185636
|
||||
== corner-split.html corner-split-ref.svg # bug 1185636
|
||||
|
|
|
@ -39,8 +39,8 @@ fuzzy(13,9445) fuzzy-if(d2d,13,10926) fuzzy-if(webrender,14,14307) == boxshadow-
|
|||
== overflow-not-scrollable-2.html overflow-not-scrollable-2-ref.html
|
||||
fuzzy-if(webrender,1,655) == 611574-1.html 611574-1-ref.html
|
||||
fuzzy-if(webrender,4,144) == 611574-2.html 611574-2-ref.html
|
||||
fuzzy-if(winWidget,5,30) fuzzy-if(skiaContent,16,10) fuzzy-if(webrender,162,120) == fieldset.html fieldset-ref.html # minor anti-aliasing problem on Windows
|
||||
fuzzy-if(winWidget,5,30) fuzzy-if(skiaContent,16,10) fuzzy-if(webrender,165,120) == fieldset-inset.html fieldset-inset-ref.html # minor anti-aliasing problem on Windows
|
||||
fuzzy-if(winWidget,5,30) fuzzy-if(skiaContent,16,10) == fieldset.html fieldset-ref.html # minor anti-aliasing problem on Windows
|
||||
fuzzy-if(winWidget,5,30) fuzzy-if(skiaContent,16,10) == fieldset-inset.html fieldset-inset-ref.html # minor anti-aliasing problem on Windows
|
||||
== 1178575.html 1178575-ref.html
|
||||
== 1178575-2.html 1178575-2-ref.html
|
||||
fuzzy(159,2) fails-if(!dwrite&&!styloVsGecko) == 1212823-1.html 1212823-1-ref.html
|
||||
|
|
|
@ -689,7 +689,7 @@ fails-if(Android) != 376532-3.html 376532-3-ref.html
|
|||
fuzzy-if(skiaContent,1,500) == 379316-1.html 379316-1-ref.html
|
||||
fails-if(Android) random-if(cocoaWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(winWidget,1,180) fuzzy-if(gtkWidget,1,191) fuzzy-if(skiaContent,8,500) == 379316-2.html 379316-2-ref.html # bug 379786
|
||||
== 379328-1.html 379328-1-ref.html
|
||||
fuzzy-if(webrender,1,5) == 379349-1a.xhtml 379349-1-ref.xhtml
|
||||
== 379349-1a.xhtml 379349-1-ref.xhtml
|
||||
# fuzzy because of different border rendering approach in bug 1185636
|
||||
fuzzy(37,20) == 379349-1b.xhtml 379349-1-ref.xhtml
|
||||
fuzzy(37,20) == 379349-1c.xhtml 379349-1-ref.xhtml
|
||||
|
@ -973,8 +973,8 @@ fails-if(!styloVsGecko) == 413027-3.html 413027-3-ref.html
|
|||
== 413292-1.html 413292-1-ref.html
|
||||
fuzzy-if(Android,11,17) fuzzy-if(webrender,0-1,0-10) == 413361-1.html 413361-1-ref.html # bug 1128229
|
||||
== 413840-background-unchanged.html 413840-background-unchanged-ref.html
|
||||
fuzzy-if(webrender,1,8) == 413840-ltr-offsets.html 413840-ltr-offsets-ref.html
|
||||
fuzzy-if(webrender,1,8) == 413840-rtl-offsets.html 413840-rtl-offsets-ref.html
|
||||
== 413840-ltr-offsets.html 413840-ltr-offsets-ref.html
|
||||
== 413840-rtl-offsets.html 413840-rtl-offsets-ref.html
|
||||
== 413840-pushed-line-bullet.html 413840-pushed-line-bullet-ref.html
|
||||
== 413840-bullet-first-line.html 413840-bullet-first-line-ref.html
|
||||
== 413982.html 413982-ref.html
|
||||
|
@ -1173,7 +1173,7 @@ fails-if(usesRepeatResampling) == 446100-1e.html about:blank
|
|||
fails-if(usesRepeatResampling) fails-if(Android) == 446100-1g.html about:blank
|
||||
== 446100-1h.html about:blank
|
||||
== 447749-1.html 447749-1-ref.html
|
||||
fuzzy(127,2) fails-if(webrender) == 448193.html 448193-ref.html # reference hardcodes gecko's 3d border colors, which webrender doesn't match
|
||||
fuzzy(127,2) == 448193.html 448193-ref.html
|
||||
fails-if(styloVsGecko) != 449149-1a.html about:blank
|
||||
fails-if(styloVsGecko) != 449149-1b.html about:blank
|
||||
# Retry the above with XBL scopes
|
||||
|
@ -1196,10 +1196,10 @@ test-pref(dom.use_xbl_scopes_for_remote_xul,true) fails-if(styloVsGecko) != 4491
|
|||
== 455280-1.xhtml 455280-1-ref.xhtml
|
||||
== 455826-1.html 455826-1-ref.html
|
||||
fails-if(cocoaWidget) fails-if(Android) == 456147.xul 456147-ref.html # bug 458047
|
||||
fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,799-799) == 456219-1a.html 456219-1-ref.html # bug 1128229
|
||||
fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,799-799) == 456219-1b.html 456219-1-ref.html # bug 1128229
|
||||
fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,53-53,799-799) == 456219-1c.html 456219-1-ref.html # bug 1128229
|
||||
fuzzy-if(skiaContent,1,45) fuzzy-if(webrender,43-43,8-8) == 456219-2.html 456219-2-ref.html
|
||||
fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) == 456219-1a.html 456219-1-ref.html # bug 1128229
|
||||
fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,24-24,155-155) == 456219-1b.html 456219-1-ref.html # bug 1128229
|
||||
fuzzy-if(Android,11,41) fuzzy-if(winWidget||gtkWidget,4,6) fuzzy-if(d2d,4,69) fuzzy-if(skiaContent,42,150) fuzzy-if(webrender,24-24,155-155) == 456219-1c.html 456219-1-ref.html # bug 1128229
|
||||
fuzzy-if(skiaContent,1,45) == 456219-2.html 456219-2-ref.html
|
||||
== 456330-1.gif 456330-1-ref.png
|
||||
== 456484-1.html 456484-1-ref.html
|
||||
== 457398-1.html 457398-1-ref.html
|
||||
|
@ -1227,13 +1227,13 @@ fuzzy-if(skiaContent,1,5) == 459443-1.html 459443-1-ref.html
|
|||
== 459613-1.html 459613-1-ref.html
|
||||
== 460012-1.html 460012-1-ref.html
|
||||
== 461266-1.html 461266-1-ref.html
|
||||
fuzzy-if(skiaContent,1,12000) fails-if(webrender) == 461512-1.html 461512-1-ref.html # reference hardcodes gecko's 3d border colors, which webrender doesn't match
|
||||
fuzzy-if(skiaContent,1,12000) == 461512-1.html 461512-1-ref.html
|
||||
== 462844-1.html 462844-ref.html
|
||||
== 462844-2.html 462844-ref.html
|
||||
== 462844-3.html 462844-ref.html
|
||||
== 462844-4.html 462844-ref.html
|
||||
== 463204-1.html 463204-1-ref.html
|
||||
fuzzy-if(webrender,16,3425) == 463217-1.xul 463217-1-ref.xul
|
||||
== 463217-1.xul 463217-1-ref.xul
|
||||
== 463952-1.html 463952-1-ref.html
|
||||
== 464811-1.html 464811-1-ref.html
|
||||
== 465574-1.html 465574-1-ref.html # bug 421436
|
||||
|
@ -1611,7 +1611,7 @@ fails-if(!haveTestPlugin) HTTP == 599476.html 599476-ref.html
|
|||
== 600974-3.html 600974-1-ref.html
|
||||
== 602200-1.html 602200-1-ref.html
|
||||
== 602200-2.html 602200-2-ref.html
|
||||
fuzzy-if(Android,8,20) fails-if(webrender) == 602200-3.html 602200-3-ref.html # mishandled transform
|
||||
fuzzy-if(Android,8,20) == 602200-3.html 602200-3-ref.html
|
||||
== 602200-4.html 602200-4-ref.html
|
||||
== 603423-1.html 603423-1-ref.html
|
||||
== 604737.html 604737-ref.html
|
||||
|
@ -1664,7 +1664,7 @@ HTTP(..) == 635639-2.html 635639-2-ref.html
|
|||
random == 637597-1.html 637597-1-ref.html # bug 637597 was never really fixed!
|
||||
fuzzy-if(Android,8,500) == 637852-1.html 637852-1-ref.html
|
||||
fuzzy-if(Android,8,500) fuzzy-if(skiaContent,2,1) fuzzy-if(webrender,3,19) == 637852-2.html 637852-2-ref.html
|
||||
fuzzy-if(Android,8,500) fails-if(webrender) == 637852-3.html 637852-3-ref.html
|
||||
fuzzy-if(Android,8,500) == 637852-3.html 637852-3-ref.html
|
||||
fails-if(webrender&&asyncPan) == 641770-1.html 641770-1-ref.html # bug 1374326 for webrender+APZ
|
||||
== 641856-1.html 641856-1-ref.html
|
||||
== 645491-1.html 645491-1-ref.html
|
||||
|
@ -1937,7 +1937,7 @@ skip-if(!Android) fails-if(Android) == 1133905-6-vh-rtl.html 1133905-ref-vh-rtl.
|
|||
== 1151306-1.html 1151306-1-ref.html
|
||||
== 1153845-1.html 1153845-1-ref.html
|
||||
== 1155828-1.html 1155828-1-ref.html
|
||||
fuzzy-if(skiaContent,7,84) fails-if(webrender) == 1156129-1.html 1156129-1-ref.html
|
||||
fuzzy-if(skiaContent,7,84) == 1156129-1.html 1156129-1-ref.html
|
||||
pref(dom.use_xbl_scopes_for_remote_xul,true) HTTP(..) == 1157127-1.html 1157127-1-ref.html
|
||||
fuzzy-if(Android,6,6) == 1169331-1.html 1169331-1-ref.html
|
||||
fuzzy(1,74) fails-if(gtkWidget&&!styloVsGecko) == 1174332-1.html 1174332-1-ref.html # bug 1312658
|
||||
|
@ -1984,7 +1984,7 @@ fuzzy-if(Android,27,874) fuzzy-if(gtkWidget,14,29) == 1313772.xhtml 1313772-ref.
|
|||
fuzzy(2,320000) == 1315113-1.html 1315113-1-ref.html
|
||||
fuzzy(2,20000) == 1315113-2.html 1315113-2-ref.html
|
||||
== 1315632-1.html 1315632-1-ref.html
|
||||
fuzzy(2,40000) fuzzy-if(webrender,27,700) == 1316719-1a.html 1316719-1-ref.html
|
||||
fuzzy(2,40000) fuzzy-if(webrender,26,691) == 1316719-1a.html 1316719-1-ref.html
|
||||
fuzzy(2,40000) fuzzy-if(webrender,26,691) == 1316719-1b.html 1316719-1-ref.html
|
||||
fuzzy(2,40000) == 1316719-1c.html 1316719-1-ref.html
|
||||
pref(layers.advanced.background-color,1) skip-if(!webrender) fuzzy-if(webrender,27,700) == 1316719-1a.html 1316719-1-ref.html
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
== min-width-1a.html pref-width-1-ref.html
|
||||
== min-width-1b.html min-width-1-ref.html
|
||||
== min-width-1c.html min-width-1-ref.html
|
||||
fuzzy-if(webrender,1-1,15-15) == min-width-2.html min-width-2-ref.html
|
||||
fuzzy-if(webrender,1-1,35-35) == min-width-2.html min-width-2-ref.html
|
||||
== column-balancing-overflow-000.html column-balancing-overflow-000.ref.html
|
||||
== column-balancing-overflow-001.html column-balancing-overflow-000.ref.html
|
||||
== column-balancing-overflow-002.html column-balancing-overflow-002.ref.html
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
default-preferences pref(layout.css.box-decoration-break.enabled,true)
|
||||
|
||||
== box-decoration-break-1.html box-decoration-break-1-ref.html
|
||||
fuzzy(1,20) fuzzy-if(skiaContent,1,700) fuzzy-if(webrender,4-4,3320-3320) == box-decoration-break-with-inset-box-shadow-1.html box-decoration-break-with-inset-box-shadow-1-ref.html
|
||||
fuzzy(1,20) fuzzy-if(skiaContent,1,700) fuzzy-if(webrender,4-4,3273-3273) == box-decoration-break-with-inset-box-shadow-1.html box-decoration-break-with-inset-box-shadow-1-ref.html
|
||||
fuzzy(16,460) fuzzy-if(Android,10,3673) fuzzy-if(skiaContent,57,374) == box-decoration-break-with-outset-box-shadow-1.html box-decoration-break-with-outset-box-shadow-1-ref.html
|
||||
random-if(!gtkWidget) HTTP(..) == box-decoration-break-border-image.html box-decoration-break-border-image-ref.html
|
||||
== box-decoration-break-block-border-padding.html box-decoration-break-block-border-padding-ref.html
|
||||
|
|
|
@ -52,7 +52,7 @@ skip-if(Android) fuzzy-if(winWidget,1,32) == grid-placement-auto-implicit-001.ht
|
|||
== grid-item-dir-001.html grid-item-dir-001-ref.html
|
||||
fuzzy-if(winWidget,70,130) fuzzy-if(cocoaWidget,85,180) == grid-col-max-sizing-max-content-001.html grid-col-max-sizing-max-content-001-ref.html
|
||||
fuzzy-if(winWidget,70,130) fuzzy-if(cocoaWidget,85,180) == grid-col-max-sizing-max-content-002.html grid-col-max-sizing-max-content-002-ref.html
|
||||
fuzzy-if(webrender,1-1,2-2) == grid-min-max-content-sizing-001.html grid-min-max-content-sizing-001-ref.html
|
||||
== grid-min-max-content-sizing-001.html grid-min-max-content-sizing-001-ref.html
|
||||
== grid-min-max-content-sizing-002.html grid-min-max-content-sizing-002-ref.html
|
||||
fuzzy-if(winWidget,1,36) == grid-auto-min-sizing-definite-001.html grid-auto-min-sizing-definite-001-ref.html
|
||||
== grid-auto-min-sizing-intrinsic-001.html grid-auto-min-sizing-intrinsic-001-ref.html
|
||||
|
@ -138,7 +138,7 @@ random-if(http.oscpu!="Linux\u0020i686") == grid-item-content-baseline-002.html
|
|||
random-if(http.oscpu!="Linux\u0020i686") == grid-item-mixed-baseline-001.html grid-item-mixed-baseline-001-ref.html # ditto
|
||||
random-if(http.oscpu!="Linux\u0020i686") == grid-item-mixed-baseline-002.html grid-item-mixed-baseline-002-ref.html # ditto
|
||||
random-if(http.oscpu!="Linux\u0020i686") == grid-item-mixed-baseline-003.html grid-item-mixed-baseline-003-ref.html # ditto
|
||||
skip-if(!gtkWidget) fuzzy-if(webrender,8,528) == grid-item-mixed-baseline-004.html grid-item-mixed-baseline-004-ref.html # ditto
|
||||
skip-if(!gtkWidget) == grid-item-mixed-baseline-004.html grid-item-mixed-baseline-004-ref.html # ditto
|
||||
== grid-align-content-001.html grid-align-content-001-ref.html
|
||||
== grid-justify-content-001.html grid-justify-content-001-ref.html
|
||||
skip-if(Android&&isDebugBuild) == grid-justify-content-002.html grid-justify-content-002-ref.html # Bug 1245884 - slow
|
||||
|
@ -188,8 +188,8 @@ skip-if(Android&&isDebugBuild) == grid-row-gap-004.html grid-row-gap-004-ref.htm
|
|||
== grid-item-blockifying-001.html grid-item-blockifying-001-ref.html
|
||||
== grid-fragmentation-001.html grid-fragmentation-001-ref.html
|
||||
== grid-fragmentation-002.html grid-fragmentation-002-ref.html
|
||||
fuzzy-if(webrender,8,3478) == grid-fragmentation-003.html grid-fragmentation-003-ref.html
|
||||
fuzzy-if(webrender,8,2130) == grid-fragmentation-004.html grid-fragmentation-004-ref.html
|
||||
== grid-fragmentation-003.html grid-fragmentation-003-ref.html
|
||||
== grid-fragmentation-004.html grid-fragmentation-004-ref.html
|
||||
== grid-fragmentation-005.html grid-fragmentation-005-ref.html
|
||||
== grid-fragmentation-006.html grid-fragmentation-006-ref.html
|
||||
== grid-fragmentation-007.html grid-fragmentation-007-ref.html
|
||||
|
@ -214,7 +214,7 @@ asserts(0-10) == grid-fragmentation-015.html grid-fragmentation-015-ref.html # b
|
|||
== grid-fragmentation-026.html grid-fragmentation-026-ref.html
|
||||
== grid-fragmentation-027.html grid-fragmentation-025-ref.html
|
||||
== grid-fragmentation-028.html grid-fragmentation-028-ref.html
|
||||
fuzzy-if(webrender,1-1,2-2) == grid-fragmentation-029.html grid-fragmentation-029-ref.html
|
||||
== grid-fragmentation-029.html grid-fragmentation-029-ref.html
|
||||
== grid-fragmentation-030.html grid-fragmentation-030-ref.html
|
||||
== grid-fragmentation-031.html grid-fragmentation-031-ref.html
|
||||
|
||||
|
@ -224,8 +224,8 @@ fuzzy-if(webrender,1-1,2-2) == grid-fragmentation-029.html grid-fragmentation-02
|
|||
== grid-fragmentation-dyn4-001.html grid-fragmentation-001-ref.html
|
||||
== grid-fragmentation-dyn1-002.html grid-fragmentation-002-ref.html
|
||||
== grid-fragmentation-dyn3-002.html grid-fragmentation-002-ref.html
|
||||
fuzzy-if(webrender,8,3478) == grid-fragmentation-dyn3-003.html grid-fragmentation-003-ref.html
|
||||
fuzzy-if(webrender,8,3478) == grid-fragmentation-dyn4-004.html grid-fragmentation-004-ref.html
|
||||
== grid-fragmentation-dyn3-003.html grid-fragmentation-003-ref.html
|
||||
== grid-fragmentation-dyn4-004.html grid-fragmentation-004-ref.html
|
||||
== grid-fragmentation-dyn4-005.html grid-fragmentation-005-ref.html
|
||||
== grid-fragmentation-dyn5-005.html grid-fragmentation-005-ref.html
|
||||
== grid-fragmentation-dyn1-006.html grid-fragmentation-006-ref.html
|
||||
|
@ -275,8 +275,8 @@ asserts(1-10) == grid-fragmentation-dyn4-021.html grid-fragmentation-021-ref.htm
|
|||
== grid-fragmentation-dyn3-028.html grid-fragmentation-028-ref.html
|
||||
== grid-fragmentation-dyn4-028.html grid-fragmentation-028-ref.html
|
||||
== grid-fragmentation-dyn5-028.html grid-fragmentation-028-ref.html
|
||||
fuzzy-if(webrender,1-1,2-2) == grid-fragmentation-dyn1-029.html grid-fragmentation-029-ref.html
|
||||
fuzzy-if(webrender,1-1,2-2) == grid-fragmentation-dyn2-029.html grid-fragmentation-029-ref.html
|
||||
== grid-fragmentation-dyn1-029.html grid-fragmentation-029-ref.html
|
||||
== grid-fragmentation-dyn2-029.html grid-fragmentation-029-ref.html
|
||||
== grid-fragmentation-dyn2-030.html grid-fragmentation-030-ref.html
|
||||
== grid-fragmentation-dyn2-031.html grid-fragmentation-031-ref.html
|
||||
== bug1306106.html bug1306106-ref.html
|
||||
|
|
|
@ -3,7 +3,7 @@ fuzzy-if(cocoaWidget,16,64) fuzzy-if(Android,52,64) fuzzy-if(winWidget,88,400) =
|
|||
== display-block-baselines-2.html display-block-baselines-2-ref.html
|
||||
== display-block-baselines-3.html display-block-baselines-3-ref.html
|
||||
fails-if(styloVsGecko||stylo) == display-block-baselines-4.html display-block-baselines-4-ref.html
|
||||
fuzzy-if(Android,4,8) fuzzy-if(skiaContent,7,2) fuzzy-if(webrender,1,16) == display-block-baselines-5.html display-block-baselines-5-ref.html
|
||||
fuzzy-if(Android,4,8) fuzzy-if(skiaContent,7,2) == display-block-baselines-5.html display-block-baselines-5-ref.html
|
||||
|
||||
# button element
|
||||
include button/reftest.list
|
||||
|
|
|
@ -11,11 +11,11 @@ fails-if(azureSkia) fails-if(cocoaWidget) skip-if(styloVsGecko) == canvas-outsid
|
|||
== element-paint-repeated.html element-paint-repeated-ref.html
|
||||
== element-paint-recursion.html element-paint-recursion-ref.html
|
||||
HTTP(..) == element-paint-continuation.html element-paint-continuation-ref.html
|
||||
fails-if(webrender) == element-paint-transform-01.html element-paint-transform-01-ref.html
|
||||
== element-paint-transform-01.html element-paint-transform-01-ref.html
|
||||
random-if(d2d) == element-paint-transform-02.html element-paint-transform-02-ref.html # bug 587133
|
||||
fuzzy-if(d2d&&/^Windows\x20NT\x206\.1/.test(http.oscpu),16,90) == element-paint-background-size-01.html element-paint-background-size-01-ref.html
|
||||
== element-paint-background-size-02.html element-paint-background-size-02-ref.html
|
||||
fuzzy-if(skiaContent,255,4) fails-if(webrender) == element-paint-transform-repeated.html element-paint-transform-repeated-ref.html
|
||||
fuzzy-if(skiaContent,255,4) == element-paint-transform-repeated.html element-paint-transform-repeated-ref.html
|
||||
fuzzy-if(d2d,255,24) == element-paint-transform-03.html element-paint-transform-03-ref.html
|
||||
fuzzy-if(asyncPan,2,140) fuzzy-if(skiaContent,3,106) == element-paint-native-widget.html element-paint-native-widget-ref.html # in -ref the scrollframe is active and layerized differently with APZ
|
||||
fails-if(usesRepeatResampling) == element-paint-subimage-sampling-restriction.html about:blank
|
||||
|
|
|
@ -46,15 +46,15 @@ pref(layout.animated-image-layers.enabled,true) skip-if(Android||gtkWidget) == t
|
|||
# All the tests marked with random-if(webrender) are specific to "layers" and therefore not really valid with WebRender enabled.
|
||||
# We are marking them random-if so that we ensure they don't crash, but allow any non-crash result.
|
||||
|
||||
random-if(webrender) != scroll-inactive-layers.html about:blank
|
||||
random-if(webrender) != scroll-inactive-layers-2.html about:blank
|
||||
random-if(webrender) != inactive-layertree-visible-region-1.html about:blank
|
||||
random-if(webrender) != inactive-layertree-visible-region-2.html about:blank
|
||||
random-if(webrender) != transform-floating-point-invalidation.html about:blank
|
||||
random-if(webrender) != transform-floating-point-invalidation.html?reverse about:blank
|
||||
random-if(webrender) != nudge-to-integer-invalidation.html about:blank
|
||||
random-if(webrender) != nudge-to-integer-invalidation.html?reverse about:blank
|
||||
random-if(webrender) skip-if(styloVsGecko) != clipped-animated-transform-1.html about:blank # Bug 1352628 (styloVsGecko)
|
||||
fails-if(webrender) != scroll-inactive-layers.html about:blank
|
||||
fails-if(webrender) != scroll-inactive-layers-2.html about:blank
|
||||
fails-if(webrender) != inactive-layertree-visible-region-1.html about:blank
|
||||
fails-if(webrender) != inactive-layertree-visible-region-2.html about:blank
|
||||
fails-if(webrender) != transform-floating-point-invalidation.html about:blank
|
||||
fails-if(webrender) != transform-floating-point-invalidation.html?reverse about:blank
|
||||
fails-if(webrender) != nudge-to-integer-invalidation.html about:blank
|
||||
fails-if(webrender) != nudge-to-integer-invalidation.html?reverse about:blank
|
||||
fails-if(webrender) skip-if(styloVsGecko) != clipped-animated-transform-1.html about:blank # Bug 1352628 (styloVsGecko)
|
||||
random-if(webrender) != paintedlayer-recycling-1.html about:blank
|
||||
random-if(webrender) != paintedlayer-recycling-2.html about:blank
|
||||
pref(layers.single-tile.enabled,false) random-if(webrender) != paintedlayer-recycling-3.html about:blank
|
||||
|
@ -73,8 +73,8 @@ random-if(webrender) != layer-splitting-6.html about:blank
|
|||
random-if(webrender) != layer-splitting-7.html about:blank
|
||||
fuzzy-if(gtkWidget,2,4) fuzzy-if(asyncPan,2,3955) fuzzy-if(OSX,179,30) fuzzy-if(skiaContent,16,3230) == image-scrolling-zoom-1.html image-scrolling-zoom-1-ref.html
|
||||
!= image-scrolling-zoom-1-ref.html image-scrolling-zoom-1-notref.html
|
||||
pref(layers.single-tile.enabled,false) random-if(webrender) != fast-scrolling.html about:blank
|
||||
random-if(webrender) == background-position-1.html background-position-1-ref.html
|
||||
pref(layers.single-tile.enabled,false) fails-if(webrender) != fast-scrolling.html about:blank
|
||||
fails-if(webrender) == background-position-1.html background-position-1-ref.html
|
||||
== background-position-2a.html background-position-2-ref.html
|
||||
== background-position-2b.html background-position-2-ref.html
|
||||
== background-position-2c.html background-position-2-ref.html
|
||||
|
|
|
@ -29,9 +29,9 @@ random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-6.html ab
|
|||
fuzzy(2,30150) == opacity-blending.html opacity-blending-ref.html
|
||||
fuzzy(16,5) fails-if(webrender) == mask-layer-transform.html mask-layer-transform-ref.html
|
||||
fuzzy-if(gtkWidget,1,17) fuzzy-if(Android,3,4) == forced-bg-color-outside-visible-region.html forced-bg-color-outside-visible-region-ref.html
|
||||
random-if(webrender) != layerize-over-fixed-bg-1.html about:blank
|
||||
skip-if(!asyncPan) random-if(webrender) != fixed-pos-scrolled-clip-layerize.html about:blank
|
||||
skip-if(!asyncPan) random-if(webrender) == fixed-pos-scrolled-clip-opacity-layerize.html fixed-pos-scrolled-clip-opacity-inside-layerize.html
|
||||
!= layerize-over-fixed-bg-1.html about:blank
|
||||
skip-if(!asyncPan) != fixed-pos-scrolled-clip-layerize.html about:blank
|
||||
skip-if(!asyncPan) == fixed-pos-scrolled-clip-opacity-layerize.html fixed-pos-scrolled-clip-opacity-inside-layerize.html
|
||||
|
||||
# These tests check whether the GPU process is working. We expect it to work if:
|
||||
# E10S is enabled, and
|
||||
|
|
|
@ -204,7 +204,7 @@ fails fails-if(styloVsGecko) random-if(webrender) == reftest-opaque-layer-wait-f
|
|||
fails-if(!styloVsGecko) fails-if(styloVsGecko) random-if(webrender) != reftest-opaque-layer-wait-fail.html about:blank
|
||||
|
||||
# reftest-assigned-layer
|
||||
random-if(webrender) != reftest-assigned-layer-pass.html about:blank
|
||||
!= reftest-assigned-layer-pass.html about:blank
|
||||
fails-if(!styloVsGecko) fails-if(styloVsGecko) != reftest-assigned-layer-fail-1.html about:blank
|
||||
fails-if(!styloVsGecko) fails-if(styloVsGecko) != reftest-assigned-layer-fail-2.html about:blank
|
||||
fails-if(!styloVsGecko) fails-if(styloVsGecko) != reftest-assigned-layer-fail-3.html about:blank
|
||||
|
|
|
@ -321,7 +321,7 @@ fuzzy-if(skiaContent,1,10000) == opacity-and-transform-01.svg opacity-and-transf
|
|||
|
||||
fuzzy-if(Android,8,200) == outer-svg-border-and-padding-01.svg outer-svg-border-and-padding-01-ref.svg
|
||||
|
||||
fuzzy-if(skiaContent,7,175) fuzzy-if(skiaContent&&webrender,7-7,154-154) == outline.html outline-ref.html
|
||||
fuzzy-if(skiaContent,7,175) fuzzy-if(skiaContent&&webrender,1,225) == outline.html outline-ref.html
|
||||
|
||||
== overflow-on-outer-svg-01.svg overflow-on-outer-svg-01-ref.svg
|
||||
== overflow-on-outer-svg-02a.xhtml overflow-on-outer-svg-02-ref.xhtml
|
||||
|
|
|
@ -47,13 +47,13 @@ fuzzy-if(d2d,1,16359) fuzzy-if(skiaContent,1,17000) == border-collapse-opacity-t
|
|||
fuzzy-if(d2d,1,11000) fuzzy-if(skiaContent,1,11000) == border-collapse-opacity-table-row.html border-collapse-opacity-table-row-ref.html
|
||||
fuzzy-if(d2d||skiaContent,1,60000) == border-collapse-opacity-table.html border-collapse-opacity-table-ref.html
|
||||
fuzzy-if(d2d,1,2478) fuzzy-if(skiaContent,1,2500) == border-separate-opacity-table-cell.html border-separate-opacity-table-cell-ref.html
|
||||
fuzzy-if(d2d,1,38000) fuzzy-if(webrender,1,38000) == border-separate-opacity-table-column-group.html border-separate-opacity-table-column-group-ref.html # bug 424274
|
||||
fuzzy-if(d2d,1,13000) fuzzy-if(webrender,1,13000) == border-separate-opacity-table-column.html border-separate-opacity-table-column-ref.html # bug 424274
|
||||
fuzzy-if(d2d,1,38000) == border-separate-opacity-table-column-group.html border-separate-opacity-table-column-group-ref.html # bug 424274
|
||||
fuzzy-if(d2d,1,13000) == border-separate-opacity-table-column.html border-separate-opacity-table-column-ref.html # bug 424274
|
||||
fuzzy-if(d2d,1,37170) fuzzy-if(skiaContent,1,38000) == border-separate-opacity-table-row-group.html border-separate-opacity-table-row-group-ref.html
|
||||
fuzzy-if(d2d,1,12390) fuzzy-if(skiaContent,1,13000) == border-separate-opacity-table-row.html border-separate-opacity-table-row-ref.html
|
||||
fuzzy-if(d2d||skiaContent,1,95000) == border-separate-opacity-table.html border-separate-opacity-table-ref.html
|
||||
!= scrollable-rowgroup-collapse-background.html scrollable-rowgroup-collapse-notref.html
|
||||
!= scrollable-rowgroup-collapse-border.html scrollable-rowgroup-collapse-notref.html
|
||||
!= scrollable-rowgroup-collapse-background.html scrollable-rowgroup-collapse-notref.html
|
||||
!= scrollable-rowgroup-collapse-border.html scrollable-rowgroup-collapse-notref.html
|
||||
!= scrollable-rowgroup-separate-background.html scrollable-rowgroup-separate-notref.html
|
||||
== scrollable-rowgroup-separate-border.html scrollable-rowgroup-separate-notref.html # scrolling rowgroups were removed in bug 28800
|
||||
== empty-cells-default-1.html empty-cells-default-1-ref.html
|
||||
|
|
|
@ -23,39 +23,38 @@
|
|||
== frame_above_rules_all.html frame_above_rules_all_ref.html
|
||||
== frame_above_rules_cols.html frame_above_rules_cols_ref.html
|
||||
== frame_above_rules_groups.html frame_above_rules_groups_ref.html
|
||||
# All these webrender-fails are due to hardcoded 3D border colors, which webrender doesn't match gecko on. See webrender issue 1280.
|
||||
fails-if(webrender) == frame_above_rules_none.html frame_above_rules_none_ref.html
|
||||
== frame_above_rules_none.html frame_above_rules_none_ref.html
|
||||
== frame_above_rules_rows.html frame_above_rules_rows_ref.html
|
||||
== frame_below_rules_all.html frame_below_rules_all_ref.html
|
||||
== frame_below_rules_cols.html frame_below_rules_cols_ref.html
|
||||
== frame_below_rules_groups.html frame_below_rules_groups_ref.html
|
||||
fails-if(webrender) == frame_below_rules_none.html frame_below_rules_none_ref.html
|
||||
== frame_below_rules_none.html frame_below_rules_none_ref.html
|
||||
== frame_below_rules_rows.html frame_below_rules_rows_ref.html
|
||||
== frame_border_rules_all.html frame_border_rules_all_ref.html
|
||||
== frame_border_rules_cols.html frame_border_rules_cols_ref.html
|
||||
== frame_border_rules_groups.html frame_border_rules_groups_ref.html
|
||||
fails-if(webrender) == frame_border_rules_none.html frame_border_rules_none_ref.html
|
||||
== frame_border_rules_none.html frame_border_rules_none_ref.html
|
||||
== frame_border_rules_rows.html frame_border_rules_rows_ref.html
|
||||
== frame_box_rules_all.html frame_box_rules_all_ref.html
|
||||
== frame_box_rules_cols.html frame_box_rules_cols_ref.html
|
||||
== frame_box_rules_groups.html frame_box_rules_groups_ref.html
|
||||
fails-if(webrender) == frame_box_rules_none.html frame_box_rules_none_ref.html
|
||||
== frame_box_rules_none.html frame_box_rules_none_ref.html
|
||||
== frame_box_rules_none-collapse.html frame_box_rules_none-collapse-ref.html
|
||||
== frame_box_rules_rows.html frame_box_rules_rows_ref.html
|
||||
== frame_hsides_rules_all.html frame_hsides_rules_all_ref.html
|
||||
== frame_hsides_rules_cols.html frame_hsides_rules_cols_ref.html
|
||||
== frame_hsides_rules_groups.html frame_hsides_rules_groups_ref.html
|
||||
fails-if(webrender) == frame_hsides_rules_none.html frame_hsides_rules_none_ref.html
|
||||
== frame_hsides_rules_none.html frame_hsides_rules_none_ref.html
|
||||
== frame_hsides_rules_rows.html frame_hsides_rules_rows_ref.html
|
||||
== frame_lhs_rules_all.html frame_lhs_rules_all_ref.html
|
||||
== frame_lhs_rules_cols.html frame_lhs_rules_cols_ref.html
|
||||
== frame_lhs_rules_groups.html frame_lhs_rules_groups_ref.html
|
||||
fails-if(webrender) == frame_lhs_rules_none.html frame_lhs_rules_none_ref.html
|
||||
== frame_lhs_rules_none.html frame_lhs_rules_none_ref.html
|
||||
== frame_lhs_rules_rows.html frame_lhs_rules_rows_ref.html
|
||||
== frame_rhs_rules_all.html frame_rhs_rules_all_ref.html
|
||||
== frame_rhs_rules_cols.html frame_rhs_rules_cols_ref.html
|
||||
== frame_rhs_rules_groups.html frame_rhs_rules_groups_ref.html
|
||||
fails-if(webrender) == frame_rhs_rules_none.html frame_rhs_rules_none_ref.html
|
||||
== frame_rhs_rules_none.html frame_rhs_rules_none_ref.html
|
||||
== frame_rhs_rules_rows.html frame_rhs_rules_rows_ref.html
|
||||
== frame_void_rules_all.html frame_void_rules_all_ref.html
|
||||
== frame_void_rules_cols.html frame_void_rules_cols_ref.html
|
||||
|
@ -65,7 +64,7 @@ fails-if(webrender) == frame_rhs_rules_none.html frame_rhs_rules_none_ref.html
|
|||
== frame_vsides_rules_all.html frame_vsides_rules_all_ref.html
|
||||
== frame_vsides_rules_cols.html frame_vsides_rules_cols_ref.html
|
||||
== frame_vsides_rules_groups.html frame_vsides_rules_groups_ref.html
|
||||
fails-if(webrender) == frame_vsides_rules_none.html frame_vsides_rules_none_ref.html
|
||||
== frame_vsides_rules_none.html frame_vsides_rules_none_ref.html
|
||||
== frame_vsides_rules_rows.html frame_vsides_rules_rows_ref.html
|
||||
== borderhandling-1.html borderhandling-ref.html
|
||||
== borderhandling-2.html borderhandling-ref.html
|
||||
|
@ -100,9 +99,9 @@ fails-if(webrender) == frame_vsides_rules_none.html frame_vsides_rules_none_ref.
|
|||
# Fuzzy because for some reason the corner beveling is antialiased differently.
|
||||
# So get 40 pixels of fuzz, 20 at each beveled corner (because the border width
|
||||
# is 20px).
|
||||
fuzzy(255,40) fails-if(webrender) == border-style-outset-becomes-groove.html border-style-outset-becomes-groove-ref.html
|
||||
fuzzy(255,40) == border-style-outset-becomes-groove.html border-style-outset-becomes-groove-ref.html
|
||||
# Fuzzy because for some reason the corner beveling is antialiased differently.
|
||||
# So get 40 pixels of fuzz, 20 at each beveled corner (because the border width
|
||||
# is 20px).
|
||||
fuzzy(255,40) fails-if(webrender) == border-style-inset-becomes-ridge.html border-style-inset-becomes-ridge-ref.html
|
||||
fuzzy(255,40) == border-style-inset-becomes-ridge.html border-style-inset-becomes-ridge-ref.html
|
||||
fuzzy(2,11000) == 1324524.html 1324524-ref.html
|
||||
|
|
|
@ -52,9 +52,9 @@ random == rotate-1f.html rotate-1-ref.html
|
|||
!= origin-1b.html origin-1-ref.html
|
||||
# -transform-origin: We should get the same images when using equivalent
|
||||
# -transform-origins.
|
||||
fuzzy-if(webrender,1,10) == origin-2a.html origin-2-ref.html
|
||||
fuzzy-if(webrender,1,10) == origin-2b.html origin-2-ref.html
|
||||
fuzzy-if(webrender,1,10) == origin-2c.html origin-2-ref.html
|
||||
== origin-2a.html origin-2-ref.html
|
||||
== origin-2b.html origin-2-ref.html
|
||||
== origin-2c.html origin-2-ref.html
|
||||
# "Translate" with percentages should be indistinguishable from translate with
|
||||
# equivalent values.
|
||||
== percent-1a.html percent-1-ref.html
|
||||
|
|
|
@ -262,12 +262,12 @@ fuzzy(106,354) css-multicol-1/multicol-rule-double-000.xht
|
|||
fails-if(OSX||winWidget) css-multicol-1/multicol-rule-fraction-001.xht
|
||||
fails-if(OSX||winWidget) css-multicol-1/multicol-rule-fraction-002.xht
|
||||
fails-if(!styloVsGecko) css-multicol-1/multicol-rule-fraction-003.xht
|
||||
fuzzy(127,500) css-multicol-1/multicol-rule-groove-000.xht
|
||||
fuzzy(127,500) fails-if(webrender) css-multicol-1/multicol-rule-groove-000.xht
|
||||
fuzzy(94,256) css-multicol-1/multicol-rule-hidden-000.xht
|
||||
fuzzy(127,500) css-multicol-1/multicol-rule-inset-000.xht
|
||||
fuzzy(127,500) css-multicol-1/multicol-rule-outset-000.xht
|
||||
fuzzy(127,500) fails-if(webrender) css-multicol-1/multicol-rule-inset-000.xht
|
||||
fuzzy(127,500) fails-if(webrender) css-multicol-1/multicol-rule-outset-000.xht
|
||||
fails-if(!styloVsGecko) css-multicol-1/multicol-rule-px-001.xht
|
||||
fuzzy(127,500) css-multicol-1/multicol-rule-ridge-000.xht
|
||||
fuzzy(127,500) fails-if(webrender) css-multicol-1/multicol-rule-ridge-000.xht
|
||||
fuzzy(106,354) css-multicol-1/multicol-rule-solid-000.xht
|
||||
fails-if(!styloVsGecko) css-multicol-1/multicol-rule-stacking-001.xht
|
||||
fails-if(webrender) css-multicol-1/multicol-rule-style-groove-001.xht
|
||||
|
|
|
@ -135,15 +135,15 @@ fuzzy(106,354) == css-multicol-1/multicol-rule-double-000.xht css-multicol-1/mul
|
|||
fails-if(OSX||winWidget) == css-multicol-1/multicol-rule-fraction-001.xht css-multicol-1/multicol-rule-fraction-001-ref.xht
|
||||
fails-if(OSX||winWidget) == css-multicol-1/multicol-rule-fraction-002.xht css-multicol-1/multicol-rule-fraction-002-ref.xht
|
||||
fails-if(!styloVsGecko) == css-multicol-1/multicol-rule-fraction-003.xht css-multicol-1/multicol-rule-fraction-3-ref.xht
|
||||
fuzzy(127,500) == css-multicol-1/multicol-rule-groove-000.xht css-multicol-1/multicol-rule-groove-000-ref.xht
|
||||
fuzzy(127,500) fails-if(webrender) == css-multicol-1/multicol-rule-groove-000.xht css-multicol-1/multicol-rule-groove-000-ref.xht
|
||||
fuzzy(94,256) == css-multicol-1/multicol-rule-hidden-000.xht css-multicol-1/multicol-rule-hidden-000-ref.xht
|
||||
fuzzy(127,500) == css-multicol-1/multicol-rule-inset-000.xht css-multicol-1/multicol-rule-ridge-000-ref.xht
|
||||
fuzzy(127,500) fails-if(webrender) == css-multicol-1/multicol-rule-inset-000.xht css-multicol-1/multicol-rule-ridge-000-ref.xht
|
||||
fuzzy(255,2808) == css-multicol-1/multicol-rule-large-001.xht css-multicol-1/multicol-rule-large-001-ref.xht
|
||||
fuzzy(94,256) == css-multicol-1/multicol-rule-none-000.xht css-multicol-1/multicol-rule-hidden-000-ref.xht
|
||||
fuzzy(127,500) == css-multicol-1/multicol-rule-outset-000.xht css-multicol-1/multicol-rule-groove-000-ref.xht
|
||||
fuzzy(127,500) fails-if(webrender) == css-multicol-1/multicol-rule-outset-000.xht css-multicol-1/multicol-rule-groove-000-ref.xht
|
||||
== css-multicol-1/multicol-rule-percent-001.xht css-multicol-1/multicol-containing-002-ref.xht
|
||||
fails-if(!styloVsGecko) == css-multicol-1/multicol-rule-px-001.xht css-multicol-1/multicol-rule-ref.xht
|
||||
fuzzy(127,500) == css-multicol-1/multicol-rule-ridge-000.xht css-multicol-1/multicol-rule-ridge-000-ref.xht
|
||||
fuzzy(127,500) fails-if(webrender) == css-multicol-1/multicol-rule-ridge-000.xht css-multicol-1/multicol-rule-ridge-000-ref.xht
|
||||
== css-multicol-1/multicol-rule-samelength-001.xht css-multicol-1/multicol-rule-samelength-001-ref.xht
|
||||
== css-multicol-1/multicol-rule-shorthand-001.xht css-multicol-1/multicol-rule-samelength-001-ref.xht
|
||||
fuzzy(106,354) == css-multicol-1/multicol-rule-solid-000.xht css-multicol-1/multicol-rule-solid-000-ref.xht
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
# background-repeat round/space test cases
|
||||
fuzzy-if(webrender,1,83) == background-repeat-space-1a.html background-repeat-space-1-ref.html
|
||||
fuzzy-if(webrender,1,83) == background-repeat-space-1b.html background-repeat-space-1-ref.html
|
||||
fuzzy-if(webrender,1,83) == background-repeat-space-1c.html background-repeat-space-1-ref.html
|
||||
== background-repeat-space-1a.html background-repeat-space-1-ref.html
|
||||
== background-repeat-space-1b.html background-repeat-space-1-ref.html
|
||||
== background-repeat-space-1c.html background-repeat-space-1-ref.html
|
||||
== background-repeat-space-2.html background-repeat-space-2-ref.html
|
||||
fuzzy-if(webrender,1,96) == background-repeat-space-3.html background-repeat-space-3-ref.html
|
||||
fuzzy-if(webrender,1,91) == background-repeat-space-4.html background-repeat-space-4-ref.html
|
||||
fuzzy-if(webrender,1,27) == background-repeat-space-5.html background-repeat-space-5-ref.html
|
||||
fuzzy-if(webrender,1,2544) == background-repeat-space-6.html background-repeat-space-6-ref.html
|
||||
fuzzy-if(webrender,1,43) == background-repeat-space-7.html background-repeat-space-7-ref.html
|
||||
== background-repeat-space-3.html background-repeat-space-3-ref.html
|
||||
== background-repeat-space-4.html background-repeat-space-4-ref.html
|
||||
== background-repeat-space-5.html background-repeat-space-5-ref.html
|
||||
== background-repeat-space-6.html background-repeat-space-6-ref.html
|
||||
== background-repeat-space-7.html background-repeat-space-7-ref.html
|
||||
== background-repeat-space-8.html background-repeat-space-8-ref.html
|
||||
== background-repeat-space-9.html background-repeat-space-9-ref.html
|
||||
== background-repeat-space-10.html background-repeat-space-10-ref.html
|
||||
|
|
|
@ -833,6 +833,7 @@ function RecordResult()
|
|||
clearTimeout(gFailureTimeout);
|
||||
gFailureReason = null;
|
||||
gFailureTimeout = null;
|
||||
gCurrentURL = null;
|
||||
|
||||
if (gCurrentTestType == TYPE_SCRIPT) {
|
||||
var error = '';
|
||||
|
|
|
@ -11,7 +11,6 @@ var Cr = Components.results;
|
|||
|
||||
Cu.import("resource://gre/modules/AddonManager.jsm");
|
||||
Cu.import("resource://gre/modules/AppConstants.jsm");
|
||||
Cu.import("resource://gre/modules/AsyncPrefs.jsm");
|
||||
Cu.import("resource://gre/modules/DelayedInit.jsm");
|
||||
Cu.import("resource://gre/modules/Messaging.jsm");
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
|
|
|
@ -7,6 +7,9 @@ const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
|
|||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "AsyncPrefs",
|
||||
"resource://gre/modules/AsyncPrefs.jsm");
|
||||
|
||||
XPCOMUtils.defineLazyModuleGetter(this, "ContentPrefServiceParent",
|
||||
"resource://gre/modules/ContentPrefServiceParent.jsm");
|
||||
|
||||
|
@ -39,6 +42,8 @@ PromptFactory.prototype = {
|
|||
case "profile-after-change": {
|
||||
// ContentPrefServiceParent is needed for e10s file picker.
|
||||
ContentPrefServiceParent.init();
|
||||
// AsyncPrefs is needed for reader mode.
|
||||
AsyncPrefs.init();
|
||||
Services.mm.addMessageListener("GeckoView:Prompt", this);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -13209,15 +13209,6 @@
|
|||
"keyed": true,
|
||||
"description": "Measures the number of milliseconds we spend waiting for sync message manager IPC messages to finish sending, keyed by message name. Note: only messages that wait for more than 500 microseconds are included in this probe."
|
||||
},
|
||||
"DISPLAY_ITEM_USAGE_COUNT": {
|
||||
"record_in_processes": ["main", "content"],
|
||||
"alert_emails": ["mchang@mozilla.com", "gfx-telemetry-alerts@mozilla.com"],
|
||||
"bug_numbers": [1353521],
|
||||
"expires_in_version": "56",
|
||||
"kind": "enumerated",
|
||||
"n_values": 99,
|
||||
"description": "Count of which layout display items are being created. Display items are created by layout to determine what content to render. A full description is above the class definition for nsDisplayItem. The list of types is kept in nsDisplayItemTypes.h."
|
||||
},
|
||||
"TIMEOUT_EXECUTION_FG_MS":
|
||||
{
|
||||
"record_in_processes": ["main", "content"],
|
||||
|
|
|
@ -865,7 +865,8 @@ namespace {
|
|||
|
||||
class KeyedHistogram {
|
||||
public:
|
||||
KeyedHistogram(const nsACString &name, const nsACString &expiration,
|
||||
KeyedHistogram(ProcessID processType, const nsACString &name,
|
||||
const nsACString &expiration,
|
||||
uint32_t histogramType, uint32_t min, uint32_t max,
|
||||
uint32_t bucketCount, uint32_t dataset);
|
||||
nsresult GetHistogram(const nsCString& name, Histogram** histogram, bool subsession);
|
||||
|
@ -895,6 +896,7 @@ private:
|
|||
JSContext* cx,
|
||||
JS::Handle<JSObject*> obj);
|
||||
|
||||
const ProcessID mProcessType;
|
||||
const nsCString mName;
|
||||
const nsCString mExpiration;
|
||||
const uint32_t mHistogramType;
|
||||
|
@ -905,7 +907,8 @@ private:
|
|||
mozilla::Atomic<bool, mozilla::Relaxed> mRecordingEnabled;
|
||||
};
|
||||
|
||||
KeyedHistogram::KeyedHistogram(const nsACString &name,
|
||||
KeyedHistogram::KeyedHistogram(ProcessID processType,
|
||||
const nsACString &name,
|
||||
const nsACString &expiration,
|
||||
uint32_t histogramType,
|
||||
uint32_t min, uint32_t max,
|
||||
|
@ -914,6 +917,7 @@ KeyedHistogram::KeyedHistogram(const nsACString &name,
|
|||
#if !defined(MOZ_WIDGET_ANDROID)
|
||||
, mSubsessionMap()
|
||||
#endif
|
||||
, mProcessType(processType)
|
||||
, mName(name)
|
||||
, mExpiration(expiration)
|
||||
, mHistogramType(histogramType)
|
||||
|
@ -947,6 +951,7 @@ KeyedHistogram::GetHistogram(const nsCString& key, Histogram** histogram,
|
|||
}
|
||||
#endif
|
||||
histogramName.Append(mName);
|
||||
histogramName.Append(SuffixForProcessType(mProcessType));
|
||||
histogramName.AppendLiteral(KEYED_HISTOGRAM_NAME_SEPARATOR);
|
||||
histogramName.Append(key);
|
||||
|
||||
|
@ -1857,7 +1862,7 @@ void TelemetryHistogram::InitializeGlobalState(bool canRecordBase,
|
|||
|
||||
const nsDependentCString id(h.id());
|
||||
const nsDependentCString expiration(h.expiration());
|
||||
gKeyedHistograms.Put(id, new KeyedHistogram(id, expiration, h.histogramType,
|
||||
gKeyedHistograms.Put(id, new KeyedHistogram(ProcessID::Parent, id, expiration, h.histogramType,
|
||||
h.min, h.max, h.bucketCount, h.dataset));
|
||||
if (XRE_IsParentProcess()) {
|
||||
// We must create registered child keyed histograms as well or else the
|
||||
|
@ -1866,19 +1871,19 @@ void TelemetryHistogram::InitializeGlobalState(bool canRecordBase,
|
|||
nsCString contentId(id);
|
||||
contentId.AppendLiteral(CONTENT_HISTOGRAM_SUFFIX);
|
||||
gKeyedHistograms.Put(contentId,
|
||||
new KeyedHistogram(id, expiration, h.histogramType,
|
||||
new KeyedHistogram(ProcessID::Content, id, expiration, h.histogramType,
|
||||
h.min, h.max, h.bucketCount, h.dataset));
|
||||
|
||||
nsCString gpuId(id);
|
||||
gpuId.AppendLiteral(GPU_HISTOGRAM_SUFFIX);
|
||||
gKeyedHistograms.Put(gpuId,
|
||||
new KeyedHistogram(id, expiration, h.histogramType,
|
||||
new KeyedHistogram(ProcessID::Gpu, id, expiration, h.histogramType,
|
||||
h.min, h.max, h.bucketCount, h.dataset));
|
||||
|
||||
nsCString extensionId(id);
|
||||
extensionId.AppendLiteral(EXTENSION_HISTOGRAM_SUFFIX);
|
||||
gKeyedHistograms.Put(extensionId,
|
||||
new KeyedHistogram(id, expiration, h.histogramType,
|
||||
new KeyedHistogram(ProcessID::Extension, id, expiration, h.histogramType,
|
||||
h.min, h.max, h.bucketCount, h.dataset));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -125,6 +125,8 @@ add_task(async function() {
|
|||
allLinear.add(20);
|
||||
let allChildLinear = Telemetry.getHistogramById("TELEMETRY_TEST_ALL_CHILD_PROCESSES");
|
||||
allChildLinear.add(20);
|
||||
let countKeyed = Telemetry.getKeyedHistogramById("TELEMETRY_TEST_KEYED_COUNT");
|
||||
countKeyed.add("a");
|
||||
|
||||
const payload = TelemetrySession.getPayload("test-ping");
|
||||
Assert.ok("processes" in payload, "Should have processes section");
|
||||
|
@ -160,6 +162,7 @@ add_task(async function() {
|
|||
Assert.ok(!("TELEMETRY_TEST_ALL_CHILD_PROCESSES" in mainHs), "Should not have all-child process histogram in main process payload");
|
||||
Assert.ok("TELEMETRY_TEST_FLAG_MAIN_PROCESS" in mainHs, "Should have main process histogram in main process payload");
|
||||
Assert.equal(mainHs.TELEMETRY_TEST_FLAG_MAIN_PROCESS.sum, 1, "Should have correct value");
|
||||
Assert.equal(mainKhs.TELEMETRY_TEST_KEYED_COUNT.a.sum, 1, "Should have correct value in parent");
|
||||
|
||||
do_test_finished();
|
||||
});
|
||||
|
|
|
@ -101,12 +101,10 @@ if (kInChildProcess) {
|
|||
}
|
||||
}
|
||||
},
|
||||
|
||||
init() {
|
||||
Services.cpmm.addMessageListener("AsyncPrefs:PrefSetFinished", this);
|
||||
Services.cpmm.addMessageListener("AsyncPrefs:PrefResetFinished", this);
|
||||
},
|
||||
};
|
||||
|
||||
Services.cpmm.addMessageListener("AsyncPrefs:PrefSetFinished", AsyncPrefs);
|
||||
Services.cpmm.addMessageListener("AsyncPrefs:PrefResetFinished", AsyncPrefs);
|
||||
} else {
|
||||
AsyncPrefs = {
|
||||
methodForType: {
|
||||
|
@ -172,11 +170,10 @@ if (kInChildProcess) {
|
|||
},
|
||||
|
||||
init() {
|
||||
// PLEASE KEEP THIS LIST IN SYNC WITH THE LISTENERS ADDED IN nsBrowserGlue
|
||||
Services.ppmm.addMessageListener("AsyncPrefs:SetPref", this);
|
||||
Services.ppmm.addMessageListener("AsyncPrefs:ResetPref", this);
|
||||
// PLEASE KEEP THIS LIST IN SYNC WITH THE LISTENERS ADDED IN nsBrowserGlue
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
AsyncPrefs.init();
|
||||
|
||||
|
|
|
@ -164,8 +164,8 @@ GCMinorMarkerPayload::StreamPayload(SpliceableJSONWriter& aWriter,
|
|||
MOZ_ASSERT(mTimingData);
|
||||
StreamCommonProps("GCMinor", aWriter, aProcessStartTime, aUniqueStacks);
|
||||
if (mTimingData) {
|
||||
aWriter.SplicedJSONProperty("nurseryTimings", mTimingData.get());
|
||||
aWriter.SplicedJSONProperty("nursery", mTimingData.get());
|
||||
} else {
|
||||
aWriter.NullProperty("nurseryTimings");
|
||||
aWriter.NullProperty("nursery");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1318,16 +1318,6 @@ GfxInfo::GetGfxDriverInfo()
|
|||
(nsAString&) GfxDriverInfo::GetDeviceVendor(VendorAMD), GfxDriverInfo::allDevices,
|
||||
nsIGfxInfo::FEATURE_DX_INTEROP2, nsIGfxInfo::FEATURE_BLOCKED_DRIVER_VERSION,
|
||||
DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions, "DX_INTEROP2_AMD_CRASH");
|
||||
|
||||
////////////////////////////////////
|
||||
// FEATURE_ADVANCED_LAYERS
|
||||
|
||||
// bug 1377866
|
||||
APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Windows,
|
||||
(nsAString&) GfxDriverInfo::GetDeviceVendor(VendorIntel),
|
||||
(GfxDeviceFamily*) GfxDriverInfo::GetDeviceFamily(IntelHDGraphicsToSandyBridge),
|
||||
nsIGfxInfo::FEATURE_ADVANCED_LAYERS, nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
|
||||
DRIVER_LESS_THAN, GfxDriverInfo::allDriverVersions, "FEATURE_FAILURE_BUG_1377866");
|
||||
}
|
||||
return *mDriverInfo;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче