Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4112a1e17fe67a4f8091c6f2a5a13d9619ac83f7
      
https://github.com/WebKit/WebKit/commit/4112a1e17fe67a4f8091c6f2a5a13d9619ac83f7
  Author: Alex Christensen <achristen...@apple.com>
  Date:   2024-05-20 (Mon, 20 May 2024)

  Changed paths:
    M Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h
    M Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm
    M Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm
    M Source/WebKit/UIProcess/ios/WKContentView.h
    M Source/WebKit/UIProcess/ios/WKContentView.mm

  Log Message:
  -----------
  Re-add access to WKBrowsingContextController on iOS with linked-on-or-after 
check
https://bugs.webkit.org/show_bug.cgi?id=274417
rdar://128283322

Reviewed by Brady Eidson.

WKBrowsingContextController is SPI that does not exist in public headers, but at
least one app is doing some tricky ObjC runtime things to access and use it.  
This
PR puts it back but with a linked-on-or-after check removing access so when the 
app
updates it will no longer be able to access the SPI.

The original motivation for disconnecting WKBrowsingContextController was to 
remove
use of ObjCObjectGraph, which was used to communicate with the injected bundle 
in
some early prototypes of multi-process WebKit.  I verified ObjCObjectGraph was 
not
used, which makes sense because there is no injected bundle to communicate with.
To make this re-adding of WKBrowsingContextController access not hold up the 
removal
of ObjCObjectGraph, I also removed the use of ObjCObjectGraph in 
WKBrowsingContextController.

* Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:
* Source/WebKit/UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadRequest:userData:]):
(-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]):
(-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
(-[WKBrowsingContextController 
loadData:MIMEType:textEncodingName:baseURL:userData:]):
* Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView browsingContextController]):
* Source/WebKit/UIProcess/ios/WKContentView.h:
* Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView browsingContextController]):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to