Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 20a50d56ae71b374b35a4a30d8b26b6680c6146d
      
https://github.com/WebKit/WebKit/commit/20a50d56ae71b374b35a4a30d8b26b6680c6146d
  Author: Alex Christensen <[email protected]>
  Date:   2023-03-17 (Fri, 17 Mar 2023)

  Changed paths:
    M Source/WebKit/Shared/API/APIObject.h
    M Source/WebKit/Shared/Cocoa/APIObject.mm
    M Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp
    M Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h
    M Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp
    M Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h
    M Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
    M Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h
    M Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm
    M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
    M Source/WebKit/UIProcess/WebProcessPool.h
    M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
    M 
Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegatePlugIn.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm
    M Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm
    M Tools/TestWebKitAPI/WKWebViewConfigurationExtras.h
    M Tools/TestWebKitAPI/WKWebViewConfigurationExtras.mm

  Log Message:
  -----------
  Form submission metadata should be limited to arrays, dictionaries, strings, 
data, and numbers
https://bugs.webkit.org/show_bug.cgi?id=253753
rdar://106585542

Reviewed by Chris Dumez.

Instead of encoding any object using NSSecureCoding then decoding it and 
returning it to the API client,
restrict the NSObject types to NSString, NSData, NSNumber, NSArray, and 
NSDictionary, which we convert
to API::Object for serialization, then convert back to those types on the other 
side.

Also make FormClient.m_controller and FormClient.m_webView WeakObjCPtr smart 
pointers instead of raw pointers.

Also deprecate _WKProcessPoolConfiguration.customClassesForParameterCoder 
because it doesn't do anything any more.

* Source/WebKit/Shared/API/APIObject.h:
* Source/WebKit/Shared/Cocoa/APIObject.mm:
(API::Object::toNSObject):
(API::Object::fromNSObject):
* Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
* Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h:
* Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCopyCustomClassesForParameterCoder):
(WKContextConfigurationSetCustomClassesForParameterCoder):
* Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h:
* Source/WebKit/UIProcess/API/Cocoa/WKProcessGroup.mm:
(-[WKProcessGroup 
initWithInjectedBundleURL:andCustomClassesForParameterCoder:]):
(toStringVector): Deleted.
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setInputDelegate:]):
* Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration customClassesForParameterCoder]):
(-[_WKProcessPoolConfiguration setCustomClassesForParameterCoder:]):
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitialize):
(WebKit::WebProcessPool::initializeClassesForParameterCoding): Deleted.
(WebKit::WebProcessPool::allowedClassesForParameterCoding const): Deleted.
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::elementDidFocus):
* 
Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegatePlugIn.mm:
(-[BundleFormDelegatePlugInWithUserInfo 
webProcessPlugIn:didCreateBrowserContextController:]):
(-[BundleFormDelegatePlugInWithUserInfo 
_webProcessPlugInBrowserContextController:willSubmitForm:toFrame:fromFrame:withValues:]):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
(TEST):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
(-[InputDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]):
(TEST):
* Tools/TestWebKitAPI/WKWebViewConfigurationExtras.h:
* Tools/TestWebKitAPI/WKWebViewConfigurationExtras.mm:
(+[WKWebViewConfiguration 
_test_configurationWithTestPlugInClassName:configureJSCForTesting:]):
(+[WKWebViewConfiguration 
_test_configurationWithTestPlugInClassName:configureJSCForTesting:andCustomParameterClasses:]):
 Deleted.

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to