Diff
Modified: tags/Safari-604.1.10/Source/WebKit2/ChangeLog (213749 => 213750)
--- tags/Safari-604.1.10/Source/WebKit2/ChangeLog 2017-03-11 04:30:46 UTC (rev 213749)
+++ tags/Safari-604.1.10/Source/WebKit2/ChangeLog 2017-03-11 05:51:50 UTC (rev 213750)
@@ -1,5 +1,34 @@
2017-03-10 Jason Marcell <jmarc...@apple.com>
+ Merge r213747. rdar://problem/29599569
+
+ 2017-03-10 Alex Christensen <achristen...@webkit.org>
+
+ Add SPI to set NSURLSessionConfiguration.allowsCellularAccess from _WKProcessPoolConfiguration
+ https://bugs.webkit.org/show_bug.cgi?id=169500
+ <rdar://problem/29599569>
+
+ Reviewed by Joseph Pecoraro.
+
+ * NetworkProcess/NetworkProcessCreationParameters.cpp:
+ (WebKit::NetworkProcessCreationParameters::encode):
+ (WebKit::NetworkProcessCreationParameters::decode):
+ * NetworkProcess/NetworkProcessCreationParameters.h:
+ * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
+ (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
+ * NetworkProcess/cocoa/NetworkSessionCocoa.h:
+ * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+ (WebKit::globalAllowsCellularAccess):
+ (WebKit::NetworkSessionCocoa::setAllowsCellularAccess):
+ (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
+ * UIProcess/API/APIProcessPoolConfiguration.h:
+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+ (-[_WKProcessPoolConfiguration allowsCellularAccess]):
+ (-[_WKProcessPoolConfiguration setAllowsCellularAccess:]):
+
+2017-03-10 Jason Marcell <jmarc...@apple.com>
+
Merge r213715. rdar://problem/24709033
2017-03-10 Commit Queue <commit-qu...@webkit.org>
Modified: tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/NetworkProcessCreationParameters.cpp (213749 => 213750)
--- tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/NetworkProcessCreationParameters.cpp 2017-03-11 04:30:46 UTC (rev 213749)
+++ tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/NetworkProcessCreationParameters.cpp 2017-03-11 05:51:50 UTC (rev 213750)
@@ -76,6 +76,7 @@
encoder << nsURLCacheDiskCapacity;
encoder << sourceApplicationBundleIdentifier;
encoder << sourceApplicationSecondaryIdentifier;
+ encoder << allowsCellularAccess;
#if PLATFORM(IOS)
encoder << ctDataConnectionServiceType;
#endif
@@ -163,6 +164,8 @@
return false;
if (!decoder.decode(result.sourceApplicationSecondaryIdentifier))
return false;
+ if (!decoder.decode(result.allowsCellularAccess))
+ return false;
#if PLATFORM(IOS)
if (!decoder.decode(result.ctDataConnectionServiceType))
return false;
Modified: tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/NetworkProcessCreationParameters.h (213749 => 213750)
--- tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/NetworkProcessCreationParameters.h 2017-03-11 04:30:46 UTC (rev 213749)
+++ tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/NetworkProcessCreationParameters.h 2017-03-11 05:51:50 UTC (rev 213750)
@@ -84,6 +84,7 @@
uint64_t nsURLCacheDiskCapacity;
String sourceApplicationBundleIdentifier;
String sourceApplicationSecondaryIdentifier;
+ bool allowsCellularAccess { true };
#if PLATFORM(IOS)
String ctDataConnectionServiceType;
#endif
Modified: tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm (213749 => 213750)
--- tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm 2017-03-11 04:30:46 UTC (rev 213749)
+++ tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm 2017-03-11 05:51:50 UTC (rev 213750)
@@ -87,6 +87,7 @@
NetworkSessionCocoa::setSourceApplicationAuditTokenData(sourceApplicationAuditData());
NetworkSessionCocoa::setSourceApplicationBundleIdentifier(parameters.sourceApplicationBundleIdentifier);
NetworkSessionCocoa::setSourceApplicationSecondaryIdentifier(parameters.sourceApplicationSecondaryIdentifier);
+ NetworkSessionCocoa::setAllowsCellularAccess(parameters.allowsCellularAccess);
#if PLATFORM(IOS)
NetworkSessionCocoa::setCTDataConnectionServiceType(parameters.ctDataConnectionServiceType);
#endif
Modified: tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.h (213749 => 213750)
--- tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.h 2017-03-11 04:30:46 UTC (rev 213749)
+++ tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.h 2017-03-11 05:51:50 UTC (rev 213750)
@@ -51,6 +51,7 @@
static void setSourceApplicationAuditTokenData(RetainPtr<CFDataRef>&&);
static void setSourceApplicationBundleIdentifier(const String&);
static void setSourceApplicationSecondaryIdentifier(const String&);
+ static void setAllowsCellularAccess(bool);
#if PLATFORM(IOS)
static void setCTDataConnectionServiceType(const String&);
#endif
Modified: tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.mm (213749 => 213750)
--- tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2017-03-11 04:30:46 UTC (rev 213749)
+++ tags/Safari-604.1.10/Source/WebKit2/NetworkProcess/cocoa/NetworkSessionCocoa.mm 2017-03-11 05:51:50 UTC (rev 213750)
@@ -429,6 +429,12 @@
return [NSURLSessionConfiguration defaultSessionConfiguration];
}
+static bool& globalAllowsCellularAccess()
+{
+ static bool allowsCellularAccess { true };
+ return allowsCellularAccess;
+}
+
static LegacyCustomProtocolManager*& globalLegacyCustomProtocolManager()
{
static LegacyCustomProtocolManager* customProtocolManager { nullptr };
@@ -488,6 +494,11 @@
ASSERT(!sessionsCreated);
globalSourceApplicationSecondaryIdentifier() = identifier;
}
+
+void NetworkSessionCocoa::setAllowsCellularAccess(bool value)
+{
+ globalAllowsCellularAccess() = value;
+}
#if PLATFORM(IOS)
void NetworkSessionCocoa::setCTDataConnectionServiceType(const String& type)
@@ -520,6 +531,9 @@
NSURLSessionConfiguration *configuration = configurationForSessionID(m_sessionID);
+ if (!globalAllowsCellularAccess())
+ configuration.allowsCellularAccess = NO;
+
if (NetworkCache::singleton().isEnabled())
configuration.URLCache = nil;
Modified: tags/Safari-604.1.10/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h (213749 => 213750)
--- tags/Safari-604.1.10/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h 2017-03-11 04:30:46 UTC (rev 213749)
+++ tags/Safari-604.1.10/Source/WebKit2/UIProcess/API/APIProcessPoolConfiguration.h 2017-03-11 05:51:50 UTC (rev 213750)
@@ -111,6 +111,9 @@
const WTF::String& sourceApplicationSecondaryIdentifier() const { return m_sourceApplicationSecondaryIdentifier; }
void setSourceApplicationSecondaryIdentifier(const WTF::String& sourceApplicationSecondaryIdentifier) { m_sourceApplicationSecondaryIdentifier = sourceApplicationSecondaryIdentifier; }
+ bool allowsCellularAccess() const { return m_allowsCellularAccess; }
+ void setAllowsCellularAccess(bool allowsCellularAccess) { m_allowsCellularAccess = allowsCellularAccess; }
+
bool alwaysRunsAtBackgroundPriority() const { return m_alwaysRunsAtBackgroundPriority; }
void setAlwaysRunsAtBackgroundPriority(bool alwaysRunsAtBackgroundPriority) { m_alwaysRunsAtBackgroundPriority = alwaysRunsAtBackgroundPriority; }
@@ -145,6 +148,7 @@
Vector<WTF::String> m_overrideLanguages;
WTF::String m_sourceApplicationBundleIdentifier;
WTF::String m_sourceApplicationSecondaryIdentifier;
+ bool m_allowsCellularAccess { true };
bool m_alwaysRunsAtBackgroundPriority { false };
#if PLATFORM(IOS)
WTF::String m_ctDataConnectionServiceType;
Modified: tags/Safari-604.1.10/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h (213749 => 213750)
--- tags/Safari-604.1.10/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h 2017-03-11 04:30:46 UTC (rev 213749)
+++ tags/Safari-604.1.10/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h 2017-03-11 05:51:50 UTC (rev 213750)
@@ -47,6 +47,7 @@
@property (nonatomic) BOOL diskCacheSpeculativeValidationEnabled WK_API_AVAILABLE(macosx(10.12), ios(10.0));
@property (nonatomic, nullable, copy) NSString *sourceApplicationBundleIdentifier WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
@property (nonatomic, nullable, copy) NSString *sourceApplicationSecondaryIdentifier WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
+@property (nonatomic) BOOL allowsCellularAccess WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
#if TARGET_OS_IPHONE
@property (nonatomic, nullable, copy) NSString *CTDataConnectionServiceType WK_API_AVAILABLE(ios(WK_IOS_TBA));
@property (nonatomic) BOOL alwaysRunsAtBackgroundPriority WK_API_AVAILABLE(ios(WK_IOS_TBA));
Modified: tags/Safari-604.1.10/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm (213749 => 213750)
--- tags/Safari-604.1.10/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm 2017-03-11 04:30:46 UTC (rev 213749)
+++ tags/Safari-604.1.10/Source/WebKit2/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm 2017-03-11 05:51:50 UTC (rev 213750)
@@ -171,6 +171,16 @@
_processPoolConfiguration->setSourceApplicationSecondaryIdentifier(sourceApplicationSecondaryIdentifier);
}
+- (BOOL)allowsCellularAccess
+{
+ return _processPoolConfiguration->allowsCellularAccess();
+}
+
+- (void)setAllowsCellularAccess:(BOOL)allowsCellularAccess
+{
+ _processPoolConfiguration->setAllowsCellularAccess(allowsCellularAccess);
+}
+
#if PLATFORM(IOS)
- (NSString *)CTDataConnectionServiceType
{