Changeset 167573 in webkit
- Timestamp:
- Apr 20, 2014, 1:54:17 PM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r167572 r167573 1 2014-04-20 Dan Bernstein <mitz@apple.com> 2 3 [Cocoa] Crash when setting a bundle parameter to nil 4 https://bugs.webkit.org/show_bug.cgi?id=131917 5 6 Reviewed by Sam Weinig. 7 8 * UIProcess/API/Cocoa/WKProcessPool.mm: 9 (-[WKProcessPool _setObject:forBundleParameter:]): If the object is nil, use 10 -[NSMutableDictionary removeObjectForKey:] rather than -setObject:forKey:. 11 12 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm: 13 (-[WKWebProcessBundleParameters setParameter:forKey:]): Ditto. 14 15 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 16 (WebKit::InjectedBundle::setBundleParameter): Unrelatedly, create m_bundleParameters if 17 needed, as it may have not been created on intialization if no bundle parameters were set 18 at the time. 19 1 20 2014-04-20 Dan Bernstein <mitz@apple.com> 2 21 -
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessPool.mm
r166959 r167573 183 183 } 184 184 185 [_context->ensureBundleParameters() setObject:copy.get() forKey:parameter]; 185 if (copy) 186 [_context->ensureBundleParameters() setObject:copy.get() forKey:parameter]; 187 else 188 [_context->ensureBundleParameters() removeObjectForKey:parameter]; 189 186 190 _context->sendToAllProcesses(Messages::WebProcess::SetInjectedBundleParameter(parameter, IPC::DataReference(static_cast<const uint8_t*>([data bytes]), [data length]))); 187 191 } -
trunk/Source/WebKit2/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm
r165789 r167573 53 53 { 54 54 [self willChangeValueForKey:key]; 55 [_parameters setValue:parameter forKey:key]; 55 if (parameter) 56 [_parameters setValue:parameter forKey:key]; 57 else 58 [_parameters removeObjectForKey:key]; 56 59 [self didChangeValueForKey:key]; 57 60 } -
trunk/Source/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.mm
r166961 r167573 153 153 } 154 154 155 if (!m_bundleParameters && parameter) 156 m_bundleParameters = adoptNS([[WKWebProcessBundleParameters alloc] initWithDictionary:[NSDictionary dictionary]]); 157 155 158 [m_bundleParameters setParameter:parameter forKey:key]; 156 159 #endif
Note:
See TracChangeset
for help on using the changeset viewer.