Bug 1403559 - Remove random-if(webrender) annotations for layers-specific reftests and instead skip the layers checks in the reftest harness. r=mstange

MozReview-Commit-ID: 8Xtx3aGIx8

--HG--
extra : rebase_source : 60c22211bc4baeb3292ec76fee6e4c59b9ca105d
This commit is contained in:
Kartikaya Gupta 2017-09-27 10:12:10 -04:00
parent fa1a270dae
commit 2072043f8f
7 changed files with 60 additions and 67 deletions

View File

@ -48,8 +48,8 @@ fuzzy-if(Android,7,4) fails-if(webrender) skip-if(!asyncPan) == perspective-scro
fuzzy-if(Android,7,4) skip-if(!asyncPan) == perspective-scrolling-4.html perspective-scrolling-4-ref.html
pref(apz.disable_for_scroll_linked_effects,true) skip-if(!asyncPan) == disable-apz-for-sle-pages.html disable-apz-for-sle-pages-ref.html
fuzzy-if(browserIsRemote&&d2d,1,19) skip-if(!asyncPan) == background-blend-mode-1.html background-blend-mode-1-ref.html
random-if(webrender) skip-if(Android||!asyncPan) != opaque-fractional-displayport-1.html about:blank # test is specific to "layers" and not valid with webrender
random-if(webrender) skip-if(Android||!asyncPan) != opaque-fractional-displayport-2.html about:blank # test is specific to "layers" and not valid with webrender
skip-if(Android||!asyncPan) != opaque-fractional-displayport-1.html about:blank
skip-if(Android||!asyncPan) != opaque-fractional-displayport-2.html about:blank
fuzzy-if(Android,6,4) fails-if(webrender) skip-if(!asyncPan) == fixed-pos-scrolled-clip-1.html fixed-pos-scrolled-clip-1-ref.html # bug 1373802 for webrender
fuzzy-if(Android,6,8) fails-if(webrender) skip-if(!asyncPan) == fixed-pos-scrolled-clip-2.html fixed-pos-scrolled-clip-2-ref.html # bug 1373802 for webrender
fuzzy-if(Android,6,8) fails-if(webrender) skip-if(!asyncPan) == fixed-pos-scrolled-clip-3.html fixed-pos-scrolled-clip-3-ref.html # bug 1373802 for webrender

View File

@ -37,10 +37,10 @@ test-pref(layers.offmainthreadcomposition.async-animations,false) == stacking-co
== stacking-context-opacity-removing-important-in-delay.html stacking-context-animation-ref.html
== stacking-context-transform-none-in-delay.html stacking-context-animation-ref.html
== stacking-context-transform-removing-important-in-delay.html stacking-context-animation-ref.html
fails == background-position-in-delay.html background-position-ref.html # This test fails the reftest-opaque-layer check since animating background-position currently creates an active layer from its delay phse, and reftest-opaque-layer only handles items assigned to PaintedLayers.
fails-if(webrender) == background-position-after-finish.html background-position-ref.html
fails == background-position-running.html background-position-ref.html # This test fails the reftest-opaque-layer check since animating background-position currently creates an active layer, and reftest-opaque-layer only handles items assigned to PaintedLayers.
fails == background-position-important.html background-position-ref.html # This test fails the reftest-opaque-layer check since animating background-position overridden by a non-animated !important style also creates an active layer, and reftest-opaque-layer only handles items that are assigned to PaintedLayers.
fails-if(layerChecksEnabled) == background-position-in-delay.html background-position-ref.html # This test fails the reftest-opaque-layer check since animating background-position currently creates an active layer from its delay phse, and reftest-opaque-layer only handles items assigned to PaintedLayers.
== background-position-after-finish.html background-position-ref.html
fails-if(layerChecksEnabled) == background-position-running.html background-position-ref.html # This test fails the reftest-opaque-layer check since animating background-position currently creates an active layer, and reftest-opaque-layer only handles items assigned to PaintedLayers.
fails-if(layerChecksEnabled) == background-position-important.html background-position-ref.html # This test fails the reftest-opaque-layer check since animating background-position overridden by a non-animated !important style also creates an active layer, and reftest-opaque-layer only handles items that are assigned to PaintedLayers.
== mask-position-after-finish-1a.html mask-anim-ref.html
== mask-position-after-finish-1b.html mask-anim-ref.html

View File

@ -43,9 +43,6 @@ pref(layout.animated-image-layers.enabled,true) skip-if(Android||gtkWidget) == t
== filter-userspace-offset.svg?offsetContainer=rect&filter=matrix-fillPaint-boundingBox filter-userspace-offset.svg
== filter-userspace-offset.svg?offsetContainer=rect&filter=matrix-fillPaint-userSpace-at100 filter-userspace-offset.svg
# 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.
fails-if(webrender) != scroll-inactive-layers.html about:blank
fails-if(webrender) != scroll-inactive-layers-2.html about:blank
!= inactive-layertree-visible-region-1.html about:blank
@ -55,22 +52,22 @@ fails-if(webrender) != scroll-inactive-layers-2.html about:blank
!= nudge-to-integer-invalidation.html about:blank
!= nudge-to-integer-invalidation.html?reverse about:blank
!= clipped-animated-transform-1.html about:blank
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
random-if(webrender) != paintedlayer-recycling-4.html about:blank
random-if(webrender) != paintedlayer-recycling-5.html about:blank
random-if(webrender) != paintedlayer-recycling-6.html about:blank
random-if(webrender) != paintedlayer-recycling-7.html about:blank
!= paintedlayer-recycling-1.html about:blank
!= paintedlayer-recycling-2.html about:blank
pref(layers.single-tile.enabled,false) != paintedlayer-recycling-3.html about:blank
!= paintedlayer-recycling-4.html about:blank
!= paintedlayer-recycling-5.html about:blank
!= paintedlayer-recycling-6.html about:blank
!= paintedlayer-recycling-7.html about:blank
!= masklayer-1.html about:blank
!= masklayer-2.html about:blank
random-if(webrender) != layer-splitting-1.html about:blank
random-if(webrender) != layer-splitting-2.html about:blank
random-if(webrender) != layer-splitting-3.html about:blank
random-if(webrender) != layer-splitting-4.html about:blank
random-if(webrender) != layer-splitting-5.html about:blank
random-if(webrender) != layer-splitting-6.html about:blank
random-if(webrender) != layer-splitting-7.html about:blank
!= layer-splitting-1.html about:blank
!= layer-splitting-2.html about:blank
!= layer-splitting-3.html about:blank
!= layer-splitting-4.html about:blank
!= layer-splitting-5.html about:blank
!= layer-splitting-6.html about:blank
!= 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) != fast-scrolling.html about:blank

View File

@ -1,14 +1,12 @@
== move-to-background-1.html move-to-background-1-ref.html
fuzzy-if(cocoaWidget,2,6) random-if(Android) == component-alpha-exit-1.html component-alpha-exit-1-ref.html # bug 760275
# The pull-background-* tests are specific to "layers" and are not valid with WebRender.
# We mark them random-if to make sure they don't crash, but allow any result.
random-if(webrender) != pull-background-1.html about:blank
random-if(webrender) skip-if(styloVsGecko) != pull-background-2.html about:blank # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
random-if(webrender) != pull-background-3.html about:blank
random-if(webrender) != pull-background-4.html about:blank
random-if(webrender) fuzzy-if(styloVsGecko,1,1) != pull-background-5.html about:blank
random-if(webrender) != pull-background-6.html about:blank
!= pull-background-1.html about:blank
skip-if(styloVsGecko) != pull-background-2.html about:blank # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
!= pull-background-3.html about:blank
!= pull-background-4.html about:blank
fuzzy-if(styloVsGecko,1,1) != pull-background-5.html about:blank
!= pull-background-6.html about:blank
# The animated-position tests are disabled for intermittent failures / passes, bug 1150941
skip != pull-background-animated-position-1.html about:blank # Fails with event regions
@ -17,23 +15,19 @@ skip != pull-background-animated-position-3.html about:blank # Fails because Pai
skip != pull-background-animated-position-4.html about:blank # Fails because PaintedLayer item assignment and background pulling don't recognize overflow:hidden clips
skip != pull-background-animated-position-5.html about:blank # Fails because ownLayer bounds don't anticipate changes of animated contents, but doesn't fail with event regions
# The pull-background-displayport-* tests are specific to "layers" and are not valid with webrender.
# We mark them random-if to make sure they don't crash, but allow any result.
random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-1.html about:blank
random-if(webrender) skip-if(!asyncPan) skip-if(styloVsGecko) != pull-background-displayport-2.html about:blank # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-3.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-4.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
random-if(webrender) skip-if(!asyncPan) fuzzy-if(styloVsGecko,1,1) != pull-background-displayport-5.html about:blank
random-if(webrender) skip-if(!asyncPan) != pull-background-displayport-6.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
skip-if(!asyncPan) != pull-background-displayport-1.html about:blank
skip-if(!asyncPan) skip-if(styloVsGecko) != pull-background-displayport-2.html about:blank # skip styloVsGecko for imperceptible pixel rounding differences between Stylo and Gecko
skip-if(!asyncPan) != pull-background-displayport-3.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
skip-if(!asyncPan) != pull-background-displayport-4.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
skip-if(!asyncPan) fuzzy-if(styloVsGecko,1,1) != pull-background-displayport-5.html about:blank
skip-if(!asyncPan) != pull-background-displayport-6.html about:blank # fails with non-overlay scrollbars and event regions due to bug 1148515
fuzzy(2,30150) == opacity-blending.html opacity-blending-ref.html
fuzzy(16,5) == 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
# The following tests are random-if(webrender) because they are specific to
# "layers" and are not valid with webrender
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

View File

@ -166,8 +166,7 @@ fuzzy(1,0-2) skip-if(styloVsGecko) != fuzzy.html fuzzy-ref.html
fails fuzzy-if(false,2,1) random-if(Android) == fuzzy.html fuzzy-ref.html
# Test that reftest-no-paint fails correctly.
# Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
fails random-if(webrender) == reftest-no-paint.html reftest-no-paint-ref.html
fails-if(layerChecksEnabled) == reftest-no-paint.html reftest-no-paint-ref.html
skip-if(!asyncPan||!browserIsRemote) == async-scroll-1a.html async-scroll-1-ref.html
@ -181,31 +180,28 @@ skip-if(!Android) pref(apz.allow_zooming,true) != async-zoom-1.html async-zoom-1
fuzzy(112,800) skip-if(!Android) pref(apz.allow_zooming,true) == async-zoom-2.html async-zoom-2-ref.html
# reftest-opaque-layer
# Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
random-if(webrender) == reftest-opaque-layer-pass.html reftest-opaque-layer-pass.html
random-if(webrender) != reftest-opaque-layer-pass.html about:blank
random-if(webrender) != about:blank reftest-opaque-layer-pass.html
fails random-if(webrender) == reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
== reftest-opaque-layer-pass.html reftest-opaque-layer-pass.html
!= reftest-opaque-layer-pass.html about:blank
!= about:blank reftest-opaque-layer-pass.html
fails-if(layerChecksEnabled) == reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
# If reftest-opaque-layer fails (no matter whether it fails in the test or in the reference),
# it shouldn't matter whether the test matches the reference.
# Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
fails random-if(webrender) != reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
fails random-if(webrender) == reftest-opaque-layer-fail.html about:blank
fails random-if(webrender) == about:blank reftest-opaque-layer-fail.html
fails random-if(webrender) != reftest-opaque-layer-fail.html about:blank
fails random-if(webrender) != about:blank reftest-opaque-layer-fail.html
fails != reftest-opaque-layer-fail.html reftest-opaque-layer-fail.html
fails == reftest-opaque-layer-fail.html about:blank
fails == about:blank reftest-opaque-layer-fail.html
fails-if(layerChecksEnabled) != reftest-opaque-layer-fail.html about:blank
fails-if(layerChecksEnabled) != about:blank reftest-opaque-layer-fail.html
# reftest-opaque-layer and reftest-wait
# Since this is a "layers"-specific test, we allow any non-crash result with WebRender.
random-if(webrender) == reftest-opaque-layer-wait-pass.html reftest-opaque-layer-pass.html
random-if(webrender) != reftest-opaque-layer-wait-pass.html about:blank
fails random-if(webrender) == reftest-opaque-layer-wait-fail.html reftest-opaque-layer-fail.html
fails random-if(webrender) != reftest-opaque-layer-wait-fail.html about:blank
== reftest-opaque-layer-wait-pass.html reftest-opaque-layer-pass.html
!= reftest-opaque-layer-wait-pass.html about:blank
fails-if(layerChecksEnabled) == reftest-opaque-layer-wait-fail.html reftest-opaque-layer-fail.html
fails-if(layerChecksEnabled) != reftest-opaque-layer-wait-fail.html about:blank
# reftest-assigned-layer
random-if(webrender) != reftest-assigned-layer-pass.html about:blank
fails random-if(webrender) != reftest-assigned-layer-fail-1.html about:blank
fails random-if(webrender) != reftest-assigned-layer-fail-2.html about:blank
fails random-if(webrender) != reftest-assigned-layer-fail-3.html about:blank
fails random-if(webrender) != reftest-assigned-layer-fail-4.html about:blank
!= reftest-assigned-layer-pass.html about:blank
fails-if(layerChecksEnabled) != reftest-assigned-layer-fail-1.html about:blank
fails-if(layerChecksEnabled) != reftest-assigned-layer-fail-2.html about:blank
fails-if(layerChecksEnabled) != reftest-assigned-layer-fail-3.html about:blank
fails-if(layerChecksEnabled) != reftest-assigned-layer-fail-4.html about:blank

View File

@ -848,6 +848,11 @@ function CheckLayerAssertions(contentRootElement)
if (!contentRootElement) {
return;
}
if (gIsWebRenderEnabled) {
// WebRender doesn't use layers, so let's not try checking layers
// assertions.
return;
}
var opaqueLayerElements = getOpaqueLayerElements(contentRootElement);
for (var i = 0; i < opaqueLayerElements.length; ++i) {

View File

@ -727,6 +727,7 @@ function BuildConditionSandbox(aURL) {
gWindowUtils.layerManagerRemote == true;
sandbox.advancedLayers =
gWindowUtils.usingAdvancedLayers == true;
sandbox.layerChecksEnabled = !sandbox.webrender;
// Shortcuts for widget toolkits.
sandbox.Android = xr.OS == "Android";