Diff
Modified: trunk/Source/WebKit/ChangeLog (252367 => 252368)
--- trunk/Source/WebKit/ChangeLog 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/ChangeLog 2019-11-12 17:30:07 UTC (rev 252368)
@@ -1,3 +1,31 @@
+2019-11-12 Alex Christensen <[email protected]>
+
+ Revert remainder of r251676
+ https://bugs.webkit.org/show_bug.cgi?id=203066
+ <rdar://problem/57115922>
+
+ * NetworkProcess/NetworkProcessCreationParameters.cpp:
+ (WebKit::NetworkProcessCreationParameters::encode const):
+ (WebKit::NetworkProcessCreationParameters::decode):
+ * NetworkProcess/NetworkProcessCreationParameters.h:
+ * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
+ (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
+ * NetworkProcess/cocoa/NetworkSessionCocoa.h:
+ * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+ (WebKit::globalCTDataConnectionServiceType):
+ (WebKit::NetworkSessionCocoa::setCTDataConnectionServiceType):
+ (WebKit::NetworkSessionCocoa::dataConnectionServiceType const):
+ (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
+ * UIProcess/API/APIProcessPoolConfiguration.h:
+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+ (-[_WKProcessPoolConfiguration CTDataConnectionServiceType]):
+ (-[_WKProcessPoolConfiguration setCTDataConnectionServiceType:]):
+ * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+ (WebKit::WebProcessPool::platformInitializeNetworkProcess):
+ * UIProcess/ios/WebPageProxyIOS.mm:
+ (WebKit::WebPageProxy::paymentCoordinatorCTDataConnectionServiceType):
+
2019-11-12 Megan Gardner <[email protected]>
Rename _textSelectionAssistant to _textInteractionAssistant to reflect the only class it can now represent
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp (252367 => 252368)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp 2019-11-12 17:30:07 UTC (rev 252368)
@@ -53,6 +53,9 @@
#if PLATFORM(COCOA)
encoder << uiProcessBundleIdentifier;
encoder << uiProcessSDKVersion;
+#if PLATFORM(IOS_FAMILY)
+ encoder << ctDataConnectionServiceType;
+#endif
IPC::encode(encoder, networkATSContext.get());
encoder << storageAccessAPIEnabled;
encoder << suppressesConnectionTerminationOnSystemChange;
@@ -117,6 +120,10 @@
return false;
if (!decoder.decode(result.uiProcessSDKVersion))
return false;
+#if PLATFORM(IOS_FAMILY)
+ if (!decoder.decode(result.ctDataConnectionServiceType))
+ return false;
+#endif
if (!IPC::decode(decoder, result.networkATSContext))
return false;
if (!decoder.decode(result.storageAccessAPIEnabled))
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h (252367 => 252368)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h 2019-11-12 17:30:07 UTC (rev 252368)
@@ -68,6 +68,9 @@
#if PLATFORM(COCOA)
String uiProcessBundleIdentifier;
uint32_t uiProcessSDKVersion { 0 };
+#if PLATFORM(IOS_FAMILY)
+ String ctDataConnectionServiceType;
+#endif
RetainPtr<CFDataRef> networkATSContext;
bool storageAccessAPIEnabled;
bool suppressesConnectionTerminationOnSystemChange;
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm (252367 => 252368)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm 2019-11-12 17:30:07 UTC (rev 252368)
@@ -95,6 +95,10 @@
m_uiProcessBundleIdentifier = parameters.uiProcessBundleIdentifier;
+#if PLATFORM(IOS_FAMILY)
+ NetworkSessionCocoa::setCTDataConnectionServiceType(parameters.ctDataConnectionServiceType);
+#endif
+
initializeNetworkSettings();
#if PLATFORM(MAC)
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h (252367 => 252368)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h 2019-11-12 17:30:07 UTC (rev 252368)
@@ -74,7 +74,8 @@
const String& sourceApplicationBundleIdentifier() const;
const String& sourceApplicationSecondaryIdentifier() const;
#if PLATFORM(IOS_FAMILY)
- const String& dataConnectionServiceType() const { return m_dataConnectionServiceType; }
+ static void setCTDataConnectionServiceType(const String&);
+ const String& dataConnectionServiceType() const;
#endif
static bool allowsSpecificHTTPSCertificateForHost(const WebCore::AuthenticationChallenge&);
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (252367 => 252368)
--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2019-11-12 17:30:07 UTC (rev 252368)
@@ -968,6 +968,27 @@
return m_sourceApplicationSecondaryIdentifier;
}
+#if PLATFORM(IOS_FAMILY)
+static String& globalCTDataConnectionServiceType()
+{
+ static NeverDestroyed<String> ctDataConnectionServiceType;
+ return ctDataConnectionServiceType.get();
+}
+
+void NetworkSessionCocoa::setCTDataConnectionServiceType(const String& type)
+{
+ ASSERT(!sessionsCreated);
+ globalCTDataConnectionServiceType() = type;
+}
+
+const String& NetworkSessionCocoa::dataConnectionServiceType() const
+{
+ if (!globalCTDataConnectionServiceType().isEmpty())
+ return globalCTDataConnectionServiceType();
+ return m_dataConnectionServiceType;
+}
+#endif
+
std::unique_ptr<NetworkSession> NetworkSessionCocoa::create(NetworkProcess& networkProcess, NetworkSessionCreationParameters&& parameters)
{
return makeUnique<NetworkSessionCocoa>(networkProcess, WTFMove(parameters));
@@ -1056,7 +1077,9 @@
configuration.connectionProxyDictionary = proxyDictionary(parameters.httpProxy, parameters.httpsProxy);
#if PLATFORM(IOS_FAMILY)
- if (!m_dataConnectionServiceType.isEmpty())
+ if (!globalCTDataConnectionServiceType().isEmpty())
+ configuration._CTDataConnectionServiceType = globalCTDataConnectionServiceType();
+ else if (!m_dataConnectionServiceType.isEmpty())
configuration._CTDataConnectionServiceType = m_dataConnectionServiceType;
#endif
Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h (252367 => 252368)
--- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h 2019-11-12 17:30:07 UTC (rev 252368)
@@ -118,6 +118,11 @@
bool isJITEnabled() const { return m_isJITEnabled; }
void setJITEnabled(bool enabled) { m_isJITEnabled = enabled; }
+#if PLATFORM(IOS_FAMILY)
+ const WTF::String& ctDataConnectionServiceType() const { return m_ctDataConnectionServiceType; }
+ void setCTDataConnectionServiceType(const WTF::String& ctDataConnectionServiceType) { m_ctDataConnectionServiceType = ctDataConnectionServiceType; }
+#endif
+
ProcessID presentingApplicationPID() const { return m_presentingApplicationPID; }
void setPresentingApplicationPID(ProcessID pid) { m_presentingApplicationPID = pid; }
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h (252367 => 252368)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h 2019-11-12 17:30:07 UTC (rev 252368)
@@ -57,6 +57,7 @@
@property (nonatomic, nullable, copy) NSString *sourceApplicationSecondaryIdentifier WK_API_DEPRECATED_WITH_REPLACEMENT("_WKWebsiteDataStoreConfiguration.sourceApplicationSecondaryIdentifier", macos(10.12.3, 10.14.4), ios(10.3, 12.2));
@property (nonatomic) BOOL shouldCaptureAudioInUIProcess WK_API_AVAILABLE(macos(10.13), ios(11.0));
#if TARGET_OS_IPHONE
+@property (nonatomic, nullable, copy) NSString *CTDataConnectionServiceType WK_API_DEPRECATED_WITH_REPLACEMENT("_WKWebsiteDataStoreConfiguration.dataConnectionServiceType", ios(10.3, WK_IOS_TBA));
@property (nonatomic) BOOL alwaysRunsAtBackgroundPriority WK_API_AVAILABLE(ios(10.3));
@property (nonatomic) BOOL shouldTakeUIBackgroundAssertion WK_API_AVAILABLE(ios(11.0));
#endif
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm (252367 => 252368)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm 2019-11-12 17:30:07 UTC (rev 252368)
@@ -366,6 +366,16 @@
}
#if PLATFORM(IOS_FAMILY)
+- (NSString *)CTDataConnectionServiceType
+{
+ return _processPoolConfiguration->ctDataConnectionServiceType();
+}
+
+- (void)setCTDataConnectionServiceType:(NSString *)ctDataConnectionServiceType
+{
+ _processPoolConfiguration->setCTDataConnectionServiceType(ctDataConnectionServiceType);
+}
+
- (BOOL)alwaysRunsAtBackgroundPriority
{
return _processPoolConfiguration->alwaysRunsAtBackgroundPriority();
Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (252367 => 252368)
--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2019-11-12 17:30:07 UTC (rev 252368)
@@ -293,6 +293,10 @@
parameters.networkATSContext = adoptCF(_CFNetworkCopyATSContext());
+#if PLATFORM(IOS_FAMILY)
+ parameters.ctDataConnectionServiceType = m_configuration->ctDataConnectionServiceType();
+#endif
+
parameters.shouldSuppressMemoryPressureHandler = [defaults boolForKey:WebKitSuppressMemoryPressureHandlerDefaultsKey];
#if PLATFORM(MAC)
Modified: trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm (252367 => 252368)
--- trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm 2019-11-12 16:51:58 UTC (rev 252367)
+++ trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm 2019-11-12 17:30:07 UTC (rev 252368)
@@ -1297,6 +1297,8 @@
const String& WebPageProxy::paymentCoordinatorCTDataConnectionServiceType(const WebPaymentCoordinatorProxy&)
{
+ if (!process().processPool().configuration().ctDataConnectionServiceType().isNull())
+ return process().processPool().configuration().ctDataConnectionServiceType();
return websiteDataStore().configuration().dataConnectionServiceType();
}