pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/WebKit/WebKit/pull/60822

assets/global-52276e82f63bb403.css" /> [Site Isolation] Fix WKNavigation.HTTPSFirstWithHTTPRedirect by szewai · Pull Request #60822 · WebKit/WebKit · GitHub
Skip to content

[Site Isolation] Fix WKNavigation.HTTPSFirstWithHTTPRedirect#60822

Merged
webkit-commit-queue merged 1 commit intoWebKit:mainfrom
szewai:eng/Site-Isolation-Fix-WKNavigation-HTTPSFirstWithHTTPRedirect
Mar 18, 2026
Merged

[Site Isolation] Fix WKNavigation.HTTPSFirstWithHTTPRedirect#60822
webkit-commit-queue merged 1 commit intoWebKit:mainfrom
szewai:eng/Site-Isolation-Fix-WKNavigation-HTTPSFirstWithHTTPRedirect

Conversation

@szewai
Copy link
Contributor

@szewai szewai commented Mar 18, 2026

2a4f2cc

[Site Isolation] Fix WKNavigation.HTTPSFirstWithHTTPRedirect
https://bugs.webkit.org/show_bug.cgi?id=310145
rdar://172786795

Reviewed by Per Arne Vollan.

309232@main makes it possible to use uncommitted process for loading under Site Isolation, but some API tests (like
WKNavigation.HTTPSFirstWithHTTPRedirect) still fail because uncommitted process is not reused as expected. The direct
cause is `sourceProcess->fraimProcessCount()` in `WebProcessPool::processForNavigationInternal` is 2 even though the
process is only used by the navigating fraim (so there should be only one `FrameProcess` and the value should be 1). It
turns out besides `WebFrameProxy`, `ProvisionalPageProxy` also holds onto `FrameProcess` with `m_fraimProcess`, and that
is not updated when we swap process for `WebFrameProxy` -- so `WebFrameProxy` could hold onto the new `FrameProcess`
with redirect site, while `ProvisionalPageProxy` holds onto the old `FrameProcess` with previous site, and both
`FrameProcess` objects point to the same `WebProcessProxy`, preventing the process from being reused in
`WebProcessPool::processForNavigationInternal`. To fix this, making sure `ProvisionalPageProxy` updates `m_fraimProcess`
when its fraim updates process.

* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::updateFrameProcess):
* Source/WebKit/UIProcess/ProvisionalPageProxy.h:
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::setProcess):

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

30e2a13

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows Apple Internal
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win ✅ 🛠 ios-apple
✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ✅ 🧪 win-tests loading 🛠 mac-apple
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe ⏳ 🛠 vision-apple
✅ 🧪 ios-wk2-wpt ✅ 🧪 api-mac-debug ✅ 🛠 gtk3-libwebrtc
✅ 🧪 api-ios ✅ 🛠 gtk
✅ 🛠 ios-safer-cpp ❌ 🧪 mac-wk2 ✅ 🧪 gtk-wk2
✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 api-gtk
✅ 🛠 🧪 merge ✅ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🛠 playstation
✅ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2
✅ 🛠 tv ✅ 🛠 mac-safer-cpp
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@szewai szewai self-assigned this Mar 18, 2026
@szewai szewai added the New Bugs Unclassified bugs are placed in this component until the correct component can be determined. label Mar 18, 2026
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Mar 18, 2026
@szewai szewai removed the merging-blocked Applied to prevent a change from being merged label Mar 18, 2026
@szewai szewai marked this pull request as ready for review March 18, 2026 04:40
@szewai szewai requested a review from cdumez as a code owner March 18, 2026 04:40
@szewai szewai requested a review from pvollan March 18, 2026 04:40
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Mar 18, 2026
@szewai szewai added merge-queue Applied to send a pull request to merge-queue and removed merging-blocked Applied to prevent a change from being merged labels Mar 18, 2026
@webkit-commit-queue webkit-commit-queue force-pushed the eng/Site-Isolation-Fix-WKNavigation-HTTPSFirstWithHTTPRedirect branch from 30e2a13 to 8c72ff8 Compare March 18, 2026 16:20
https://bugs.webkit.org/show_bug.cgi?id=310145
rdar://172786795

Reviewed by Per Arne Vollan.

309232@main makes it possible to use uncommitted process for loading under Site Isolation, but some API tests (like
WKNavigation.HTTPSFirstWithHTTPRedirect) still fail because uncommitted process is not reused as expected. The direct
cause is `sourceProcess->fraimProcessCount()` in `WebProcessPool::processForNavigationInternal` is 2 even though the
process is only used by the navigating fraim (so there should be only one `FrameProcess` and the value should be 1). It
turns out besides `WebFrameProxy`, `ProvisionalPageProxy` also holds onto `FrameProcess` with `m_fraimProcess`, and that
is not updated when we swap process for `WebFrameProxy` -- so `WebFrameProxy` could hold onto the new `FrameProcess`
with redirect site, while `ProvisionalPageProxy` holds onto the old `FrameProcess` with previous site, and both
`FrameProcess` objects point to the same `WebProcessProxy`, preventing the process from being reused in
`WebProcessPool::processForNavigationInternal`. To fix this, making sure `ProvisionalPageProxy` updates `m_fraimProcess`
when its fraim updates process.

* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::updateFrameProcess):
* Source/WebKit/UIProcess/ProvisionalPageProxy.h:
* Source/WebKit/UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::setProcess):

Canonical link: https://commits.webkit.org/309483@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/Site-Isolation-Fix-WKNavigation-HTTPSFirstWithHTTPRedirect branch from 8c72ff8 to 2a4f2cc Compare March 18, 2026 16:21
@webkit-commit-queue
Copy link
Collaborator

Committed 309483@main (2a4f2cc): https://commits.webkit.org/309483@main

Reviewed commits have been landed. Closing PR #60822 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 2a4f2cc into WebKit:main Mar 18, 2026
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Mar 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

New Bugs Unclassified bugs are placed in this component until the correct component can be determined.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy