Title: [218021] trunk/Source/WebKit2
Revision
218021
Author
[email protected]
Date
2017-06-09 15:09:01 -0700 (Fri, 09 Jun 2017)

Log Message

Crash in -[WKWebView _initializeWithConfiguration:]
https://bugs.webkit.org/show_bug.cgi?id=173126
<rdar://problem/32664993>

Reviewed by Darin Adler.

Follow up to previous fix; when setting NSString properties, store a copy of
the string rather than the NSString itself.

* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _overrideContentSecurityPolicy]):
(-[WKWebViewConfiguration _setOverrideContentSecurityPolicy:]):
(-[WKWebViewConfiguration _setMediaContentTypesRequiringHardwareSupport:]):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (218020 => 218021)


--- trunk/Source/WebKit2/ChangeLog	2017-06-09 21:59:03 UTC (rev 218020)
+++ trunk/Source/WebKit2/ChangeLog	2017-06-09 22:09:01 UTC (rev 218021)
@@ -1,3 +1,20 @@
+2017-06-09  Jer Noble  <[email protected]>
+
+        Crash in -[WKWebView _initializeWithConfiguration:]
+        https://bugs.webkit.org/show_bug.cgi?id=173126
+        <rdar://problem/32664993>
+
+        Reviewed by Darin Adler.
+
+        Follow up to previous fix; when setting NSString properties, store a copy of
+        the string rather than the NSString itself.
+
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        (-[WKWebViewConfiguration copyWithZone:]):
+        (-[WKWebViewConfiguration _overrideContentSecurityPolicy]):
+        (-[WKWebViewConfiguration _setOverrideContentSecurityPolicy:]):
+        (-[WKWebViewConfiguration _setMediaContentTypesRequiringHardwareSupport:]):
+
 2017-06-09  Chris Dumez  <[email protected]>
 
         Use WTF::Function instead of std::function in StorageManager

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm (218020 => 218021)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm	2017-06-09 21:59:03 UTC (rev 218020)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm	2017-06-09 22:09:01 UTC (rev 218021)
@@ -137,7 +137,7 @@
 #endif
     BOOL _needsStorageAccessFromFileURLsQuirk;
 
-    NSString *_overrideContentSecurityPolicy;
+    RetainPtr<NSString> _overrideContentSecurityPolicy;
     RetainPtr<NSString> _mediaContentTypesRequiringHardwareSupport;
 }
 
@@ -331,10 +331,10 @@
     configuration->_applePayEnabled = self->_applePayEnabled;
 #endif
     configuration->_needsStorageAccessFromFileURLsQuirk = self->_needsStorageAccessFromFileURLsQuirk;
-    configuration->_overrideContentSecurityPolicy = self->_overrideContentSecurityPolicy;
+    configuration->_overrideContentSecurityPolicy = adoptNS([self->_overrideContentSecurityPolicy copyWithZone:zone]);
 
     configuration->_urlSchemeHandlers.set(adoptNS([self._urlSchemeHandlers mutableCopyWithZone:zone]));
-    configuration->_mediaContentTypesRequiringHardwareSupport = self._mediaContentTypesRequiringHardwareSupport;
+    configuration->_mediaContentTypesRequiringHardwareSupport = adoptNS([self._mediaContentTypesRequiringHardwareSupport copyWithZone:zone]);
 
     return configuration;
 }
@@ -813,12 +813,12 @@
 
 - (NSString *)_overrideContentSecurityPolicy
 {
-    return _overrideContentSecurityPolicy;
+    return _overrideContentSecurityPolicy.get();
 }
 
 - (void)_setOverrideContentSecurityPolicy:(NSString *)overrideContentSecurityPolicy
 {
-    _overrideContentSecurityPolicy = overrideContentSecurityPolicy;
+    _overrideContentSecurityPolicy = adoptNS([overrideContentSecurityPolicy copy]);
 }
 
 - (NSString *)_mediaContentTypesRequiringHardwareSupport
@@ -828,7 +828,7 @@
 
 - (void)_setMediaContentTypesRequiringHardwareSupport:(NSString *)mediaContentTypesRequiringHardwareSupport
 {
-    _mediaContentTypesRequiringHardwareSupport = mediaContentTypesRequiringHardwareSupport;
+    _mediaContentTypesRequiringHardwareSupport = adoptNS([mediaContentTypesRequiringHardwareSupport copy]);
 }
 
 @end
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to