[webkit-changes] [WebKit/WebKit] 7c33c6: Sever opener link for windows with an openee on ma...

bnham noreply at github.com
Fri Mar 1 12:57:56 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7c33c64d1ef537430380dad36728614f7ce77e6c
      https://github.com/WebKit/WebKit/commit/7c33c64d1ef537430380dad36728614f7ce77e6c
  Author: Ben Nham <nham at apple.com>
  Date:   2024-03-01 (Fri, 01 Mar 2024)

  Changed paths:
    M Source/WebKit/UIProcess/WebProcessPool.cpp
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm

  Log Message:
  -----------
  Sever opener link for windows with an openee on manual navigation
https://bugs.webkit.org/show_bug.cgi?id=270249
rdar://122506395

Reviewed by Chris Dumez.

When a parent window uses window.open to create a child window, and the child window isn't closed,
currently that causes all future navigations in the parent window to remain in the same process.

In the case of a cross-origin manual navigation (e.g. navigation via the address bar), it should be
safe to allow a process swap, as per the discussion here:

https://github.com/whatwg/html/issues/5767#issuecomment-763855860

Note that Safari already almost always already has this behavior even though we don't do this at the
engine level, since most location bar navigations occur in a new WKWebView. The new WKWebView has no
opener link to the openee and loads in a different process. So there shouldn't be any new
compatibility issues with doing this at the engine level as well.

See also 272321 at main, where we did this for the opposite case (allowing a window with an opener to
process swap on a cross-origin manual navigation).

* Source/WebKit/UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

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