Changeset 276514 in webkit
- Timestamp:
- Apr 23, 2021, 12:53:26 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r276510 r276514 1 2021-04-23 BJ Burg <bburg@apple.com> 2 3 Web Inspector: [Cocoa] WKInspectorResourceURLSchemeHandler needs to serialize cleanup actions 4 https://bugs.webkit.org/show_bug.cgi?id=224986 5 <rdar://76768454> 6 7 Reviewed by Devin Rousso. 8 9 * UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm: 10 (-[WKInspectorResourceURLSchemeHandler webView:startURLSchemeTask:]): 11 Do cleanup on the main queue so that it can be serialized with reads. 12 13 (-[WKInspectorResourceURLSchemeHandler webView:stopURLSchemeTask:]): 14 Ensure that all removals from the map are processed before doing a lookup. 15 1 16 2021-04-23 Darin Adler <darin@apple.com> 2 17 -
trunk/Source/WebKit/UIProcess/Inspector/mac/WKInspectorResourceURLSchemeHandler.mm
r276476 r276514 89 89 90 90 NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{ 91 [_fileLoadOperations removeObjectForKey:urlSchemeTask]; 91 dispatch_async(dispatch_get_main_queue(), ^{ 92 [_fileLoadOperations removeObjectForKey:urlSchemeTask]; 93 }); 92 94 93 95 NSURL *requestURL = urlSchemeTask.request.URL; … … 137 139 - (void)webView:(WKWebView *)webView stopURLSchemeTask:(id <WKURLSchemeTask>)urlSchemeTask 138 140 { 139 if (NSOperation *operation = [_fileLoadOperations objectForKey:urlSchemeTask]) { 140 [operation cancel]; 141 [_fileLoadOperations removeObjectForKey:urlSchemeTask]; 142 } 141 // Ensure that all blocks with pending removals are dispatched before doing a map lookup. 142 dispatch_async(dispatch_get_main_queue(), ^{ 143 if (NSOperation *operation = [_fileLoadOperations objectForKey:urlSchemeTask]) { 144 [operation cancel]; 145 [_fileLoadOperations removeObjectForKey:urlSchemeTask]; 146 } 147 }); 143 148 } 144 149
Note:
See TracChangeset
for help on using the changeset viewer.