tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 5f8128535c83d8a45d862cfe1fc1c484ea183c45
parent 2cc0a3813d2ca3948b90744a8111b8f36cff0b19
Author: longsonr <longsonr@gmail.com>
Date:   Fri,  9 Jan 2026 13:46:35 +0000

Bug 2009035 - Convert ChildrenOnlyTransformChangedFlags to an enum class r=jwatt

Differential Revision: https://phabricator.services.mozilla.com/D278195

Diffstat:
Mdom/svg/SVGViewportElement.cpp | 5+++--
Mdom/svg/SVGViewportElement.h | 8++++++--
Mlayout/svg/SVGOuterSVGFrame.cpp | 8+++++---
3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/dom/svg/SVGViewportElement.cpp b/dom/svg/SVGViewportElement.cpp @@ -115,7 +115,8 @@ void SVGViewportElement::UpdateHasChildrenOnlyTransform() { static_cast<SVGSVGElement*>(this)->IsScaledOrTranslated()); } -void SVGViewportElement::ChildrenOnlyTransformChanged(uint32_t aFlags) { +void SVGViewportElement::ChildrenOnlyTransformChanged( + ChildrenOnlyTransformChangedFlags aFlags) { // Avoid wasteful calls: MOZ_ASSERT(!GetPrimaryFrame()->HasAnyStateBits(NS_FRAME_IS_NONDISPLAY), "Non-display SVG frames don't maintain overflow rects"); @@ -142,7 +143,7 @@ void SVGViewportElement::ChildrenOnlyTransformChanged(uint32_t aFlags) { // is being reflowed we're going to invalidate and repaint its entire area // anyway (which will include our children). if ((changeHint & nsChangeHint_ReconstructFrame) || - !(aFlags & eDuringReflow)) { + !aFlags.contains(ChildrenOnlyTransformChangedFlag::DuringReflow)) { nsLayoutUtils::PostRestyleEvent(this, RestyleHint{0}, changeHint); } } diff --git a/dom/svg/SVGViewportElement.h b/dom/svg/SVGViewportElement.h @@ -82,7 +82,10 @@ class SVGViewportElement : public SVGGraphicsElement { void UpdateHasChildrenOnlyTransform(); - enum ChildrenOnlyTransformChangedFlags { eDuringReflow = 1 }; + enum class ChildrenOnlyTransformChangedFlag { DuringReflow }; + + using ChildrenOnlyTransformChangedFlags = + EnumSet<ChildrenOnlyTransformChangedFlag>; /** * This method notifies the style system that the overflow rects of our @@ -94,7 +97,8 @@ class SVGViewportElement : public SVGGraphicsElement { * GetAttributeChangeHint is because we need to act on non-attribute (e.g. * currentScale) changes in addition to attribute (e.g. viewBox) changes. */ - void ChildrenOnlyTransformChanged(uint32_t aFlags = 0); + void ChildrenOnlyTransformChanged( + ChildrenOnlyTransformChangedFlags aFlags = {}); gfx::Matrix GetViewBoxTransform() const; diff --git a/layout/svg/SVGOuterSVGFrame.cpp b/layout/svg/SVGOuterSVGFrame.cpp @@ -616,9 +616,11 @@ void SVGOuterSVGFrame::NotifyViewportOrTransformChanged( if (haveNonFullZoomTransformChange && !HasAnyStateBits(NS_FRAME_IS_NONDISPLAY)) { - uint32_t flags = HasAnyStateBits(NS_FRAME_IN_REFLOW) - ? SVGSVGElement::eDuringReflow - : 0; + SVGViewportElement::ChildrenOnlyTransformChangedFlags flags; + if (HasAnyStateBits(NS_FRAME_IN_REFLOW)) { + flags += + SVGViewportElement::ChildrenOnlyTransformChangedFlag::DuringReflow; + } content->ChildrenOnlyTransformChanged(flags); } }