Bug 1561087. Assert that SVG_WRAPPER is handled elsewhere. r=aosmond
authorJeff Muizelaar <jrmuizel@gmail.com>
Tue, 25 Jun 2019 13:42:26 +0000
changeset 480027 8c6b67d82222b5aabea4da0add5ceef2aff948ed
parent 480026 0e93c74963f6e8a0d48d5b79318fde292a80c676
child 480028 fd5473e29a285c5191c15b7f1a0aa0a116632b91
push id36200
push useraiakab@mozilla.com
push dateTue, 25 Jun 2019 21:58:14 +0000
treeherdermozilla-central@b23bd78e4d94 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersaosmond
bugs1561087
milestone69.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 1561087. Assert that SVG_WRAPPER is handled elsewhere. r=aosmond SVG_WRAPPER should be handled by the blob invalidation code. Let's ensure that's true. Differential Revision: https://phabricator.services.mozilla.com/D35712
gfx/layers/wr/WebRenderCommandBuilder.cpp
--- a/gfx/layers/wr/WebRenderCommandBuilder.cpp
+++ b/gfx/layers/wr/WebRenderCommandBuilder.cpp
@@ -2045,30 +2045,19 @@ static bool PaintItemByDrawTarget(nsDisp
 
   bool isInvalidated = false;
   // XXX Why is this ClearRect() needed?
   aDT->ClearRect(Rect(aDT->GetRect()));
   RefPtr<gfxContext> context = gfxContext::CreateOrNull(aDT);
   MOZ_ASSERT(context);
 
   switch (aItem->GetType()) {
-    case DisplayItemType::TYPE_SVG_WRAPPER: {
-      // XXX Why doesn't this need the scaling applied?
-      context->SetMatrix(
-          context->CurrentMatrix().PreTranslate(-aOffset.x, -aOffset.y));
-      isInvalidated = PaintByLayer(
-          aItem, aDisplayListBuilder, aManager, context, aScale, [&]() {
-            aManager->EndTransaction(FrameLayerBuilder::DrawPaintedLayer,
-                                     aDisplayListBuilder);
-          });
-      break;
-    }
+    case DisplayItemType::TYPE_SVG_WRAPPER:
     case DisplayItemType::TYPE_MASK: {
-      // We could handle this case with the same code as TYPE_FILTER, but it
-      // would be good to know what situations trigger it.
+      // These items should be handled by other code paths
       MOZ_RELEASE_ASSERT(0);
       break;
     }
     case DisplayItemType::TYPE_FILTER: {
       context->SetMatrix(context->CurrentMatrix()
                              .PreScale(aScale.width, aScale.height)
                              .PreTranslate(-aOffset.x, -aOffset.y));
       isInvalidated = PaintByLayer(