Closed Bug 1381172 Opened 2 years ago Closed 2 years ago

Implement DrawTargetCapture::StrokeGlyphs

Categories

(Core :: Graphics, enhancement)

enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: mchang, Assigned: mchang)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

DrawTarget::StrokeGlyphs starts by getting a glyph as a path and strokes the path. DrawTargetCapture didn't override StrokeGlyphs, so we were replaying a path stroke to render some fonts.

Skia implements DrawTarget::StrokeGlyphs, but we weren't recording that. Hence the reftest failure was happening because OMTP would always replay stroke a path, when w/o OMTP, we'd have the test call StrokeGlyphs and the ref call stroke a path.

This bug implements DrawTargetCapture::StrokeGlyphs
Attachment #8886719 - Flags: review?(dvander)
Comment on attachment 8886719 [details] [diff] [review]
Implement DrawTargetCapture::StrokeGlyphs

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

::: gfx/2d/DrawCommand.h
@@ +485,5 @@
> +    , mOptions(aOptions)
> +    , mRenderingOptions(const_cast<GlyphRenderingOptions*>(aRenderingOptions))
> +  {
> +    mGlyphs.resize(aBuffer.mNumGlyphs);
> +    memcpy(&mGlyphs.front(), aBuffer.mGlyphs, sizeof(Glyph) * aBuffer.mNumGlyphs);

If you want you can use PodCopy() here and below which is 2% safer.
Attachment #8886719 - Flags: review?(dvander) → review+
Blocks: 1381180
Blocks: omtp
Pushed by mchang@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6b6fb9ee1cfb
Implement DrawTargetCapture::StrokeGlyphs. r=dvander
https://hg.mozilla.org/mozilla-central/rev/6b6fb9ee1cfb
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
Duplicate of this bug: 1383784
You need to log in before you can comment on or make changes to this bug.