[webkit-changes] [WebKit/WebKit] 80a525: Opacity and root element background image doesn't ...

mattwoodrow noreply at github.com
Tue Sep 19 15:56:49 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 80a5258521a832779b46bdd6bb04368f36882e5c
      https://github.com/WebKit/WebKit/commit/80a5258521a832779b46bdd6bb04368f36882e5c
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2023-09-19 (Tue, 19 Sep 2023)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-001-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-001-ref.html
    A LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-001.html
    A LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-002-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-002.html
    A LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-003-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-003.html
    A LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-004-expected.html
    A LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-004.html
    A LayoutTests/imported/w3c/web-platform-tests/css/compositing/support/transform-triangle-left.svg
    M Source/WebCore/rendering/RenderBox.cpp
    M Source/WebCore/rendering/RenderLayer.cpp
    M Source/WebCore/rendering/RenderLayer.h

  Log Message:
  -----------
  Opacity and root element background image doesn't render.
https://bugs.webkit.org/show_bug.cgi?id=261486
<rdar://115396444>

Reviewed by Simon Fraser.

There are two bugs fixed here:

One is that transparencyClipBox doesn't account for the background rendering area of the root element when computing the clip
to push for the opacity group.

The other is that repaintLayerRectsForImage always issued a repaint request to the RenderView if the background image on the root
element changed, which is incorrect if the root element is composited.

The remaining test failure is because we don't apply opacity when we have background-attachment:fixed, and the root element is
composited. Bug 245032 should fix that in the near future.

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-001-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-001-ref.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-001.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-002-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-002.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-003-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-003.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-004-expected.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/compositing/root-element-background-image-transparency-004.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/compositing/support/transform-triangle-left.svg: Added.
* Source/WebCore/rendering/RenderBox.cpp:
(WebCore::RenderBox::repaintLayerRectsForImage):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::transparencyClipBox):
(WebCore::RenderLayer::calculateClipRects const):
* Source/WebCore/rendering/RenderLayer.h:

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




More information about the webkit-changes mailing list