import from UXP: [DOM] Update some DOM canvas checks. (4d91f637)

This commit is contained in:
2026-04-24 10:06:55 +08:00
parent 09367b53df
commit e2c2b63646
2 changed files with 6 additions and 3 deletions
+3 -2
View File
@@ -4410,6 +4410,9 @@ CanvasRenderingContext2D::DrawOrMeasureText(const nsAString& aRawText,
textToDraw.Truncate();
}
// This is only needed to know if we can know the drawing bounding box easily.
const bool doCalculateBounds = NeedToCalculateBounds();
// for now, default to ltr if not in doc
bool isRTL = false;
@@ -4430,8 +4433,6 @@ CanvasRenderingContext2D::DrawOrMeasureText(const nsAString& aRawText,
isRTL = GET_BIDI_OPTION_DIRECTION(document->GetBidiOptions()) == IBMBIDI_TEXTDIRECTION_RTL;
}
// This is only needed to know if we can know the drawing bounding box easily.
const bool doCalculateBounds = NeedToCalculateBounds();
if (presShell->IsDestroying()) {
return NS_ERROR_FAILURE;
}
+3 -1
View File
@@ -894,7 +894,9 @@ protected:
* last call to UpdateFilter and now.
*/
const gfx::FilterDescription& EnsureUpdatedFilter() {
bool isWriteOnly = mCanvasElement && mCanvasElement->IsWriteOnly();
bool isWriteOnly = IsWriteOnly() ||
(mCanvasElement && mCanvasElement->IsWriteOnly()) ||
(mOffscreenCanvas && mOffscreenCanvas->IsWriteOnly());
if (CurrentState().filterSourceGraphicTainted != isWriteOnly) {
UpdateFilter();
EnsureTarget();