[webkit-reviews] review granted: [Bug 231163] REGRESSION (iOS 15): Canvas Rendering feature leads to strange resize behaviour : [Attachment 449104] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jan 13 14:23:01 PST 2022

Simon Fraser (smfr) <simon.fraser at apple.com> has granted Cameron McCormack
(:heycam) <heycam at apple.com>'s request for review:
Bug 231163: REGRESSION (iOS 15): Canvas Rendering feature leads to strange
resize behaviour

Attachment 449104: Patch


--- Comment #15 from Simon Fraser (smfr) <simon.fraser at apple.com> ---
Comment on attachment 449104
  --> https://bugs.webkit.org/attachment.cgi?id=449104

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

> Source/WebCore/html/HTMLCanvasElement.cpp:605
> +static bool imageDrawingRequiresCopyOnWrite(Page* page, GraphicsContext&
context, ImageBuffer& imageBuffer)

const ImageBuffer&

I wonder if we can come up with a term that isn't "CopyOnWrite" to describe
what has to happen. The fact that it's a COW is a detail. Maybe something
involving "guard".

> Source/WebCore/page/Page.h:935
> +    enum class LayerTreeTransactionState {
> +	   Flushed,
> +	   Building,
> +	   AwaitingFlush
> +    };

Not really a fan of pushing WebKit2 implementation detail down here to Page,
but not sure how else to do it other than ChromeClient hooks.

You only really care about the AwaitingFlush state.

> Source/WebCore/platform/graphics/cg/ImageBufferIOSurfaceBackend.cpp:250
> +    flushContext();

Is the flushContext needed?

More information about the webkit-reviews mailing list