tor-browser

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

commit 2cc0a3813d2ca3948b90744a8111b8f36cff0b19
parent 88bfdb3cdb7de6ed796b7d0c1d5cea130bcde0fc
Author: longsonr <longsonr@gmail.com>
Date:   Fri,  9 Jan 2026 13:44:40 +0000

Bug 2009040 - Convert eRenderFill and eRenderStroke to an enum class r=jwatt

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

Diffstat:
Mlayout/svg/SVGGeometryFrame.cpp | 14++++++++------
Mlayout/svg/SVGGeometryFrame.h | 6++++--
2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/layout/svg/SVGGeometryFrame.cpp b/layout/svg/SVGGeometryFrame.cpp @@ -177,17 +177,18 @@ void SVGGeometryFrame::PaintSVG(gfxContext& aContext, uint32_t paintOrder = StyleSVG()->mPaintOrder; if (!paintOrder) { - Render(&aContext, eRenderFill | eRenderStroke, newMatrix, aImgParams); + Render(&aContext, RenderFlags(RenderFlag::Fill, RenderFlag::Stroke), + newMatrix, aImgParams); PaintMarkers(aContext, aTransform, aImgParams); } else { while (paintOrder) { auto component = StylePaintOrder(paintOrder & kPaintOrderMask); switch (component) { case StylePaintOrder::Fill: - Render(&aContext, eRenderFill, newMatrix, aImgParams); + Render(&aContext, RenderFlag::Fill, newMatrix, aImgParams); break; case StylePaintOrder::Stroke: - Render(&aContext, eRenderStroke, newMatrix, aImgParams); + Render(&aContext, RenderFlag::Stroke, newMatrix, aImgParams); break; case StylePaintOrder::Markers: PaintMarkers(aContext, aTransform, aImgParams); @@ -550,7 +551,8 @@ gfxMatrix SVGGeometryFrame::GetCanvasTM() { return content->ChildToUserSpaceTransform() * parent->GetCanvasTM(); } -void SVGGeometryFrame::Render(gfxContext* aContext, uint32_t aRenderComponents, +void SVGGeometryFrame::Render(gfxContext* aContext, + RenderFlags aRenderComponents, const gfxMatrix& aTransform, imgDrawingParams& aImgParams) { MOZ_ASSERT(!aTransform.IsSingular()); @@ -602,7 +604,7 @@ void SVGGeometryFrame::Render(gfxContext* aContext, uint32_t aRenderComponents, SVGContextPaint* contextPaint = SVGContextPaint::GetContextPaint(GetContent()); - if (aRenderComponents & eRenderFill) { + if (aRenderComponents.contains(RenderFlag::Fill)) { GeneralPattern fillPattern; SVGUtils::MakeFillPatternFor(this, aContext, &fillPattern, aImgParams, contextPaint); @@ -617,7 +619,7 @@ void SVGGeometryFrame::Render(gfxContext* aContext, uint32_t aRenderComponents, } } - if ((aRenderComponents & eRenderStroke) && + if (aRenderComponents.contains(RenderFlag::Stroke) && SVGUtils::HasStroke(this, contextPaint)) { // Account for vector-effect:non-scaling-stroke: gfxMatrix userToOuterSVG; diff --git a/layout/svg/SVGGeometryFrame.h b/layout/svg/SVGGeometryFrame.h @@ -10,6 +10,7 @@ #include "gfxMatrix.h" #include "gfxRect.h" #include "mozilla/DisplaySVGItem.h" +#include "mozilla/EnumSet.h" #include "mozilla/ISVGDisplayableFrame.h" #include "nsIFrame.h" @@ -96,8 +97,9 @@ class SVGGeometryFrame final : public nsIFrame, public ISVGDisplayableFrame { uint32_t aFlags) override; bool IsDisplayContainer() override { return false; } - enum { eRenderFill = 1, eRenderStroke = 2 }; - void Render(gfxContext* aContext, uint32_t aRenderComponents, + enum class RenderFlag { Fill, Stroke }; + using RenderFlags = EnumSet<RenderFlag>; + void Render(gfxContext* aContext, RenderFlags aRenderComponents, const gfxMatrix& aTransform, imgDrawingParams& aImgParams); bool CreateWebRenderCommands(