Bug 1524661. Include perspective items as container items. r=mstange
authorJeff Muizelaar <jrmuizel@gmail.com>
Tue, 12 Feb 2019 20:47:36 +0000
changeset 458800 dfcc4f41cf91
parent 458799 0359a76f3fc7
child 458801 1186e4e5160a
push id35548
push useropoprus@mozilla.com
push dateWed, 13 Feb 2019 09:48:26 +0000
treeherdermozilla-central@93e37c529818 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmstange
bugs1524661
milestone67.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1524661. Include perspective items as container items. r=mstange Differential Revision: https://phabricator.services.mozilla.com/D19562
gfx/layers/wr/WebRenderCommandBuilder.cpp
layout/svg/crashtests/crashtests.list
layout/svg/crashtests/perspective-invalidation.html
--- a/gfx/layers/wr/WebRenderCommandBuilder.cpp
+++ b/gfx/layers/wr/WebRenderCommandBuilder.cpp
@@ -236,17 +236,18 @@ struct Grouper {
 static bool IsContainerLayerItem(nsDisplayItem* aItem) {
   switch (aItem->GetType()) {
     case DisplayItemType::TYPE_WRAP_LIST:
     case DisplayItemType::TYPE_TRANSFORM:
     case DisplayItemType::TYPE_OPACITY:
     case DisplayItemType::TYPE_FILTER:
     case DisplayItemType::TYPE_BLEND_CONTAINER:
     case DisplayItemType::TYPE_BLEND_MODE:
-    case DisplayItemType::TYPE_MASK: {
+    case DisplayItemType::TYPE_MASK:
+    case DisplayItemType::TYPE_PERSPECTIVE: {
       return true;
     }
     default: { return false; }
   }
 }
 
 #include <sstream>
 
--- a/layout/svg/crashtests/crashtests.list
+++ b/layout/svg/crashtests/crashtests.list
@@ -214,8 +214,9 @@ load conditional-outer-svg-nondirty-refl
 load extref-test-1.xhtml
 load blob-merging-and-retained-display-list.html
 load empty-blob-merging.html
 load grouping-empty-bounds.html
 load 1480275.html
 load 1480224.html
 load 1502936.html
 load 1504918.svg
+load perspective-invalidation.html
new file mode 100644
--- /dev/null
+++ b/layout/svg/crashtests/perspective-invalidation.html
@@ -0,0 +1,9 @@
+<span>
+<svg id="a" transform="skewX(0)" opacity="0">
+<text>
+</span>
+<marquee>
+A
+</marquee>
+<svg xml:space="preserve">
+<use style="outline: auto; -webkit-perspective: 1px" xlink:href="#a" mask="url(#x)">