Bug 1495249. Make ComputePostEffectsVisualOverflowRect use the first continuation/block-in-inline sibling for SVG. r=longsonr
authorJonathan Watt <jwatt@jwatt.org>
Tue, 18 Sep 2018 10:40:12 +0100
changeset 487232 87f643635a1260fd357572a3797e9e5e7daedde9
parent 487231 a902caa5f3209f558a58b11ce44cc4cce77a5b6a
child 487233 0c399277cee5d443830c19f7d28e45060a3b714f
push id246
push userfmarier@mozilla.com
push dateSat, 13 Oct 2018 00:15:40 +0000
reviewerslongsonr
bugs1495249
milestone64.0a1
Bug 1495249. Make ComputePostEffectsVisualOverflowRect use the first continuation/block-in-inline sibling for SVG. r=longsonr Differential Revision: https://phabricator.services.mozilla.com/D7245
layout/svg/nsSVGIntegrationUtils.cpp
--- a/layout/svg/nsSVGIntegrationUtils.cpp
+++ b/layout/svg/nsSVGIntegrationUtils.cpp
@@ -298,17 +298,17 @@ nsRect
     nsLayoutUtils::FirstContinuationOrIBSplitSibling(aFrame);
   // Note: we do not return here for eHasNoRefs since we must still handle any
   // CSS filter functions.
   // TODO: We currently pass nullptr instead of an nsTArray* here, but we
   // actually should get the filter frames and then pass them into
   // GetPostFilterBounds below!  See bug 1494263.
   // TODO: we should really return an empty rect for eHasRefsSomeInvalid since
   // in that case we disable painting of the element.
-  if (SVGObserverUtils::GetAndObserveFilters(aFrame, nullptr) ==
+  if (SVGObserverUtils::GetAndObserveFilters(firstFrame, nullptr) ==
         SVGObserverUtils::eHasRefsSomeInvalid) {
     return aPreEffectsOverflowRect;
   }
 
   // Create an override bbox - see comment above:
   nsPoint firstFrameToBoundingBox = GetOffsetToBoundingBox(firstFrame);
   // overrideBBox is in "user space", in _CSS_ pixels:
   // XXX Why are we rounding out to pixel boundaries? We don't do that in