WebKit Bugzilla
Attachment 346844 Details for
Bug 188443
: REGRESSION (r232083): WKWebView loses first-party cookies on iOS
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188443-20180809104810.patch (text/plain), 9.75 KB, created by
Sihui Liu
on 2018-08-09 10:48:11 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Sihui Liu
Created:
2018-08-09 10:48:11 PDT
Size:
9.75 KB
patch
obsolete
>Subversion Revision: 234635 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index c164931fd8a662cbc5cf3f426fe45406ecc69636..e7f65aa783058010febb8809cfc3de97d932870a 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,28 @@ >+2018-08-09 Sihui Liu <sihui_liu@apple.com> >+ >+ REGRESSION (r232083): WKWebView loses first-party cookies on iOS >+ https://bugs.webkit.org/show_bug.cgi?id=188443 >+ <rdar://problem/42991584> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Revert the change to set sharedCookieStorage for iOS as it is breaking Kayak. >+ >+ * NetworkProcess/NetworkProcess.h: >+ * NetworkProcess/NetworkProcessCreationParameters.cpp: >+ (WebKit::NetworkProcessCreationParameters::encode const): >+ (WebKit::NetworkProcessCreationParameters::decode): >+ * NetworkProcess/NetworkProcessCreationParameters.h: >+ * NetworkProcess/cocoa/NetworkProcessCocoa.mm: >+ (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): >+ * Shared/WebProcessCreationParameters.cpp: >+ (WebKit::WebProcessCreationParameters::encode const): >+ (WebKit::WebProcessCreationParameters::decode): >+ * Shared/WebProcessCreationParameters.h: >+ * UIProcess/Cocoa/WebProcessPoolCocoa.mm: >+ (WebKit::WebProcessPool::platformInitializeWebProcess): >+ (WebKit::WebProcessPool::platformInitializeNetworkProcess): >+ > 2018-08-06 Chris Dumez <cdumez@apple.com> > > Regression(NetworkLoadChecker): CORS preflights are no longer able to deal with client certificate authentication >diff --git a/Source/WebKit/NetworkProcess/NetworkProcess.h b/Source/WebKit/NetworkProcess/NetworkProcess.h >index de81924d8b94c6c1c788ff6e7a2d2b67e5205a81..0c5ea4d352b90ceef119c70ba173fc26e25c3091 100644 >--- a/Source/WebKit/NetworkProcess/NetworkProcess.h >+++ b/Source/WebKit/NetworkProcess/NetworkProcess.h >@@ -250,7 +250,7 @@ private: > void setNetworkProxySettings(const WebCore::SoupNetworkProxySettings&); > #endif > >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > static void setSharedHTTPCookieStorage(const Vector<uint8_t>& identifier); > #endif > >diff --git a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp >index 36f23c929fbebcb931a2487cacf51054a31f769d..b7ab18600717930355670e9c3c407979a766538e 100644 >--- a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp >+++ b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp >@@ -52,7 +52,7 @@ void NetworkProcessCreationParameters::encode(IPC::Encoder& encoder) const > #if ENABLE(NETWORK_CACHE_SPECULATIVE_REVALIDATION) > encoder << shouldEnableNetworkCacheSpeculativeRevalidation; > #endif >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > encoder << uiProcessCookieStorageIdentifier; > #endif > encoder << defaultSessionPendingCookies; >@@ -144,7 +144,7 @@ bool NetworkProcessCreationParameters::decode(IPC::Decoder& decoder, NetworkProc > if (!decoder.decode(result.shouldEnableNetworkCacheSpeculativeRevalidation)) > return false; > #endif >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > if (!decoder.decode(result.uiProcessCookieStorageIdentifier)) > return false; > #endif >diff --git a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h >index da0b19f45040a37e4a3315f70514bb87ca9a196d..0e9129b39500d40005cf89723f65206c1fcc1b72 100644 >--- a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h >+++ b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h >@@ -63,7 +63,7 @@ struct NetworkProcessCreationParameters { > #if ENABLE(NETWORK_CACHE_SPECULATIVE_REVALIDATION) > bool shouldEnableNetworkCacheSpeculativeRevalidation { false }; > #endif >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > Vector<uint8_t> uiProcessCookieStorageIdentifier; > #endif > Vector<WebCore::Cookie> defaultSessionPendingCookies; >diff --git a/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm b/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm >index b693ba2d737fda1207879a1a1957d0da487d086e..bd8dd575b9b5e044e972389bd202dfd5839148cb 100644 >--- a/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm >+++ b/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm >@@ -96,7 +96,7 @@ void NetworkProcess::platformInitializeNetworkProcessCocoa(const NetworkProcessC > > initializeNetworkSettings(); > >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > setSharedHTTPCookieStorage(parameters.uiProcessCookieStorageIdentifier); > #endif > >@@ -192,7 +192,7 @@ void NetworkProcess::clearDiskCache(WallTime modifiedSince, Function<void ()>&& > } > } > >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > void NetworkProcess::setSharedHTTPCookieStorage(const Vector<uint8_t>& identifier) > { > ASSERT(hasProcessPrivilege(ProcessPrivilege::CanAccessRawCookies)); >diff --git a/Source/WebKit/Shared/WebProcessCreationParameters.cpp b/Source/WebKit/Shared/WebProcessCreationParameters.cpp >index f33515bce595c4621301ad9daed44ea61b0152c6..8ac301d90e2c768d3f256c6231732bb40dedad7d 100644 >--- a/Source/WebKit/Shared/WebProcessCreationParameters.cpp >+++ b/Source/WebKit/Shared/WebProcessCreationParameters.cpp >@@ -57,7 +57,7 @@ void WebProcessCreationParameters::encode(IPC::Encoder& encoder) const > encoder << mediaCacheDirectoryExtensionHandle; > encoder << javaScriptConfigurationDirectory; > encoder << javaScriptConfigurationDirectoryExtensionHandle; >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > encoder << uiProcessCookieStorageIdentifier; > #endif > #if PLATFORM(IOS) >@@ -215,7 +215,7 @@ bool WebProcessCreationParameters::decode(IPC::Decoder& decoder, WebProcessCreat > return false; > parameters.javaScriptConfigurationDirectoryExtensionHandle = WTFMove(*javaScriptConfigurationDirectoryExtensionHandle); > >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > if (!decoder.decode(parameters.uiProcessCookieStorageIdentifier)) > return false; > #endif >diff --git a/Source/WebKit/Shared/WebProcessCreationParameters.h b/Source/WebKit/Shared/WebProcessCreationParameters.h >index 6e6e4c661d77fd027e23323b017ab604d547724c..43a061d94a974f4f8e84dd280bb68df37cfe05c1 100644 >--- a/Source/WebKit/Shared/WebProcessCreationParameters.h >+++ b/Source/WebKit/Shared/WebProcessCreationParameters.h >@@ -84,7 +84,7 @@ struct WebProcessCreationParameters { > SandboxExtension::Handle mediaCacheDirectoryExtensionHandle; > String javaScriptConfigurationDirectory; > SandboxExtension::Handle javaScriptConfigurationDirectoryExtensionHandle; >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > Vector<uint8_t> uiProcessCookieStorageIdentifier; > #endif > #if PLATFORM(IOS) >diff --git a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm >index 47cda5fc386db6fdc43e2163e5bee0756f888877..3048b23ef44b83e4ca6068febd5c451dff4f5f42 100644 >--- a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm >+++ b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm >@@ -248,7 +248,7 @@ void WebProcessPool::platformInitializeWebProcess(WebProcessCreationParameters& > } > parameters.networkATSContext = adoptCF(_CFNetworkCopyATSContext()); > >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > ASSERT(parameters.uiProcessCookieStorageIdentifier.isEmpty()); > ASSERT(hasProcessPrivilege(ProcessPrivilege::CanAccessRawCookies)); > parameters.uiProcessCookieStorageIdentifier = identifyingDataFromCookieStorage([[NSHTTPCookieStorage sharedHTTPCookieStorage] _cookieStorage]); >@@ -312,7 +312,7 @@ void WebProcessPool::platformInitializeNetworkProcess(NetworkProcessCreationPara > parameters.shouldSuppressMemoryPressureHandler = [defaults boolForKey:WebKitSuppressMemoryPressureHandlerDefaultsKey]; > parameters.loadThrottleLatency = Seconds { [defaults integerForKey:WebKitNetworkLoadThrottleLatencyMillisecondsDefaultsKey] / 1000. }; > >-#if PLATFORM(COCOA) >+#if PLATFORM(MAC) > ASSERT(parameters.uiProcessCookieStorageIdentifier.isEmpty()); > ASSERT(hasProcessPrivilege(ProcessPrivilege::CanAccessRawCookies)); > parameters.uiProcessCookieStorageIdentifier = identifyingDataFromCookieStorage([[NSHTTPCookieStorage sharedHTTPCookieStorage] _cookieStorage]); >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 2e6ffe1072a052e26eb56a508ecf212e5b14c8ba..46822bd0ade458a6c4d2d1a4df63e6945534309d 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,15 @@ >+2018-08-09 Sihui Liu <sihui_liu@apple.com> >+ >+ REGRESSION (r232083): WKWebView loses first-party cookies on iOS >+ https://bugs.webkit.org/show_bug.cgi?id=188443 >+ <rdar://problem/42991584> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Skip WebKit.WKHTTPCookieStoreWithoutProcessPool on iOS. >+ >+ * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm: >+ > 2018-08-06 David Quesada <david_quesada@apple.com> > > webkitdirs.pm should default to iPhone SE for 64-bit testing >diff --git a/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm b/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm >index 8e19ed323b711dd2ca3482c42019ff2eccc32513..77b32e5622273b0f16834364e5fb2964062a4b67 100644 >--- a/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm >+++ b/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm >@@ -476,6 +476,8 @@ - (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSStrin > } > @end > >+// FIXME: on iOS, UI process should be using the same cookie file as the network process for default session. >+#if (PLATFORM(MAC) > TEST(WebKit, WKHTTPCookieStoreWithoutProcessPool) > { > RetainPtr<NSHTTPCookie> sessionCookie = [NSHTTPCookie cookieWithProperties:@{ >@@ -567,4 +569,5 @@ TEST(WebKit, WKHTTPCookieStoreWithoutProcessPool) > [webView loadHTMLString:alertCookieHTML baseURL:[NSURL URLWithString:@"http://127.0.0.1"]]; > TestWebKitAPI::Util::run(&finished); > } >+#endif // (PLATFORM(MAC) > #endif
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 188443
:
346844
|
346845