Diff
Modified: trunk/Source/WebKit/ChangeLog (252363 => 252364)
--- trunk/Source/WebKit/ChangeLog 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/ChangeLog 2019-11-12 15:27:26 UTC (rev 252364)
@@ -1,3 +1,29 @@
+2019-11-12 Alex Christensen <[email protected]>
+
+ Revert part of r251676
+ https://bugs.webkit.org/show_bug.cgi?id=203066
+ <rdar://problem/57008444>
+
+ * NetworkProcess/NetworkProcess.h:
+ (WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const):
+ * NetworkProcess/NetworkProcessCreationParameters.cpp:
+ (WebKit::NetworkProcessCreationParameters::encode const):
+ (WebKit::NetworkProcessCreationParameters::decode):
+ * NetworkProcess/NetworkProcessCreationParameters.h:
+ * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
+ (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
+ * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+ (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
+ * UIProcess/API/APIProcessPoolConfiguration.cpp:
+ (API::ProcessPoolConfiguration::copy):
+ * UIProcess/API/APIProcessPoolConfiguration.h:
+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+ (-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]):
+ (-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]):
+ * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+ (WebKit::WebProcessPool::platformInitializeNetworkProcess):
+
2019-11-12 Carlos Alberto Lopez Perez <[email protected]>
[GTK][WPE] Enable CSS Painting API
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (252363 => 252364)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2019-11-12 15:27:26 UTC (rev 252364)
@@ -185,6 +185,7 @@
void logDiagnosticMessageWithValue(WebPageProxyIdentifier, const String& message, const String& description, double value, unsigned significantFigures, WebCore::ShouldSample);
#if PLATFORM(COCOA)
+ bool suppressesConnectionTerminationOnSystemChange() const { return m_suppressesConnectionTerminationOnSystemChange; }
RetainPtr<CFDataRef> sourceApplicationAuditData() const;
#endif
#if PLATFORM(COCOA) || USE(SOUP)
@@ -494,6 +495,7 @@
// multiple requests to clear the cache can come in before previous requests complete, and we need to wait for all of them.
// In the future using WorkQueue and a counting semaphore would work, as would WorkQueue supporting the libdispatch concept of "work groups".
dispatch_group_t m_clearCacheDispatchGroup { nullptr };
+ bool m_suppressesConnectionTerminationOnSystemChange { false };
#endif
#if ENABLE(CONTENT_EXTENSIONS)
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp (252363 => 252364)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp 2019-11-12 15:27:26 UTC (rev 252364)
@@ -55,6 +55,7 @@
encoder << uiProcessSDKVersion;
IPC::encode(encoder, networkATSContext.get());
encoder << storageAccessAPIEnabled;
+ encoder << suppressesConnectionTerminationOnSystemChange;
#endif
encoder << defaultDataStoreParameters;
#if USE(SOUP)
@@ -120,6 +121,8 @@
return false;
if (!decoder.decode(result.storageAccessAPIEnabled))
return false;
+ if (!decoder.decode(result.suppressesConnectionTerminationOnSystemChange))
+ return false;
#endif
Optional<WebsiteDataStoreParameters> defaultDataStoreParameters;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h (252363 => 252364)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h 2019-11-12 15:27:26 UTC (rev 252364)
@@ -70,6 +70,7 @@
uint32_t uiProcessSDKVersion { 0 };
RetainPtr<CFDataRef> networkATSContext;
bool storageAccessAPIEnabled;
+ bool suppressesConnectionTerminationOnSystemChange;
#endif
WebsiteDataStoreParameters defaultDataStoreParameters;
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm (252363 => 252364)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm 2019-11-12 15:27:26 UTC (rev 252364)
@@ -102,6 +102,7 @@
#endif
WebCore::NetworkStorageSession::setStorageAccessAPIEnabled(parameters.storageAccessAPIEnabled);
+ m_suppressesConnectionTerminationOnSystemChange = parameters.suppressesConnectionTerminationOnSystemChange;
// FIXME: Most of what this function does for cache size gets immediately overridden by setCacheModel().
// - memory cache size passed from UI process is always ignored;
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (252363 => 252364)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2019-11-12 15:27:26 UTC (rev 252364)
@@ -1068,7 +1068,7 @@
#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
// FIXME: Replace @"kCFStreamPropertyAutoErrorOnSystemChange" with a constant from the SDK once rdar://problem/40650244 is in a build.
- if (parameters.suppressesConnectionTerminationOnSystemChange)
+ if (networkProcess.suppressesConnectionTerminationOnSystemChange() || parameters.suppressesConnectionTerminationOnSystemChange)
configuration._socketStreamProperties = @{ @"kCFStreamPropertyAutoErrorOnSystemChange" : @NO };
#endif
Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp (252363 => 252364)
--- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp 2019-11-12 15:27:26 UTC (rev 252364)
@@ -70,6 +70,9 @@
copy->m_isAutomaticProcessWarmingEnabledByClient = this->m_isAutomaticProcessWarmingEnabledByClient;
copy->m_usesWebProcessCache = this->m_usesWebProcessCache;
copy->m_usesBackForwardCache = this->m_usesBackForwardCache;
+#if PLATFORM(COCOA)
+ copy->m_suppressesConnectionTerminationOnSystemChange = this->m_suppressesConnectionTerminationOnSystemChange;
+#endif
copy->m_customWebContentServiceBundleIdentifier = this->m_customWebContentServiceBundleIdentifier;
copy->m_usesSingleWebProcess = m_usesSingleWebProcess;
Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h (252363 => 252364)
--- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h 2019-11-12 15:27:26 UTC (rev 252364)
@@ -137,6 +137,11 @@
const WTF::String& customWebContentServiceBundleIdentifier() const { return m_customWebContentServiceBundleIdentifier; }
void setCustomWebContentServiceBundleIdentifier(const WTF::String& customWebContentServiceBundleIdentifier) { m_customWebContentServiceBundleIdentifier = customWebContentServiceBundleIdentifier; }
+#if PLATFORM(COCOA)
+ bool suppressesConnectionTerminationOnSystemChange() const { return m_suppressesConnectionTerminationOnSystemChange; }
+ void setSuppressesConnectionTerminationOnSystemChange(bool suppressesConnectionTerminationOnSystemChange) { m_suppressesConnectionTerminationOnSystemChange = suppressesConnectionTerminationOnSystemChange; }
+#endif
+
private:
WTF::String m_injectedBundlePath;
Vector<WTF::String> m_customClassesForParameterCoder;
@@ -169,6 +174,9 @@
#if PLATFORM(IOS_FAMILY)
WTF::String m_ctDataConnectionServiceType;
#endif
+#if PLATFORM(COCOA)
+ bool m_suppressesConnectionTerminationOnSystemChange { false };
+#endif
};
} // namespace API
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h (252363 => 252364)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h 2019-11-12 15:27:26 UTC (rev 252364)
@@ -67,6 +67,7 @@
@property (nonatomic) BOOL prewarmsProcessesAutomatically WK_API_AVAILABLE(macos(10.14.4), ios(12.2));
@property (nonatomic) BOOL usesWebProcessCache WK_API_AVAILABLE(macos(10.14.4), ios(12.2));
@property (nonatomic) BOOL pageCacheEnabled WK_API_AVAILABLE(macos(10.14), ios(12.0));
+@property (nonatomic) BOOL suppressesConnectionTerminationOnSystemChange WK_API_DEPRECATED_WITH_REPLACEMENT("_WKWebsiteDataStoreConfiguration.suppressesConnectionTerminationOnSystemChange", macos(10.14, WK_MAC_TBA), ios(12.0, WK_IOS_TBA));
@property (nonatomic, getter=isJITEnabled) BOOL JITEnabled WK_API_AVAILABLE(macos(10.14.4), ios(12.2));
@property (nonatomic, nullable, copy, setter=setHSTSStorageDirectory:) NSURL *hstsStorageDirectory WK_API_AVAILABLE(macos(10.15), ios(13.0));
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm (252363 => 252364)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm 2019-11-12 15:27:26 UTC (rev 252364)
@@ -331,6 +331,16 @@
_processPoolConfiguration->setUsesSingleWebProcess(enabled);
}
+- (BOOL)suppressesConnectionTerminationOnSystemChange
+{
+ return _processPoolConfiguration->suppressesConnectionTerminationOnSystemChange();
+}
+
+- (void)setSuppressesConnectionTerminationOnSystemChange:(BOOL)suppressesConnectionTerminationOnSystemChange
+{
+ _processPoolConfiguration->setSuppressesConnectionTerminationOnSystemChange(suppressesConnectionTerminationOnSystemChange);
+}
+
- (BOOL)isJITEnabled
{
return _processPoolConfiguration->isJITEnabled();
Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (252363 => 252364)
--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2019-11-12 15:24:15 UTC (rev 252363)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2019-11-12 15:27:26 UTC (rev 252364)
@@ -302,6 +302,7 @@
#endif
parameters.storageAccessAPIEnabled = storageAccessAPIEnabled();
+ parameters.suppressesConnectionTerminationOnSystemChange = m_configuration->suppressesConnectionTerminationOnSystemChange();
parameters.shouldEnableITPDatabase = [defaults boolForKey:[NSString stringWithFormat:@"InternalDebug%@", WebPreferencesKey::isITPDatabaseEnabledKey().createCFString().get()]];