[Azure] Properly convert patterns to userspace in Azure

RESOLVED FIXED

Status

()

Core
Graphics
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: bas, Assigned: bas)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

5 years ago
Created attachment 608747 [details] [diff] [review]
Deal with a changing pattern transform in the Azure wrapper

SVG font code can change the transform after having set the pattern on the context. When the pattern is set it is in user space, if the transform is changed after doing so the pattern needs to be converted back into userspace. We currently don't do this and it causes reftest failures inside SVG.

This patch deals with the situation, it tries to avoid doing work when not needed as best it can, but considering we often leave a pattern set while we change the transform in preparation of a new pattern it does regularly waste a copy of the transform into CurrentState().patternTransform. There's nothing we can do about that if we want the wrapper to be correct though.
Attachment #608747 - Flags: review?(jmuizelaar)
(Assignee)

Updated

5 years ago
Blocks: 715768
Comment on attachment 608747 [details] [diff] [review]
Deal with a changing pattern transform in the Azure wrapper

Review of attachment 608747 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/thebes/gfxContext.cpp
@@ +2074,5 @@
>    }
>  }
> +
> +void
> +gfxContext::TransformWillChange()

I think it's probably worth adding a summary of why this is need as a comment. Something like your original comment no the bug would be good.
Attachment #608747 - Flags: review?(jmuizelaar) → review+
(Assignee)

Comment 2

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/23fb49402114

Comment 3

5 years ago
https://hg.mozilla.org/mozilla-central/rev/23fb49402114
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
(Assignee)

Updated

5 years ago
No longer blocks: 715768
(Assignee)

Updated

5 years ago
Blocks: 715768
You need to log in before you can comment on or make changes to this bug.