Bug 1693383 - Part 1. Adjust tests to correctly detect HW-WR and SW-WR variants. r=jrmuizel

Differential Revision: https://phabricator.services.mozilla.com/D105620
This commit is contained in:
Andrew Osmond 2021-02-24 18:47:23 +00:00
Родитель 6d0dfe44e3
Коммит 29848ac31b
12 изменённых файлов: 15 добавлений и 16 удалений

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

@ -9,7 +9,7 @@
const LINUX = AppConstants.platform == "linux";
const WIN = AppConstants.platform == "win";
const MAC = AppConstants.platform == "macosx";
const WEBRENDER = window.windowUtils.layerManagerType == "WebRender";
const WEBRENDER = window.windowUtils.layerManagerType.startsWith("WebRender");
const SKELETONUI = Services.prefs.getBoolPref(
"browser.startup.preXulSkeletonUI",
false

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

@ -1482,7 +1482,7 @@ function testTooLargeFrame() {
// With WebRender we appear to stick to the previous layerization decision
// after changing the bounds back to a smaller object.
const isWebRender =
SpecialPowers.DOMWindowUtils.layerManagerType == 'WebRender';
SpecialPowers.DOMWindowUtils.layerManagerType.startsWith('WebRender');
assert_animation_property_state_equals(
animation.effect.getProperties(),
[ { property: subtest.property, runningOnCompositor: !isWebRender } ]);
@ -1518,7 +1518,7 @@ function testTooLargeFrame() {
await waitForFrame();
const isWebRender =
SpecialPowers.DOMWindowUtils.layerManagerType == 'WebRender';
SpecialPowers.DOMWindowUtils.layerManagerType.startsWith('WebRender');
assert_animation_property_state_equals(
animation.effect.getProperties(),
[ { property: subtest.property, runningOnCompositor: !isWebRender } ]);
@ -1628,7 +1628,7 @@ function testImportantRuleOverride() {
}
function testCurrentColor() {
if (SpecialPowers.DOMWindowUtils.layerManagerType == 'WebRender') {
if (SpecialPowers.DOMWindowUtils.layerManagerType.startsWith('WebRender')) {
return; // skip this test until bug 1510030 landed.
}
promise_test(async t => {

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

@ -1943,7 +1943,7 @@ waitForAllPaints(() => {
const FLUSH_LAYOUT = SpecialPowers.DOMWindowUtils.FLUSH_LAYOUT;
const isWebRender =
SpecialPowers.DOMWindowUtils.layerManagerType == 'WebRender';
SpecialPowers.DOMWindowUtils.layerManagerType.startsWith('WebRender');
ok(SpecialPowers.DOMWindowUtils.needsFlush(FLUSH_LAYOUT),
'Flush layout is needed for the appended div');
await waitForAnimationReadyToRestyle(animation);

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

@ -744,7 +744,7 @@ async function injectScript(aScript, aWindow = window) {
function getHitTestConfig() {
if (!("hitTestConfig" in window)) {
var utils = SpecialPowers.getDOMWindowUtils(window);
var isWebRender = utils.layerManagerType == "WebRender";
var isWebRender = utils.layerManagerType.startsWith("WebRender");
var isWindows = getPlatform() == "windows";
let activateAllScrollFrames = false;
if (isWebRender) {

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

@ -23,7 +23,7 @@ add_task(async function test_main() {
}
var utils = SpecialPowers.getDOMWindowUtils(window);
var isWebRender = utils.layerManagerType == "WebRender";
var isWebRender = utils.layerManagerType.startsWith("WebRender");
// Each of these subtests is a dictionary that contains:
// file (required): filename of the subtest that will get opened in a new tab

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

@ -55,7 +55,7 @@ async function test_opacity() {
"Element should have been moved by the offset");
}
if (utils.layerManagerType == "WebRender") {
if (utils.layerManagerType.startsWith("WebRender")) {
ok(true, "This test doesn't need to run on WebRender");
subtestDone();
} else {

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

@ -55,7 +55,7 @@ async function test_transform() {
"Element should have been moved by the offset");
}
if (utils.layerManagerType == "WebRender") {
if (utils.layerManagerType.startsWith("WebRender")) {
ok(true, "This test doesn't need to run on WebRender");
subtestDone();
} else {

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

@ -49,7 +49,7 @@ function addConditionalTests(tests) {
// function run after loading, because trying to read layerManagerType can
// throw an NS_ERROR_FAILURE if called too early.
var utils = SpecialPowers.getDOMWindowUtils(window);
var isWebRender = utils.layerManagerType == "WebRender";
var isWebRender = utils.layerManagerType.startsWith("WebRender");
if (isWebRender) {
tests = tests.concat([
{"file": "helper_hittest_deep_scene_stack.html", "prefs": prefs},

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

@ -15,7 +15,7 @@ SimpleTest.waitForExplicitFinish();
// https://searchfox.org/mozilla-central/rev/b7f3977978922d44c7d92ae01c0d4cc2baca7bc2/layout/style/ImageLoader.cpp#553
//
// So our assertions and polling need to be a bit weaker on WR.
const kUsingWebRender = SpecialPowers.DOMWindowUtils.layerManagerType === "WebRender";
const kUsingWebRender = SpecialPowers.DOMWindowUtils.layerManagerType.startsWith("WebRender");
let iframe = document.getElementById("iframe");
let blankSnapshot;

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

@ -22,7 +22,7 @@ let discardCallback = undefined;
let frameUpdateCallback = undefined;
async function runTest() {
const kUsingWebRender = SpecialPowers.DOMWindowUtils.layerManagerType === "WebRender";
const kUsingWebRender = SpecialPowers.DOMWindowUtils.layerManagerType.startsWith("WebRender");
let img = document.getElementById("finitepng");

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

@ -497,10 +497,9 @@ function BuildConditionSandbox(aURL) {
sandbox.layersOpenGL =
g.windowUtils.layerManagerType == "OpenGL";
sandbox.swgl =
g.windowUtils.layerManagerType == "WebRender (Software)"
|| g.windowUtils.layerManagerType == "WebRender (Software D3D11)";
g.windowUtils.layerManagerType.startsWith("WebRender (Software");
sandbox.webrender =
g.windowUtils.layerManagerType == "WebRender" || sandbox.swgl;
g.windowUtils.layerManagerType.startsWith("WebRender");
sandbox.layersOMTC =
g.windowUtils.layerManagerRemote == true;
sandbox.advancedLayers =

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

@ -70,7 +70,7 @@ function isWebRenderOnAndroidDevice() {
// more correct detection of this case.
return xr.OS == "Android" &&
g.browserIsRemote &&
g.windowUtils.layerManagerType == "WebRender";
g.windowUtils.layerManagerType.startsWith("WebRender");
}
function FlushTestBuffer()