Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2f7ecba5d7113e68bf06706a7cbf3a3845d35f66
https://github.com/WebKit/WebKit/commit/2f7ecba5d7113e68bf06706a7cbf3a3845d35f66
Author: Sihui Liu <[email protected]>
Date: 2026-09-11 (Fri, 11 Sep 2026)
Changed paths:
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm
Log Message:
-----------
[Site Isolation] TestWebKitAPI.SiteIsolation.Events can fail due to missing
resize event
https://bugs.webkit.org/show_bug.cgi?id=323937
rdar://187177007
Reviewed by Per Arne Vollan.
When enabling SiteIsolationSharedProcessEnabled, SiteIsolation.Events fails
because the webkit.org iframe reports (load,
pageshow, pageswap) and the resize event does not show up. The test resizes the
iframe from the main frame and then
immediately navigates the iframe. The navigation is sent from the UI process
straight to the iframe process, while the
new iframe size has to wait for a rendering update in the main frame process
before it is sent. Also, the resize event
is not fired immediately when the iframe process receives the size change -- it
needs to wait for one rendering update
in the iframe process too. So the iframe navigation is completed before the
iframe process fires the event, and the
document that was going to fire it is already gone by then, so the event is
never fired.
The issue is more obvious in shared process mode because the cross-site iframe
reuses the same shared process for
navigation, so it's more likely the navigation commits sooner (since no new
process needs to be launched). To make the
test more reliable, ensure the test navigates iframe after receiving resize
event. A regression that actually stops the
size change from propagating still fails the test, by timing out while waiting
for the event.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation.mm:
(TestWebKitAPI::(SiteIsolation, Events)):
Canonical link: https://commits.webkit.org/320939@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications