Bug 1205630 - Reftest. r=mstange, a=test-only
authorBotond Ballo <botond@mozilla.com>
Mon, 28 Sep 2015 13:15:37 -0400
changeset 296354 a2d2548a56976dde606e5e5b247aacc3f25ebe55
parent 296353 ea5e14f1c519034119d8c7e85e31870048a15e08
child 296355 35d071096e47ce8e56c469446386cab67aadbbaa
push id5245
push userraliiev@mozilla.com
push dateThu, 29 Oct 2015 11:30:51 +0000
treeherdermozilla-beta@dac831dc1bd0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmstange, test-only
bugs1205630
milestone43.0a2
Bug 1205630 - Reftest. r=mstange, a=test-only
layout/reftests/xul/inactive-fixed-bg-bug1205630-ref.html
layout/reftests/xul/inactive-fixed-bg-bug1205630.xul
layout/reftests/xul/reftest.list
new file mode 100644
--- /dev/null
+++ b/layout/reftests/xul/inactive-fixed-bg-bug1205630-ref.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<title>Testcase</title>
+
+<style>
+
+body {
+  margin: 0px;
+  padding: 0px;
+}
+
+#inner {
+  width: 100px;
+  height: 100px;
+  background: linear-gradient(red, blue) no-repeat;
+  background-position: -50px -50px;
+  background-size: 800px 800px;
+}
+
+#outer {
+  margin: 50px 50px 0;
+  width: 100px;
+  height: 100px;
+  clip-path: url(#path);
+  position: fixed;
+}
+
+</style>
+</head>
+<body>
+<div id="outer">
+  <div id="inner"></div>
+</div>
+
+<svg height="0">
+  <defs>
+    <clipPath id="path" clipPathUnits="objectBoundingBox">
+      <polygon points="0.25,0.25 0.25,0.75 0.75,0.75 0.75,0.25"/>
+    </clipPath>
+  </defs>
+</svg>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/xul/inactive-fixed-bg-bug1205630.xul
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+  <!-- Test that a fixed background layer inside an inactive layer tree
+       is clipped correctly. Here, the inactive layer tree is created by
+       the SVGEffects display item built for the clip-path on the outer div.
+       The bug only reproduces in XUL because fixed backgrounds are only
+       layerized if their animated geometry root is the root frame, but
+       in HTML there's always an enclosing HTML scroll frame. -->
+  <style xmlns="http://www.w3.org/1999/xhtml"><![CDATA[
+    #inner {
+      width: 100px;
+      height: 100px;
+      background: linear-gradient(red, blue) no-repeat fixed;
+      background-size: 800px 800px;
+    }
+
+    #outer {
+      margin: 50px 50px 0;
+      width: 100px;
+      height: 100px;
+      clip-path: url(#path);
+      position: fixed;
+    }
+  ]]></style>
+  <div xmlns="http://www.w3.org/1999/xhtml" id="outer">
+    <div xmlns="http://www.w3.org/1999/xhtml" id="inner"></div>
+  </div>
+
+  <svg xmlns="http://www.w3.org/2000/svg" height="0">
+    <defs>
+      <clipPath id="path" clipPathUnits="objectBoundingBox">
+        <polygon points="0.25,0.25 0.25,0.75 0.75,0.75 0.75,0.25"/>
+      </clipPath>
+    </defs>
+  </svg>
+</window>
--- a/layout/reftests/xul/reftest.list
+++ b/layout/reftests/xul/reftest.list
@@ -3,16 +3,17 @@ skip-if((B2G&&browserIsRemote)||Mulet) =
 random-if(Android||B2G) skip-if((B2G&&browserIsRemote)||Mulet) == menulist-shrinkwrap-1.xul menulist-shrinkwrap-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop
 random-if(Android||B2G) fails-if(winWidget) skip-if((B2G&&browserIsRemote)||Mulet) == menulist-shrinkwrap-2.xul menulist-shrinkwrap-2-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop
 skip-if((B2G&&browserIsRemote)||Mulet) == textbox-overflow-1.xul textbox-overflow-1-ref.xul # for bug 749658 # Initial mulet triage: parity with B2G/B2G Desktop
 # accesskeys are not normally displayed on Mac, so skip this test
 skip-if(cocoaWidget) skip-if((B2G&&browserIsRemote)||Mulet) == accesskey.xul accesskey-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop
 fails-if(cocoaWidget) skip-if((B2G&&browserIsRemote)||Mulet) fuzzy-if(xulRuntime.widgetToolkit=="gtk3",1,11) == tree-row-outline-1.xul tree-row-outline-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop
 skip-if((B2G&&browserIsRemote)||Mulet) != tree-row-outline-1.xul tree-row-outline-1-notref.xul # Initial mulet triage: parity with B2G/B2G Desktop
 skip-if((B2G&&browserIsRemote)||Mulet) == text-small-caps-1.xul text-small-caps-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop
+skip-if((B2G&&browserIsRemote)||Mulet) == inactive-fixed-bg-bug1205630.xul inactive-fixed-bg-bug1205630-ref.html
 
 # Tests for XUL <image> with 'object-fit' & 'object-position':
 # These tests should be very similar to tests in our w3c-css/submitted/images3
 # reftest directory. They live here because they use XUL, and it
 # wouldn't be fair of us to make a W3C testsuite implicitly depend on XUL.
 # NOTE: These are marked "skip-if(Mulet)" for now, because they seem to impact
 # the reftest-chunking in a way that makes later tests fail (likely through no
 # fault of these tests here, aside from their impact on chunking). See: