[webkit-changes] [WebKit/WebKit] 80efdd: ImageData (rect) size and destination offset overf...

nishajain61 noreply at github.com
Fri Mar 22 12:41:56 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 80efddf753c773046959715f02cb7421cf8245ce
      https://github.com/WebKit/WebKit/commit/80efddf753c773046959715f02cb7421cf8245ce
  Author: Nisha Jain <nisha_jain at apple.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A LayoutTests/fast/canvas/canvas-imagedata-dimension-no-overflow-expected.txt
    A LayoutTests/fast/canvas/canvas-imagedata-dimension-no-overflow.html
    M Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.h
    M Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.messages.in
    M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp

  Log Message:
  -----------
  ImageData (rect) size and destination offset overflow causes IPC decoder to fail during 2D context rendering.
https://bugs.webkit.org/show_bug.cgi?id=271080
rdar://121959787

Reviewed by Kimmo Kinnunen.

ImageData (rect) size and destination offset overflow causes IPC (rect) object
decoder to fail in WebContentProcess, during 2D context rendering which causes timeout.
Using location and size params in the getPixelBuffer and putPixelBuffer APIs instead
of rect in order to avoid this issue.

* LayoutTests/fast/canvas/canvas-imagedata-dimension-no-overflow-expected.txt: Added.
* LayoutTests/fast/canvas/canvas-imagedata-dimension-no-overflow.html: Added.
* Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.cpp:
(WebKit::RemoteImageBuffer::getPixelBuffer):
(WebKit::RemoteImageBuffer::getPixelBufferWithNewMemory):
(WebKit::RemoteImageBuffer::putPixelBuffer):
* Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.h:
* Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::getPixelBufferForImageBuffer):
(WebKit::RemoteRenderingBackendProxy::putPixelBufferForImageBuffer):

Canonical link: https://commits.webkit.org/276563@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list