Bug 1455488. Blend modes are container items. r=mstange
authorJeff Muizelaar <jmuizelaar@mozilla.com>
Mon, 23 Apr 2018 17:38:38 -0400
changeset 468620 054afcafce15bb548d26893d592959019923c4cc
parent 468619 1e78f2ccb865f96d439c62e865f1467732f41b21
child 468621 ce1d9b338bda9b21873f765faab05220727f2fa8
push id9165
push userasasaki@mozilla.com
push dateThu, 26 Apr 2018 21:04:54 +0000
treeherdermozilla-beta@064c3804de2e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmstange
bugs1455488
milestone61.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 1455488. Blend modes are container items. r=mstange BLEND_MODE and BLEND_CONTAINER wrap items so their bounds can change. We need to account for that like we do with OPACTIY etc.
gfx/layers/wr/WebRenderCommandBuilder.cpp
--- a/gfx/layers/wr/WebRenderCommandBuilder.cpp
+++ b/gfx/layers/wr/WebRenderCommandBuilder.cpp
@@ -214,16 +214,18 @@ struct Grouper
 static bool
 IsContainerLayerItem(nsDisplayItem* aItem)
 {
   switch (aItem->GetType()) {
     case DisplayItemType::TYPE_TRANSFORM:
     case DisplayItemType::TYPE_LAYER_EVENT_REGIONS:
     case DisplayItemType::TYPE_OPACITY:
     case DisplayItemType::TYPE_FILTER:
+    case DisplayItemType::TYPE_BLEND_CONTAINER:
+    case DisplayItemType::TYPE_BLEND_MODE:
     case DisplayItemType::TYPE_MASK: {
       return true;
     }
     default: {
       return false;
     }
   }
 }