Closed Bug 976812 Opened 6 years ago Closed 6 years ago

SVG Text should be marked as using component alpha

Categories

(Core :: Layout, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla30

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

Details

Attachments

(1 file)

No description provided.
https://tbpl.mozilla.org/?tree=Try&rev=ee243e732376

Without this patch FrameLayerBuilder isn't aware that it needs to avoid drawing these items into a transparent layer (either by doing component alpha layers for alpha recovery, or disabling subpixel AA). This can result in poor text rendering is some cases.
Assignee: nobody → matt.woodrow
Attachment #8381744 - Flags: review?(cam)
Comment on attachment 8381744 [details] [diff] [review]
Mark nsDisplaySVGText as using component alpha

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

::: layout/svg/SVGTextFrame.cpp
@@ +3089,5 @@
>                         HitTestState* aState,
>                         nsTArray<nsIFrame*> *aOutFrames) MOZ_OVERRIDE;
>    virtual void Paint(nsDisplayListBuilder* aBuilder,
>                       nsRenderingContext* aCtx) MOZ_OVERRIDE;
> +  virtual nsRect GetComponentAlphaBounds(nsDisplayListBuilder* aBuilder)

Stick a MOZ_OVERRIDE on there and "{" on this line, for consistency with the other inline functions here.
Attachment #8381744 - Flags: review?(cam) → review+
https://hg.mozilla.org/mozilla-central/rev/bdf4fc6eba98
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in before you can comment on or make changes to this bug.