Bug 227015 - GraphicsContext::apply{Fill,Stroke}Pattern needs to do nothing if there is no fill/stroke pattern set
Summary: GraphicsContext::apply{Fill,Stroke}Pattern needs to do nothing if there is no...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Myles C. Maxfield
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-06-14 23:01 PDT by Myles C. Maxfield
Modified: 2021-07-08 15:09 PDT (History)
6 users (show)

See Also:


Attachments
Patch (3.14 KB, patch)
2021-06-14 23:02 PDT, Myles C. Maxfield
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Myles C. Maxfield 2021-06-14 23:01:26 PDT
GraphicsContext::apply{Fill,Stroke}Pattern needs to do nothing if there is no fill/stroke pattern set
Comment 1 Myles C. Maxfield 2021-06-14 23:02:59 PDT
Created attachment 431406 [details]
Patch
Comment 2 EWS 2021-06-15 11:19:04 PDT
Committed r278885 (238827@main): <https://commits.webkit.org/238827@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431406 [details].
Comment 3 Radar WebKit Bug Importer 2021-06-15 11:20:21 PDT
<rdar://problem/79352245>
Comment 4 Said Abou-Hallawa 2021-07-08 15:09:19 PDT
Comment on attachment 431406 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=431406&action=review

> Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:547
> +    if (!m_state.strokePattern)
> +        return;

This check is not needed for GraphicsContextCG because all the callers check if (m_state.strokePattern) before calling this function. But it is needed for DisplayList::Recorder and RenderSVGResourcePattern::applyResource() because the callers do not check if (m_state.strokePattern) before calling this function. So I think we should either

1. Remove the check if (m_state.strokePattern) form GraphicsContextCG functions.
2. Remove this check and make DisplayList::Recorder and RenderSVGResourcePattern::applyResource() check if (m_state.strokePattern) before calling this function.

> Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:566
> +    if (!m_state.fillPattern)
> +        return;

Ditto.