From f4015e0c1070caed41d3b1420ccfb1bfee1cdeee Mon Sep 17 00:00:00 2001 From: Cameron Kaiser Date: Mon, 8 May 2017 21:31:13 -0700 Subject: [PATCH] #375: M1342719 M1342720 --- dom/canvas/CanvasRenderingContext2D.cpp | 5 ++--- dom/canvas/CanvasRenderingContext2D.h | 3 +++ js/xpconnect/wrappers/AccessCheck.cpp | 3 +-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp index c25fbd813..4ee48e06f 100644 --- a/dom/canvas/CanvasRenderingContext2D.cpp +++ b/dom/canvas/CanvasRenderingContext2D.cpp @@ -3859,7 +3859,6 @@ CanvasRenderingContext2D::DrawOrMeasureText(const nsAString& aRawText, // calls bidi algo twice since it needs the full text width and the // bounding boxes before rendering anything - nsBidi bidiEngine; rv = nsBidiPresUtils::ProcessText(textToDraw.get(), textToDraw.Length(), isRTL ? NSBIDI_RTL : NSBIDI_LTR, @@ -3869,7 +3868,7 @@ CanvasRenderingContext2D::DrawOrMeasureText(const nsAString& aRawText, nullptr, 0, &totalWidthCoord, - &bidiEngine); + &mBidiEngine); if (NS_FAILED(rv)) { return rv; } @@ -3984,7 +3983,7 @@ CanvasRenderingContext2D::DrawOrMeasureText(const nsAString& aRawText, nullptr, 0, nullptr, - &bidiEngine); + &mBidiEngine); mTarget->SetTransform(oldTransform); diff --git a/dom/canvas/CanvasRenderingContext2D.h b/dom/canvas/CanvasRenderingContext2D.h index d2782b594..ece78e589 100644 --- a/dom/canvas/CanvasRenderingContext2D.h +++ b/dom/canvas/CanvasRenderingContext2D.h @@ -28,6 +28,7 @@ #include "FilterSupport.h" #include "nsSVGEffects.h" #include "Layers.h" +#include "nsBidi.h" class nsGlobalWindow; class nsXULElement; @@ -821,6 +822,8 @@ protected: nsTArray mHitRegionsOptions; + nsBidi mBidiEngine; + /** * Returns true if a shadow should be drawn along with a * drawing operation. diff --git a/js/xpconnect/wrappers/AccessCheck.cpp b/js/xpconnect/wrappers/AccessCheck.cpp index 00576e007..efc339e6f 100644 --- a/js/xpconnect/wrappers/AccessCheck.cpp +++ b/js/xpconnect/wrappers/AccessCheck.cpp @@ -75,9 +75,8 @@ AccessCheck::wrapperSubsumes(JSObject* wrapper) bool AccessCheck::isChrome(JSCompartment* compartment) { - bool privileged; nsIPrincipal* principal = GetCompartmentPrincipal(compartment); - return NS_SUCCEEDED(nsXPConnect::SecurityManager()->IsSystemPrincipal(principal, &privileged)) && privileged; + return nsXPConnect::SystemPrincipal() == principal; } bool