From 1d126c1d566d104a0976992c63c624785825770d Mon Sep 17 00:00:00 2001 From: Botond Ballo Date: Fri, 9 Mar 2018 17:26:24 -0500 Subject: Bug 1443092 - Avoid calling SVGAnimatedEnumeration::AnimVal() from nsSVGUtils::GetBBox(). r=jwatt, a=RyanVM AnimVal() is a DOM getter, and it flushes animations, which we don't want in GetBBox() which is called from display list building cide and FrameLayerBuilder. MozReview-Commit-ID: DWgm7wAV7C0 --- layout/svg/nsSVGUtils.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'layout') diff --git a/layout/svg/nsSVGUtils.cpp b/layout/svg/nsSVGUtils.cpp index ff74d5baf..344ebf645 100644 --- a/layout/svg/nsSVGUtils.cpp +++ b/layout/svg/nsSVGUtils.cpp @@ -1127,8 +1127,7 @@ nsSVGUtils::GetBBox(nsIFrame *aFrame, uint32_t aFlags) if (clipPathFrame && isOK) { SVGClipPathElement *clipContent = static_cast(clipPathFrame->GetContent()); - RefPtr units = clipContent->ClipPathUnits(); - if (units->AnimVal() == SVG_UNIT_TYPE_OBJECTBOUNDINGBOX) { + if (clipContent->IsUnitsObjectBoundingBox()) { matrix.Translate(gfxPoint(x, y)); matrix.Scale(width, height); } else if (aFrame->GetType() == nsGkAtoms::svgForeignObjectFrame) { -- cgit v1.2.3 From acf95284e7d9b00d4ab1e526dc5f12b4d29bdff1 Mon Sep 17 00:00:00 2001 From: Robert Longson Date: Thu, 29 Mar 2018 03:12:05 +0100 Subject: Bug 1448774. r=dholbert, a=RyanVM --HG-- extra : source : edfd9ffbd7208ef0a59f40a0d77d8dd53c905cb9 extra : intermediate-source : 3784b22ec536b08ce95201d73ae8806340c18b8c --- layout/svg/SVGTextFrame.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'layout') diff --git a/layout/svg/SVGTextFrame.cpp b/layout/svg/SVGTextFrame.cpp index e68126068..e5a03333f 100644 --- a/layout/svg/SVGTextFrame.cpp +++ b/layout/svg/SVGTextFrame.cpp @@ -5111,8 +5111,8 @@ SVGTextFrame::DoGlyphPositioning() float actualTextLength = static_cast(presContext->AppUnitsToGfxUnits(frameLength) * factor); - RefPtr lengthAdjustEnum = element->LengthAdjust(); - uint16_t lengthAdjust = lengthAdjustEnum->AnimVal(); + uint16_t lengthAdjust = + element->EnumAttributes()[SVGTextContentElement::LENGTHADJUST].GetAnimValue(); switch (lengthAdjust) { case SVG_LENGTHADJUST_SPACINGANDGLYPHS: // Scale the glyphs and their positions. -- cgit v1.2.3 From 3b4a81565780b724841c2950513416f14ab95ff3 Mon Sep 17 00:00:00 2001 From: Boris Zbarsky Date: Thu, 12 Apr 2018 23:26:44 -0400 Subject: Bug 1453339 - Make it harder to mess up Promise::All. r=peterv, a=RyanVM MozReview-Commit-ID: UO4wssYHj7 --- layout/style/FontFaceSet.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'layout') diff --git a/layout/style/FontFaceSet.cpp b/layout/style/FontFaceSet.cpp index 59626fba4..550a7d71a 100644 --- a/layout/style/FontFaceSet.cpp +++ b/layout/style/FontFaceSet.cpp @@ -343,17 +343,7 @@ FontFaceSet::Load(JSContext* aCx, } } - nsIGlobalObject* globalObject = GetParentObject(); - if (!globalObject) { - aRv.Throw(NS_ERROR_FAILURE); - return nullptr; - } - - JS::Rooted jsGlobal(aCx, globalObject->GetGlobalJSObject()); - GlobalObject global(aCx, jsGlobal); - - RefPtr result = Promise::All(global, promises, aRv); - return result.forget(); + return Promise::All(aCx, promises, aRv); } bool -- cgit v1.2.3