Title: [228181] branches/safari-605-branch
- Revision
- 228181
- Author
- [email protected]
- Date
- 2018-02-06 10:43:55 -0800 (Tue, 06 Feb 2018)
Log Message
Cherry-pick r228150. rdar://problem/37264467
Modified Paths
Diff
Modified: branches/safari-605-branch/LayoutTests/ChangeLog (228180 => 228181)
--- branches/safari-605-branch/LayoutTests/ChangeLog 2018-02-06 18:43:50 UTC (rev 228180)
+++ branches/safari-605-branch/LayoutTests/ChangeLog 2018-02-06 18:43:55 UTC (rev 228181)
@@ -1,5 +1,19 @@
2018-02-06 Jason Marcell <[email protected]>
+ Cherry-pick r228150. rdar://problem/37264467
+
+ 2018-02-05 Youenn Fablet <[email protected]>
+
+ Crash in imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html
+ https://bugs.webkit.org/show_bug.cgi?id=182422
+ <rdar://problem/37182665>
+
+ Reviewed by Alex Christensen.
+
+ * platform/mac/TestExpectations:
+
+2018-02-06 Jason Marcell <[email protected]>
+
Cherry-pick r228147. rdar://problem/37264529
2018-02-05 Myles C. Maxfield <[email protected]>
Modified: branches/safari-605-branch/LayoutTests/platform/mac/TestExpectations (228180 => 228181)
--- branches/safari-605-branch/LayoutTests/platform/mac/TestExpectations 2018-02-06 18:43:50 UTC (rev 228180)
+++ branches/safari-605-branch/LayoutTests/platform/mac/TestExpectations 2018-02-06 18:43:55 UTC (rev 228181)
@@ -1767,3 +1767,4 @@
fast/css/read-only-read-write-input-basics.html [ Skip ]
fast/forms/color/input-appearance-color.html [ Skip ]
inspector/canvas/requestContent-webgl2.html [ Skip ]
+webkit.org/b/182422 imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html [ Pass Failure ]
Modified: branches/safari-605-branch/Source/WebCore/ChangeLog (228180 => 228181)
--- branches/safari-605-branch/Source/WebCore/ChangeLog 2018-02-06 18:43:50 UTC (rev 228180)
+++ branches/safari-605-branch/Source/WebCore/ChangeLog 2018-02-06 18:43:55 UTC (rev 228181)
@@ -1,5 +1,23 @@
2018-02-06 Jason Marcell <[email protected]>
+ Cherry-pick r228150. rdar://problem/37264467
+
+ 2018-02-05 Youenn Fablet <[email protected]>
+
+ Crash in imported/w3c/web-platform-tests/2dcontext/imagebitmap/createImageBitmap-origin.sub.html
+ https://bugs.webkit.org/show_bug.cgi?id=182422
+ <rdar://problem/37182665>
+
+ Reviewed by Alex Christensen.
+
+ Covered by test no longer crashing in Debug mode.
+ Make sure completionHandler is called on the main thread.
+
+ * platform/network/cocoa/WebCoreNSURLSession.mm:
+ (-[WebCoreNSURLSessionDataTask resource:receivedRedirect:request:completionHandler:]):
+
+2018-02-06 Jason Marcell <[email protected]>
+
Cherry-pick r228151. rdar://problem/37264535
2018-02-05 Ryosuke Niwa <[email protected]>
Modified: branches/safari-605-branch/Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm (228180 => 228181)
--- branches/safari-605-branch/Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm 2018-02-06 18:43:50 UTC (rev 228180)
+++ branches/safari-605-branch/Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm 2018-02-06 18:43:55 UTC (rev 228181)
@@ -389,7 +389,10 @@
void WebCoreNSURLSessionDataTaskClient::redirectReceived(PlatformMediaResource& resource, ResourceRequest&& request, const ResourceResponse& response, CompletionHandler<void(ResourceRequest&&)>&& completionHandler)
{
- [m_task resource:resource receivedRedirect:response request:WTFMove(request) completionHandler:WTFMove(completionHandler)];
+ [m_task resource:resource receivedRedirect:response request:WTFMove(request) completionHandler: [completionHandler = WTFMove(completionHandler)] (auto&& request) {
+ ASSERT(isMainThread());
+ completionHandler(WTFMove(request));
+ }];
}
void WebCoreNSURLSessionDataTaskClient::accessControlCheckFailed(PlatformMediaResource& resource, const ResourceError& error)
@@ -618,20 +621,32 @@
- (void)resource:(PlatformMediaResource&)resource receivedRedirect:(const ResourceResponse&)response request:(ResourceRequest&&)request completionHandler:(CompletionHandler<void(ResourceRequest&&)>&&)completionHandler
{
ASSERT_UNUSED(resource, &resource == _resource);
- [self.session addDelegateOperation:[strongSelf = retainPtr(self), response = retainPtr(response.nsURLResponse()), request = WTFMove(request), completionHandler = WTFMove(completionHandler)] () mutable {
+ [self.session addDelegateOperation:[strongSelf = retainPtr(self), response = retainPtr(response.nsURLResponse()), request = request.isolatedCopy(), completionHandler = WTFMove(completionHandler)] () mutable {
if (![response isKindOfClass:[NSHTTPURLResponse class]]) {
ASSERT_NOT_REACHED();
- return completionHandler(WTFMove(request));
+ callOnMainThread([request = WTFMove(request), completionHandler = WTFMove(completionHandler)] () mutable {
+ completionHandler(WTFMove(request));
+ });
+ return;
}
id<NSURLSessionDataDelegate> dataDelegate = (id<NSURLSessionDataDelegate>)strongSelf.get().session.delegate;
if ([dataDelegate respondsToSelector:@selector(URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:)]) {
auto completionHandlerBlock = BlockPtr<void(NSURLRequest *)>::fromCallable([completionHandler = WTFMove(completionHandler)](NSURLRequest *newRequest) mutable {
+ if (!isMainThread()) {
+ callOnMainThread([request = ResourceRequest { newRequest }, completionHandler = WTFMove(completionHandler)] () mutable {
+ completionHandler(WTFMove(request));
+ });
+ return;
+ }
completionHandler(newRequest);
});
[dataDelegate URLSession:(NSURLSession *)strongSelf.get().session task:(NSURLSessionTask *)strongSelf.get() willPerformHTTPRedirection:(NSHTTPURLResponse *)response.get() newRequest:request.nsURLRequest(DoNotUpdateHTTPBody) completionHandler:completionHandlerBlock.get()];
- } else
- completionHandler(WTFMove(request));
+ } else {
+ callOnMainThread([request = WTFMove(request), completionHandler = WTFMove(completionHandler)] () mutable {
+ completionHandler(WTFMove(request));
+ });
+ }
}];
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes