Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7bbc1c0142c8f349a88396ca519e61599eeec2ec
      
https://github.com/WebKit/WebKit/commit/7bbc1c0142c8f349a88396ca519e61599eeec2ec
  Author: Cathie Chen <[email protected]>
  Date:   2025-05-01 (Thu, 01 May 2025)

  Changed paths:
    A LayoutTests/compositing/tiling/huge-layer-canvas-resize-expected.txt
    A LayoutTests/compositing/tiling/huge-layer-canvas-resize.html
    A LayoutTests/compositing/tiling/huge-layer-img-resize-expected.txt
    A LayoutTests/compositing/tiling/huge-layer-img-resize.html
    M LayoutTests/platform/glib/TestExpectations
    A 
LayoutTests/platform/ios/compositing/tiling/huge-layer-canvas-resize-expected.txt
    A 
LayoutTests/platform/ios/compositing/tiling/huge-layer-img-resize-expected.txt
    M LayoutTests/platform/win/TestExpectations
    M Source/WebCore/rendering/RenderReplaced.cpp

  Log Message:
  -----------
  Canvas with relative width does not repaint correctly on parent resize
https://bugs.webkit.org/show_bug.cgi?id=267986

Reviewed by Alan Baradlay.

Elements with relative width do not trigger a full repaint when their size 
changes because they are not selfNeedsLayout.
For elements like <canvas> and <img>, a size change implies a scale change, so 
they should trigger a full repaint.
This issue is only revealed if the replaced element is on a tiled layer and its 
ancestor with selfNeedsLayout on other layer.
If they are on the same layer, the ancestor would trigger full repaint for 
itself, the repaint rect will cover the replace element.
If the replaced element is on an untiled layer, this layer triggers a full 
repaint on layer size change.
This patch triggers full repaint for elements like canvas and image in after 
layout.

* LayoutTests/compositing/tiling/huge-layer-canvas-resize-expected.txt: Added.
* LayoutTests/compositing/tiling/huge-layer-canvas-resize.html: Added.
* LayoutTests/compositing/tiling/huge-layer-img-resize-expected.txt: Added.
* LayoutTests/compositing/tiling/huge-layer-img-resize.html: Added.
* LayoutTests/platform/glib/TestExpectations:
* 
LayoutTests/platform/ios/compositing/tiling/huge-layer-canvas-resize-expected.txt:
 Added.
* 
LayoutTests/platform/ios/compositing/tiling/huge-layer-img-resize-expected.txt: 
Added.
* LayoutTests/platform/win/TestExpectations:
* Source/WebCore/rendering/RenderReplaced.cpp:
(WebCore::issueFullRepaintOnSizeChangeIfNeeded):
(WebCore::RenderReplaced::layout):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to