Title: [260134] trunk
- Revision
- 260134
- Author
- bfulg...@apple.com
- Date
- 2020-04-15 09:35:14 -0700 (Wed, 15 Apr 2020)
Log Message
[Cocoa] Remove generic parameter serialization fallback
https://bugs.webkit.org/show_bug.cgi?id=210509
<rdar://problem/55522650>
Reviewed by Geoffrey Garen.
Source/WebKit:
Tested by BundleFormDelegate parameter serialization tests...
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setInputDelegate:]):
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::elementDidFocus):
Tools:
* TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm:
(WKWebProcessPlugInWithoutRegisteredCustomClass): Update to reflect
fact that we block serialization of unregistered classes.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (260133 => 260134)
--- trunk/Source/WebKit/ChangeLog 2020-04-15 16:18:49 UTC (rev 260133)
+++ trunk/Source/WebKit/ChangeLog 2020-04-15 16:35:14 UTC (rev 260134)
@@ -1,3 +1,18 @@
+2020-04-15 Brent Fulgham <bfulg...@apple.com>
+
+ [Cocoa] Remove generic parameter serialization fallback
+ https://bugs.webkit.org/show_bug.cgi?id=210509
+ <rdar://problem/55522650>
+
+ Reviewed by Geoffrey Garen.
+
+ Tested by BundleFormDelegate parameter serialization tests...
+
+ * UIProcess/API/Cocoa/WKWebView.mm:
+ (-[WKWebView _setInputDelegate:]):
+ * UIProcess/ios/PageClientImplIOS.mm:
+ (WebKit::PageClientImpl::elementDidFocus):
+
2020-04-15 Chris Dumez <cdu...@apple.com>
REGRESSION (r259610): WebGL does not work at all on iOS (was: Google Maps tiles turn black after initial load)
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (260133 => 260134)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2020-04-15 16:18:49 UTC (rev 260133)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2020-04-15 16:35:14 UTC (rev 260134)
@@ -2783,10 +2783,8 @@
auto unarchiver = adoptNS([[NSKeyedUnarchiver alloc] initForReadingFromData:nsData.get() error:nullptr]);
unarchiver.get().decodingFailurePolicy = NSDecodingFailurePolicyRaiseException;
@try {
- if (auto* allowedClasses = m_webView->_page->process().processPool().allowedClassesForParameterCoding())
- userObject = [unarchiver decodeObjectOfClasses:allowedClasses forKey:@"userObject"];
- else
- userObject = [unarchiver decodeObjectOfClass:[NSObject class] forKey:@"userObject"];
+ auto* allowedClasses = m_webView->_page->process().processPool().allowedClassesForParameterCoding();
+ userObject = [unarchiver decodeObjectOfClasses:allowedClasses forKey:@"userObject"];
} @catch (NSException *exception) {
LOG_ERROR("Failed to decode user data: %@", exception);
}
Modified: trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm (260133 => 260134)
--- trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm 2020-04-15 16:18:49 UTC (rev 260133)
+++ trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm 2020-04-15 16:35:14 UTC (rev 260134)
@@ -608,10 +608,8 @@
auto unarchiver = adoptNS([[NSKeyedUnarchiver alloc] initForReadingFromData:nsData.get() error:nullptr]);
unarchiver.get().decodingFailurePolicy = NSDecodingFailurePolicyRaiseException;
@try {
- if (auto* allowedClasses = m_webView.get()->_page->process().processPool().allowedClassesForParameterCoding())
- userObject = [unarchiver decodeObjectOfClasses:allowedClasses forKey:@"userObject"];
- else
- userObject = [unarchiver decodeObjectOfClass:[NSObject class] forKey:@"userObject"];
+ auto* allowedClasses = m_webView.get()->_page->process().processPool().allowedClassesForParameterCoding();
+ userObject = [unarchiver decodeObjectOfClasses:allowedClasses forKey:@"userObject"];
} @catch (NSException *exception) {
LOG_ERROR("Failed to decode user data: %@", exception);
}
Modified: trunk/Tools/ChangeLog (260133 => 260134)
--- trunk/Tools/ChangeLog 2020-04-15 16:18:49 UTC (rev 260133)
+++ trunk/Tools/ChangeLog 2020-04-15 16:35:14 UTC (rev 260134)
@@ -1,3 +1,15 @@
+2020-04-15 Brent Fulgham <bfulg...@apple.com>
+
+ [Cocoa] Remove generic parameter serialization fallback
+ https://bugs.webkit.org/show_bug.cgi?id=210509
+ <rdar://problem/55522650>
+
+ Reviewed by Geoffrey Garen.
+
+ * TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm:
+ (WKWebProcessPlugInWithoutRegisteredCustomClass): Update to reflect
+ fact that we block serialization of unregistered classes.
+
2020-04-15 Carlos Garcia Campos <cgar...@igalia.com>
[GTK4] Fix use of gtk init functions
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm (260133 => 260134)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm 2020-04-15 16:18:49 UTC (rev 260133)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/BundleFormDelegate.mm 2020-04-15 16:35:14 UTC (rev 260134)
@@ -98,9 +98,9 @@
TestWebKitAPI::Util::run(&didGetFocus);
TestWebKitAPI::Util::run(&didGetUserObject);
- // We should have serialized the NSUnitConverterLinear, since we did not indicate we wanted
- // to limit serialization.
- EXPECT_TRUE([delegate->_userObject isKindOfClass:[NSUnitConverterLinear class]]);
+ // We should not have serialized the NSUnitConverterLinear, since we did not specify it as a valid
+ // class for our plugin.
+ EXPECT_NULL(delegate->_userObject);
}
TEST(WebKit, WKWebProcessPlugInWithRegisteredCustomClass)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes