Title: [230560] trunk/Source/WebKit
Revision
230560
Author
aes...@apple.com
Date
2018-04-12 00:55:11 -0700 (Thu, 12 Apr 2018)

Log Message

[iOS] Add a mechanism for holding Wi-Fi assertions
https://bugs.webkit.org/show_bug.cgi?id=184520
<rdar://problem/39025726>

Reviewed by Sam Weinig.

Add plumbing for holding a Wi-Fi assertion on iOS as long as there are active
network data tasks. This functionality is turned off by default right now.

* Configurations/Network-iOS.entitlements:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
* NetworkProcess/cocoa/WiFiAssertionHolder.cpp: Added.
(WebKit::ensureWiFiManagerClient): Create a global WiFiManagerClient when needed.
(WebKit::WiFiAssertionHolder::WiFiAssertionHolder): If this is the first active
Wi-Fi assertion holder, set the client's type to kWiFiClientTypeBackground.
(WebKit::WiFiAssertionHolder::~WiFiAssertionHolder): If the last active Wi-Fi
assertion holder is being destroyed, set the client's type back to
kWiFiClientTypeNormal.
* NetworkProcess/cocoa/WiFiAssertionHolder.h: Added.
* Platform/Logging.h: Added a logging channel for Wi-Fi assertions.
* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
* WebKit.xcodeproj/project.pbxproj:

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (230559 => 230560)


--- trunk/Source/WebKit/ChangeLog	2018-04-12 07:01:57 UTC (rev 230559)
+++ trunk/Source/WebKit/ChangeLog	2018-04-12 07:55:11 UTC (rev 230560)
@@ -1,3 +1,30 @@
+2018-04-11  Andy Estes  <aes...@apple.com>
+
+        [iOS] Add a mechanism for holding Wi-Fi assertions
+        https://bugs.webkit.org/show_bug.cgi?id=184520
+        <rdar://problem/39025726>
+
+        Reviewed by Sam Weinig.
+
+        Add plumbing for holding a Wi-Fi assertion on iOS as long as there are active
+        network data tasks. This functionality is turned off by default right now.
+
+        * Configurations/Network-iOS.entitlements:
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
+        (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
+        * NetworkProcess/cocoa/WiFiAssertionHolder.cpp: Added.
+        (WebKit::ensureWiFiManagerClient): Create a global WiFiManagerClient when needed.
+        (WebKit::WiFiAssertionHolder::WiFiAssertionHolder): If this is the first active
+        Wi-Fi assertion holder, set the client's type to kWiFiClientTypeBackground.
+        (WebKit::WiFiAssertionHolder::~WiFiAssertionHolder): If the last active Wi-Fi
+        assertion holder is being destroyed, set the client's type back to
+        kWiFiClientTypeNormal.
+        * NetworkProcess/cocoa/WiFiAssertionHolder.h: Added.
+        * Platform/Logging.h: Added a logging channel for Wi-Fi assertions.
+        * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
+        * WebKit.xcodeproj/project.pbxproj:
+
 2018-04-12  Carlos Garcia Campos  <cgar...@igalia.com>
 
         [GTK] Switch to use always complex text code path

Modified: trunk/Source/WebKit/Configurations/Network-iOS.entitlements (230559 => 230560)


--- trunk/Source/WebKit/Configurations/Network-iOS.entitlements	2018-04-12 07:01:57 UTC (rev 230559)
+++ trunk/Source/WebKit/Configurations/Network-iOS.entitlements	2018-04-12 07:55:11 UTC (rev 230560)
@@ -2,6 +2,8 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+	<key>com.apple.wifi.manager-access</key>
+	<true/>
 	<key>com.apple.private.accounts.bundleidspoofing</key>
 	<true/>
 	<key>seatbelt-profiles</key>

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h (230559 => 230560)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h	2018-04-12 07:01:57 UTC (rev 230559)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.h	2018-04-12 07:55:11 UTC (rev 230560)
@@ -27,6 +27,7 @@
 
 #include "NetworkDataTask.h"
 #include "NetworkLoadParameters.h"
+#include "WiFiAssertionHolder.h"
 #include <WebCore/NetworkLoadMetrics.h>
 #include <wtf/RetainPtr.h>
 
@@ -71,6 +72,14 @@
     uint64_t frameID() const { return m_frameID; };
     uint64_t pageID() const { return m_pageID; };
 
+#if HAVE(MOBILE_WIFI)
+    void acquireWiFiAssertion()
+    {
+        ASSERT(!m_wiFiAssertionHolder);
+        m_wiFiAssertionHolder.emplace();
+    }
+#endif
+
 private:
     NetworkDataTaskCocoa(NetworkSession&, NetworkDataTaskClient&, const WebCore::ResourceRequest&, uint64_t frameID, uint64_t pageID, WebCore::StoredCredentialsPolicy, WebCore::ContentSniffingPolicy, WebCore::ContentEncodingSniffingPolicy, bool shouldClearReferrerOnHTTPSToHTTPRedirect, PreconnectOnly);
 
@@ -94,6 +103,10 @@
 #if HAVE(CFNETWORK_STORAGE_PARTITIONING)
     bool m_hasBeenSetToUseStatelessCookieStorage { false };
 #endif
+
+#if HAVE(MOBILE_WIFI)
+    std::optional<WiFiAssertionHolder> m_wiFiAssertionHolder;
+#endif
 };
 
 WebCore::Credential serverTrustCredential(const WebCore::AuthenticationChallenge&);

Modified: trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm (230559 => 230560)


--- trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm	2018-04-12 07:01:57 UTC (rev 230559)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/NetworkDataTaskCocoa.mm	2018-04-12 07:55:11 UTC (rev 230560)
@@ -44,6 +44,10 @@
 #import <wtf/ProcessPrivilege.h>
 #import <wtf/text/Base64.h>
 
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/NetworkDataTaskCocoaAdditions.mm>
+#endif
+
 namespace WebKit {
 
 #if USE(CREDENTIAL_STORAGE_WITH_NETWORK_SESSION)
@@ -189,6 +193,9 @@
 
     NSURLRequest *nsRequest = request.nsURLRequest(WebCore::UpdateHTTPBody);
     applySniffingPoliciesAndBindRequestToInferfaceIfNeeded(nsRequest, shouldContentSniff == WebCore::SniffContent && !url.isLocalFile(), shouldContentEncodingSniff == WebCore::ContentEncodingSniffingPolicy::Sniff);
+#if USE(APPLE_INTERNAL_SDK)
+    applyAdditionalProperties(request, *this, nsRequest);
+#endif
 
     auto& cocoaSession = static_cast<NetworkSessionCocoa&>(m_session.get());
     if (storedCredentialsPolicy == WebCore::StoredCredentialsPolicy::Use) {

Copied: trunk/Source/WebKit/NetworkProcess/cocoa/WiFiAssertionHolder.cpp (from rev 230559, trunk/Source/WebKit/Platform/Logging.h) (0 => 230560)


--- trunk/Source/WebKit/NetworkProcess/cocoa/WiFiAssertionHolder.cpp	                        (rev 0)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/WiFiAssertionHolder.cpp	2018-04-12 07:55:11 UTC (rev 230560)
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "WiFiAssertionHolder.h"
+
+#if HAVE(MOBILE_WIFI)
+
+#include "Logging.h"
+#include "MobileWiFiSPI.h"
+
+namespace WebKit {
+
+static WiFiManagerClientRef ensureWiFiManagerClient()
+{
+    static WiFiManagerClientRef wiFiManagerClient = WiFiManagerClientCreate(kCFAllocatorDefault, kWiFiClientTypeNormal);
+    return wiFiManagerClient;
+}
+
+static uint64_t wiFiAssertionCount;
+
+WiFiAssertionHolder::WiFiAssertionHolder()
+{
+    if (wiFiAssertionCount++)
+        return;
+
+    RELEASE_LOG(WiFiAssertions, "Acquiring Wi-Fi assertion.");
+    WiFiManagerClientSetType(ensureWiFiManagerClient(), kWiFiClientTypeBackground);
+}
+
+WiFiAssertionHolder::~WiFiAssertionHolder()
+{
+    ASSERT(wiFiAssertionCount);
+    if (--wiFiAssertionCount)
+        return;
+
+    RELEASE_LOG(WiFiAssertions, "Releasing Wi-Fi assertion.");
+    WiFiManagerClientSetType(ensureWiFiManagerClient(), kWiFiClientTypeNormal);
+}
+
+} // namespace WebKit
+
+#endif // HAVE(MOBILE_WIFI)

Copied: trunk/Source/WebKit/NetworkProcess/cocoa/WiFiAssertionHolder.h (from rev 230559, trunk/Source/WebKit/Platform/Logging.h) (0 => 230560)


--- trunk/Source/WebKit/NetworkProcess/cocoa/WiFiAssertionHolder.h	                        (rev 0)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/WiFiAssertionHolder.h	2018-04-12 07:55:11 UTC (rev 230560)
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if HAVE(MOBILE_WIFI)
+
+#include <wtf/Noncopyable.h>
+
+namespace WebKit {
+
+class WiFiAssertionHolder {
+    WTF_MAKE_NONCOPYABLE(WiFiAssertionHolder);
+public:
+    WiFiAssertionHolder();
+    ~WiFiAssertionHolder();
+};
+
+} // namespace WebKit
+
+#endif // HAVE(MOBILE_WIFI)

Modified: trunk/Source/WebKit/Platform/Logging.h (230559 => 230560)


--- trunk/Source/WebKit/Platform/Logging.h	2018-04-12 07:01:57 UTC (rev 230559)
+++ trunk/Source/WebKit/Platform/Logging.h	2018-04-12 07:55:11 UTC (rev 230560)
@@ -76,6 +76,7 @@
     M(VirtualMemory) \
     M(VisibleRects) \
     M(WebRTC) \
+    M(WiFiAssertions) \
 
 WEBKIT2_LOG_CHANNELS(DECLARE_LOG_CHANNEL)
 

Copied: trunk/Source/WebKit/Platform/spi/ios/MobileWiFiSPI.h (from rev 230559, trunk/Source/WebKit/Platform/Logging.h) (0 => 230560)


--- trunk/Source/WebKit/Platform/spi/ios/MobileWiFiSPI.h	                        (rev 0)
+++ trunk/Source/WebKit/Platform/spi/ios/MobileWiFiSPI.h	2018-04-12 07:55:11 UTC (rev 230560)
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if USE(APPLE_INTERNAL_SDK)
+
+#include <MobileWiFi/WiFiManagerClient.h>
+
+#else
+
+typedef enum {
+    kWiFiClientTypeNormal,
+    kWiFiClientTypeBackground,
+} WiFiClientType;
+
+typedef void* WiFiManagerClientRef;
+
+#endif
+
+WTF_EXTERN_C_BEGIN
+
+WiFiManagerClientRef WiFiManagerClientCreate(CFAllocatorRef, WiFiClientType);
+void WiFiManagerClientSetType(WiFiManagerClientRef, WiFiClientType);
+
+WTF_EXTERN_C_END

Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb (230559 => 230560)


--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb	2018-04-12 07:01:57 UTC (rev 230559)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb	2018-04-12 07:55:11 UTC (rev 230560)
@@ -89,4 +89,5 @@
 ;; Various services required by system frameworks
 (allow mach-lookup
     (global-name "com.apple.lsd.mapdb")
-    (global-name "com.apple.analyticsd"))
+    (global-name "com.apple.analyticsd")
+    (global-name "com.apple.WirelessCoexManager"))

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (230559 => 230560)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2018-04-12 07:01:57 UTC (rev 230559)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2018-04-12 07:55:11 UTC (rev 230560)
@@ -1557,6 +1557,7 @@
 		A118A9EF1907AD6F00F7C92B /* QuickLookDocumentData.h in Headers */ = {isa = PBXBuildFile; fileRef = A118A9ED1907AD6F00F7C92B /* QuickLookDocumentData.h */; };
 		A118A9F21908B8EA00F7C92B /* _WKNSFileManagerExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = A118A9F01908B8EA00F7C92B /* _WKNSFileManagerExtras.mm */; };
 		A118A9F31908B8EA00F7C92B /* _WKNSFileManagerExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = A118A9F11908B8EA00F7C92B /* _WKNSFileManagerExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		A13B3DA2207F39DE0090C58D /* MobileWiFiSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = A13B3DA1207F39DE0090C58D /* MobileWiFiSPI.h */; };
 		A13DC682207AA6B20066EF72 /* WKApplicationStateTrackingView.h in Headers */ = {isa = PBXBuildFile; fileRef = A13DC680207AA6B20066EF72 /* WKApplicationStateTrackingView.h */; };
 		A13DC683207AA6B20066EF72 /* WKApplicationStateTrackingView.mm in Sources */ = {isa = PBXBuildFile; fileRef = A13DC681207AA6B20066EF72 /* WKApplicationStateTrackingView.mm */; };
 		A15EEDE51E301CEE000069B0 /* WKPasswordView.mm in Sources */ = {isa = PBXBuildFile; fileRef = A15EEDE31E301CEE000069B0 /* WKPasswordView.mm */; };
@@ -1571,6 +1572,8 @@
 		A1C512C8190656E500448914 /* WebPreviewLoaderClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1C512C6190656E500448914 /* WebPreviewLoaderClient.cpp */; };
 		A1C512C9190656E500448914 /* WebPreviewLoaderClient.h in Headers */ = {isa = PBXBuildFile; fileRef = A1C512C7190656E500448914 /* WebPreviewLoaderClient.h */; };
 		A1D420471DB5578500BB6B0D /* WKContextMenuListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1EA02351DABFF7E0096021F /* WKContextMenuListener.cpp */; };
+		A1DAFDDF207E9B16005E8A52 /* WiFiAssertionHolder.h in Headers */ = {isa = PBXBuildFile; fileRef = A1DAFDDD207E9B16005E8A52 /* WiFiAssertionHolder.h */; };
+		A1DAFDE0207E9B16005E8A52 /* WiFiAssertionHolder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1DAFDDE207E9B16005E8A52 /* WiFiAssertionHolder.cpp */; };
 		A1DF631218E0B7C8003A3E2A /* DownloadClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1DF631018E0B7C8003A3E2A /* DownloadClient.mm */; };
 		A1DF631318E0B7C8003A3E2A /* DownloadClient.h in Headers */ = {isa = PBXBuildFile; fileRef = A1DF631118E0B7C8003A3E2A /* DownloadClient.h */; };
 		A1E688701F6E2BAB007006A6 /* QuarantineSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = A1E6886F1F6E2BAB007006A6 /* QuarantineSPI.h */; };
@@ -4045,6 +4048,7 @@
 		A118A9ED1907AD6F00F7C92B /* QuickLookDocumentData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QuickLookDocumentData.h; path = ios/QuickLookDocumentData.h; sourceTree = "<group>"; };
 		A118A9F01908B8EA00F7C92B /* _WKNSFileManagerExtras.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = _WKNSFileManagerExtras.mm; sourceTree = "<group>"; };
 		A118A9F11908B8EA00F7C92B /* _WKNSFileManagerExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKNSFileManagerExtras.h; sourceTree = "<group>"; };
+		A13B3DA1207F39DE0090C58D /* MobileWiFiSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MobileWiFiSPI.h; sourceTree = "<group>"; };
 		A13DC680207AA6B20066EF72 /* WKApplicationStateTrackingView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKApplicationStateTrackingView.h; path = ios/WKApplicationStateTrackingView.h; sourceTree = "<group>"; };
 		A13DC681207AA6B20066EF72 /* WKApplicationStateTrackingView.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKApplicationStateTrackingView.mm; path = ios/WKApplicationStateTrackingView.mm; sourceTree = "<group>"; };
 		A15EEDE31E301CEE000069B0 /* WKPasswordView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKPasswordView.mm; path = ios/WKPasswordView.mm; sourceTree = "<group>"; };
@@ -4058,6 +4062,8 @@
 		A1A4FE6018DD54A400B5EA8A /* _WKDownloadDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKDownloadDelegate.h; sourceTree = "<group>"; };
 		A1C512C6190656E500448914 /* WebPreviewLoaderClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebPreviewLoaderClient.cpp; path = ios/WebPreviewLoaderClient.cpp; sourceTree = "<group>"; };
 		A1C512C7190656E500448914 /* WebPreviewLoaderClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebPreviewLoaderClient.h; path = ios/WebPreviewLoaderClient.h; sourceTree = "<group>"; };
+		A1DAFDDD207E9B16005E8A52 /* WiFiAssertionHolder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WiFiAssertionHolder.h; path = NetworkProcess/cocoa/WiFiAssertionHolder.h; sourceTree = "<group>"; };
+		A1DAFDDE207E9B16005E8A52 /* WiFiAssertionHolder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = WiFiAssertionHolder.cpp; path = NetworkProcess/cocoa/WiFiAssertionHolder.cpp; sourceTree = "<group>"; };
 		A1DF631018E0B7C8003A3E2A /* DownloadClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DownloadClient.mm; sourceTree = "<group>"; };
 		A1DF631118E0B7C8003A3E2A /* DownloadClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DownloadClient.h; sourceTree = "<group>"; };
 		A1E6886F1F6E2BAB007006A6 /* QuarantineSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = QuarantineSPI.h; sourceTree = "<group>"; };
@@ -6915,6 +6921,8 @@
 				7EC4F0F918E4A945008056AF /* NetworkProcessCocoa.mm */,
 				532159501DBAE6D70054AA3C /* NetworkSessionCocoa.h */,
 				5C20CB9B1BB0DCD200895BB1 /* NetworkSessionCocoa.mm */,
+				A1DAFDDE207E9B16005E8A52 /* WiFiAssertionHolder.cpp */,
+				A1DAFDDD207E9B16005E8A52 /* WiFiAssertionHolder.h */,
 			);
 			name = cocoa;
 			sourceTree = "<group>";
@@ -8556,6 +8564,7 @@
 				CE1A0BCD1A48E6C60054EF74 /* CorePDFSPI.h */,
 				2D4AF0882044C3C4006C8817 /* FrontBoardServicesSPI.h */,
 				CE1A0BCF1A48E6C60054EF74 /* ManagedConfigurationSPI.h */,
+				A13B3DA1207F39DE0090C58D /* MobileWiFiSPI.h */,
 				CE1A0BD01A48E6C60054EF74 /* TCCSPI.h */,
 				CE1A0BD11A48E6C60054EF74 /* TextInputSPI.h */,
 				CEE4AE2A1A5DCF430002F49B /* UIKitSPI.h */,
@@ -8982,6 +8991,7 @@
 				1A3EED12161A53D600AEB4F5 /* MessageReceiver.h in Headers */,
 				1A3EED0F161A535400AEB4F5 /* MessageReceiverMap.h in Headers */,
 				1AAB037A185A7C6A00EDF501 /* MessageSender.h in Headers */,
+				A13B3DA2207F39DE0090C58D /* MobileWiFiSPI.h in Headers */,
 				C0E3AA7C1209E83C00A49D01 /* Module.h in Headers */,
 				2D50366B1BCDE17900E20BB3 /* NativeWebGestureEvent.h in Headers */,
 				263172CF18B469490065B9C3 /* NativeWebTouchEvent.h in Headers */,
@@ -9410,6 +9420,7 @@
 				15739BBD1B42042D00D258C1 /* WebUserMediaClient.h in Headers */,
 				83EE575C1DB7D61100C74C50 /* WebValidationMessageClient.h in Headers */,
 				2DFC7DBB1BCCC19500C1548C /* WebViewImpl.h in Headers */,
+				A1DAFDDF207E9B16005E8A52 /* WiFiAssertionHolder.h in Headers */,
 				29CD55AA128E294F00133C85 /* WKAccessibilityWebPageObjectBase.h in Headers */,
 				29232DF418B29D6800D0596F /* WKAccessibilityWebPageObjectMac.h in Headers */,
 				934B724419F5B9BE00AE96D6 /* WKActionMenuItemTypes.h in Headers */,
@@ -11189,6 +11200,7 @@
 				83EE575B1DB7D61100C74C50 /* WebValidationMessageClient.cpp in Sources */,
 				2DFC7DBC1BCCC19500C1548C /* WebViewImpl.mm in Sources */,
 				C0337DD1127A2980008FF4F4 /* WebWheelEvent.cpp in Sources */,
+				A1DAFDE0207E9B16005E8A52 /* WiFiAssertionHolder.cpp in Sources */,
 				868160D0187645570021E79D /* WindowServerConnection.mm in Sources */,
 				29CD55AB128E294F00133C85 /* WKAccessibilityWebPageObjectBase.mm in Sources */,
 				29232DF818B2A9AE00D0596F /* WKAccessibilityWebPageObjectIOS.mm in Sources */,

Modified: trunk/Source/WebKit/config.h (230559 => 230560)


--- trunk/Source/WebKit/config.h	2018-04-12 07:01:57 UTC (rev 230559)
+++ trunk/Source/WebKit/config.h	2018-04-12 07:55:11 UTC (rev 230560)
@@ -124,3 +124,11 @@
 #define HAVE_LINK_PREVIEW 0
 #endif
 #endif
+
+#ifndef HAVE_MOBILE_WIFI
+#if PLATFORM(IOS) && !TARGET_OS_SIMULATOR && USE(APPLE_INTERNAL_SDK)
+#define HAVE_MOBILE_WIFI 1
+#else
+#define HAVE_MOBILE_WIFI 0
+#endif
+#endif
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to