[webkit-changes] [WebKit/WebKit] 190465: [Site Isolation] WKWebView.themeColor should only ...

Alex Christensen noreply at github.com
Thu Sep 5 11:53:56 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 19046570f6e5ccdaf840e4d682749a3d258dc38e
      https://github.com/WebKit/WebKit/commit/19046570f6e5ccdaf840e4d682749a3d258dc38e
  Author: Alex Christensen <achristensen at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
    M Source/WebKit/UIProcess/WebPageProxy.messages.in
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm

  Log Message:
  -----------
  [Site Isolation] WKWebView.themeColor should only be affected by transactions from the main frame
https://bugs.webkit.org/show_bug.cgi?id=279139
rdar://134886461

Reviewed by Simon Fraser.

Safari uses WKWebView.themeColor to update background color of UI, which currently flickers
when site isolation is on because we are getting transactions from cross-site iframes and
updating WKWebView.themeColor.  This fixes the flicker.  It should be cleaned up better by
rdar://134885033

I also noticed that WebPageProxy::themeColorChanged is only called directly via IPC on macOS,
where we use TiledCoreAnimationDrawingArea so I removed the IPC from other platforms.
When we stop using TiledCoreAnimationDrawingArea we can remove it completely.

* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::didCommitLayerTree):
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(-[TestObserver observeValueForKeyPath:ofObject:change:context:]):
(TestWebKitAPI::TEST(SiteIsolation, ThemeColor)):

Canonical link: https://commits.webkit.org/283227@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