Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6fe328a9c8a473316dcfa183d55e42a975f0f186
      
https://github.com/WebKit/WebKit/commit/6fe328a9c8a473316dcfa183d55e42a975f0f186
  Author: Simon Fraser <[email protected]>
  Date:   2025-11-04 (Tue, 04 Nov 2025)

  Changed paths:
    A LayoutTests/compositing/rtl/rtl-fixed-clipping-layer-expected.html
    A LayoutTests/compositing/rtl/rtl-fixed-clipping-layer.html
    M LayoutTests/compositing/rtl/rtl-iframe-absolute-expected.txt
    M LayoutTests/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt
    M 
LayoutTests/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt
    M LayoutTests/compositing/rtl/rtl-iframe-fixed-expected.txt
    M LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt
    M 
LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt
    M LayoutTests/compositing/rtl/rtl-iframe-relative-expected.txt
    M 
LayoutTests/platform/ios/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt
    M LayoutTests/platform/ios/compositing/rtl/rtl-fixed-overflow-expected.txt
    M 
LayoutTests/platform/ios/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt
    A 
LayoutTests/platform/mac-sequoia-wk2/compositing/rtl/rtl-iframe-fixed-expected.txt
    A 
LayoutTests/platform/mac-sequoia-wk2/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt
    A 
LayoutTests/platform/mac-sequoia-wk2/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt
    M LayoutTests/platform/mac-wk1/TestExpectations
    A 
LayoutTests/platform/mac-wk1/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt
    A 
LayoutTests/platform/mac-wk1/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt
    A 
LayoutTests/platform/mac-wk1/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt
    A 
LayoutTests/platform/mac-wk1/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt
    M 
LayoutTests/platform/mac-wk2/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt
    M 
LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt
    M LayoutTests/platform/mac/TestExpectations
    M 
LayoutTests/platform/mac/compositing/layer-creation/fixed-overlap-extent-rtl-expected.txt
    M 
LayoutTests/platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt
    M Source/WebCore/rendering/RenderLayerBacking.cpp

  Log Message:
  -----------
  fixed positioned elements not rendered in RTL/vertical-rl
https://bugs.webkit.org/show_bug.cgi?id=299939
rdar://161712734

Reviewed by Wenson Hsieh and Elika Etemad.

The fixed position clipping layer (added in 294368@main) failed to handle RTL 
pages
correctly. In such pages, the 0,0 position is in the top left of the ICB, and
the page extends into negative coordinates on the left side; RenderView's
GraphicsLayer gets a corresponding negative `offsetFromRenderer` to account
for this. `m_viewportClippingLayer` was misplaced, could clip out fixed position
layers.

The code that positions `m_viewportClippingLayer` needs to account for this,
since it fetches `rectForFixedPositionLayout()` which is in layout coordinates,
but then applies it to GraphicsLayer coordinates; we need to adjust by 
RenderView's
`contentOffsetInCompositingLayer()`.

Unskipped various `compositing/rtl` tests, and added results.

Test: compositing/rtl/rtl-fixed-clipping-layer.html

* LayoutTests/compositing/rtl/rtl-fixed-clipping-layer-expected.html: Added.
* LayoutTests/compositing/rtl/rtl-fixed-clipping-layer.html: Added.
* LayoutTests/compositing/rtl/rtl-iframe-absolute-expected.txt:
* LayoutTests/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
* 
LayoutTests/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt:
* LayoutTests/compositing/rtl/rtl-iframe-fixed-expected.txt:
* LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt:
* LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt:
* LayoutTests/compositing/rtl/rtl-iframe-relative-expected.txt:
* 
LayoutTests/platform/ios/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
* LayoutTests/platform/ios/compositing/rtl/rtl-fixed-overflow-expected.txt:
* 
LayoutTests/platform/ios/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* 
LayoutTests/platform/mac-sequoia-wk2/compositing/rtl/rtl-iframe-fixed-expected.txt:
 Copied from LayoutTests/compositing/rtl/rtl-iframe-fixed-expected.txt.
* 
LayoutTests/platform/mac-sequoia-wk2/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt:
 Copied from LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt.
* 
LayoutTests/platform/mac-sequoia-wk2/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt:
 Copied from 
LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt.
* LayoutTests/platform/mac-wk1/TestExpectations:
* 
LayoutTests/platform/mac-wk1/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
 Copied from LayoutTests/compositing/rtl/rtl-iframe-absolute-expected.txt.
* 
LayoutTests/platform/mac-wk1/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt:
 Copied from LayoutTests/compositing/rtl/rtl-iframe-absolute-expected.txt.
* 
LayoutTests/platform/mac-wk1/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt:
 Copied from LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt.
* 
LayoutTests/platform/mac-wk1/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt:
 Copied from 
LayoutTests/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt.
* 
LayoutTests/platform/mac-wk2/compositing/geometry/fixed-position-flipped-writing-mode-expected.txt:
* LayoutTests/platform/mac-wk2/compositing/rtl/rtl-fixed-overflow-expected.txt:
* LayoutTests/platform/mac/TestExpectations:
* 
LayoutTests/platform/mac/compositing/layer-creation/fixed-overlap-extent-rtl-expected.txt:
* 
LayoutTests/platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):

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



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

Reply via email to