[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