Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8f00ba97a1c6d23265daa9791e1fd999315bdbe4
      
https://github.com/WebKit/WebKit/commit/8f00ba97a1c6d23265daa9791e1fd999315bdbe4
  Author: Kiet Ho <[email protected]>
  Date:   2026-05-15 (Fri, 15 May 2026)

  Changed paths:
    M LayoutTests/http/tests/css/filters-on-iframes-transform.html
    M LayoutTests/http/tests/css/filters-on-iframes.html
    M LayoutTests/http/tests/css/resources/references-external-green.html
    M LayoutTests/http/tests/css/resources/references-external-red.html
    M LayoutTests/platform/ios-site-isolation/TestExpectations
    M LayoutTests/platform/mac-site-isolation/TestExpectations
    M Source/WebCore/rendering/RenderWidget.cpp

  Log Message:
  -----------
  [Site Isolation] http/tests/css/filters-on-iframes.html is failing
rdar://176928419
https://bugs.webkit.org/show_bug.cgi?id=314686

Reviewed by Simon Fraser.

Two things in this patch:

1. RenderWidget::paintContents has a check to not paint anything if the widget 
is
cross-origin and has a security-sensitive filter applied to it. The cross-origin
check takes the security origin of the iframe from its Document object, which is
not available in Site Isolation mode if the iframe is cross-site. Rewrite the
check to use Frame::frameSecuritySecurityOrigin, which should be available
when Site Isolation is enabled.

This is not _really_ needed, as the above codepath is only used when the widget
is not composited. When Site Isolation is enabled, cross-site (and therefore
cross-origin) iframes are composited, so it'd never hit the check. But fix it
anyway to make stuff SI-safe.

2. The two tests for this check are loaded from 127.0.0.1:8000, and loads the
cross-origin iframe from localhost:8000. The sites are different, so the iframe
is loaded in a different process and it'd not hit the check. This patch changes
the cross-origin iframe to be loaded from 127.0.0.1:8080 instead. 127.0.0.1:8000
and 127.0.0.1:8080 are same-site, so Site Isolation will load them in the same
process, but they're cross-origin as the ports are different.

* LayoutTests/http/tests/css/filters-on-iframes-transform.html:
* LayoutTests/http/tests/css/filters-on-iframes.html:
* LayoutTests/http/tests/css/resources/references-external-green.html:
* LayoutTests/http/tests/css/resources/references-external-red.html:
* LayoutTests/platform/ios-site-isolation/TestExpectations:
* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Source/WebCore/rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paintContents):

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



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

Reply via email to