WebKit Bugzilla
Attachment 346429 Details for
Bug 188283
: Regression(r234486): assertion hit in ~CallbackAggregator()
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188283-20180802163716.patch (text/plain), 2.89 KB, created by
Chris Dumez
on 2018-08-02 16:37:16 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Chris Dumez
Created:
2018-08-02 16:37:16 PDT
Size:
2.89 KB
patch
obsolete
>Subversion Revision: 234520 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 98efbe6bf44196979010d0bda0adf96f027fe3b5..bc048abbfc186cbeeab2d9f6f5a266b58176a7ee 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,19 @@ >+2018-08-02 Chris Dumez <cdumez@apple.com> >+ >+ Regression(r234486): assertion hit in ~CallbackAggregator() >+ https://bugs.webkit.org/show_bug.cgi?id=188283 >+ <rdar://problem/42851342> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ [NSHTTPCookieStorage _saveCookies:] SPI may call its completion block on the background queue >+ so we need to make sure we dispatch back to the main thread before calling our completion >+ handler. >+ >+ * NetworkProcess/cocoa/NetworkProcessCocoa.mm: >+ (WebKit::saveCookies): >+ (WebKit::NetworkProcess::platformSyncAllCookies): >+ > 2018-08-02 Alex Christensen <achristensen@webkit.org> > > Fix some builds after r234516 >diff --git a/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm b/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm >index 76bae116687302bd6a169ebc1eab46bbf6652018..b693ba2d737fda1207879a1a1957d0da487d086e 100644 >--- a/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm >+++ b/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm >@@ -212,6 +212,19 @@ void NetworkProcess::syncAllCookies() > }); > } > >+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000) >+static void saveCookies(NSHTTPCookieStorage *cookieStorage, CompletionHandler<void()>&& completionHandler) >+{ >+ ASSERT(RunLoop::isMain()); >+ [cookieStorage _saveCookies:BlockPtr<void()>::fromCallable([completionHandler = WTFMove(completionHandler)]() mutable { >+ // CFNetwork may call the completion block on a background queue, so we need to redispatch to the main thread. >+ RunLoop::main().dispatch([completionHandler = WTFMove(completionHandler)]() mutable { >+ completionHandler(); >+ }); >+ }).get()]; >+} >+#endif >+ > void NetworkProcess::platformSyncAllCookies(CompletionHandler<void()>&& completionHander) { > ASSERT(hasProcessPrivilege(ProcessPrivilege::CanAccessRawCookies)); > #pragma clang diagnostic push >@@ -220,7 +233,7 @@ void NetworkProcess::platformSyncAllCookies(CompletionHandler<void()>&& completi > #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000) > RefPtr<CallbackAggregator> callbackAggregator = CallbackAggregator::create(WTFMove(completionHander)); > WebCore::NetworkStorageSession::forEach([&] (auto& networkStorageSession) { >- [networkStorageSession.nsCookieStorage() _saveCookies:[callbackAggregator] { }]; >+ saveCookies(networkStorageSession.nsCookieStorage(), [callbackAggregator] { }); > }); > #else > _CFHTTPCookieStorageFlushCookieStores();
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188283
: 346429