diff --git a/gfx/layers/Layers.cpp b/gfx/layers/Layers.cpp index 8eb079112a43..dacc8e27969d 100644 --- a/gfx/layers/Layers.cpp +++ b/gfx/layers/Layers.cpp @@ -1963,6 +1963,9 @@ Layer::PrintInfo(std::stringstream& aStream, const char* aPrefix) if (Is3DContextLeaf()) { aStream << " [is3DContextLeaf]"; } + if (IsScrollbarContainer()) { + aStream << " [scrollbar]"; + } if (GetScrollbarDirection() == VERTICAL) { aStream << nsPrintfCString(" [vscrollbar=%lld]", GetScrollbarTargetContainerId()).get(); } diff --git a/gfx/layers/ipc/LayerTransactionParent.cpp b/gfx/layers/ipc/LayerTransactionParent.cpp index a70c573eb14c..a448a8d4d390 100644 --- a/gfx/layers/ipc/LayerTransactionParent.cpp +++ b/gfx/layers/ipc/LayerTransactionParent.cpp @@ -361,6 +361,9 @@ LayerTransactionParent::RecvUpdate(InfallibleTArray&& cset, layer->SetScrollbarData(common.scrollbarTargetContainerId(), static_cast(common.scrollbarDirection()), common.scrollbarThumbRatio()); + if (common.isScrollbarContainer()) { + layer->SetIsScrollbarContainer(); + } layer->SetMixBlendMode((gfx::CompositionOp)common.mixBlendMode()); layer->SetForceIsolatedGroup(common.forceIsolatedGroup()); if (PLayerParent* maskLayer = common.maskLayerParent()) { diff --git a/gfx/layers/ipc/LayersMessages.ipdlh b/gfx/layers/ipc/LayersMessages.ipdlh index a2d150f32b5e..f8027e2ab6a0 100644 --- a/gfx/layers/ipc/LayersMessages.ipdlh +++ b/gfx/layers/ipc/LayersMessages.ipdlh @@ -230,6 +230,7 @@ struct CommonLayerAttributes { uint64_t scrollbarTargetContainerId; uint32_t scrollbarDirection; float scrollbarThumbRatio; + bool isScrollbarContainer; int8_t mixBlendMode; bool forceIsolatedGroup; nullable PLayer maskLayer; diff --git a/gfx/layers/ipc/ShadowLayers.cpp b/gfx/layers/ipc/ShadowLayers.cpp index 44ad4a67237c..c81284d8bd7a 100644 --- a/gfx/layers/ipc/ShadowLayers.cpp +++ b/gfx/layers/ipc/ShadowLayers.cpp @@ -834,6 +834,7 @@ ShadowLayerForwarder::EndTransaction(InfallibleTArray* aReplies, common.scrollbarTargetContainerId() = mutant->GetScrollbarTargetContainerId(); common.scrollbarDirection() = mutant->GetScrollbarDirection(); common.scrollbarThumbRatio() = mutant->GetScrollbarThumbRatio(); + common.isScrollbarContainer() = mutant->IsScrollbarContainer(); common.mixBlendMode() = (int8_t)mutant->GetMixBlendMode(); common.forceIsolatedGroup() = mutant->GetForceIsolatedGroup(); if (Layer* maskLayer = mutant->GetMaskLayer()) {