WebKit Bugzilla
Attachment 340342 Details for
Bug 185620
: [Wi-Fi Assertions] Allow clients to specify a context identifier
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-185620-20180514123911.patch (text/plain), 8.86 KB, created by
Andy Estes
on 2018-05-14 12:39:12 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Andy Estes
Created:
2018-05-14 12:39:12 PDT
Size:
8.86 KB
patch
obsolete
>Subversion Revision: 231758 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 6cd2a3e9b0dca0dd1640dcda71abf555aacb16d6..28aa70f3793813c84b088cbf45a509bd3b197659 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,30 @@ >+2018-05-14 Andy Estes <aestes@apple.com> >+ >+ [Wi-Fi Assertions] Allow clients to specify a context identifier >+ https://bugs.webkit.org/show_bug.cgi?id=185620 >+ <rdar://problem/39915196> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Added an SPI on _WKProcessPoolConfiguration that allows clients to specify a >+ context identifier. >+ >+ * NetworkProcess/NetworkProcessCreationParameters.cpp: >+ (WebKit::NetworkProcessCreationParameters::encode const): >+ (WebKit::NetworkProcessCreationParameters::decode): >+ * NetworkProcess/NetworkProcessCreationParameters.h: >+ * NetworkProcess/cocoa/NetworkProcessCocoa.mm: >+ (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa): >+ * UIProcess/API/APIProcessPoolConfiguration.cpp: >+ (API::ProcessPoolConfiguration::copy): >+ * UIProcess/API/APIProcessPoolConfiguration.h: >+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: >+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: >+ (-[_WKProcessPoolConfiguration wirelessContextIdentifier]): >+ (-[_WKProcessPoolConfiguration setWirelessContextIdentifier:]): >+ * UIProcess/Cocoa/WebProcessPoolCocoa.mm: >+ (WebKit::WebProcessPool::platformInitializeNetworkProcess): >+ > 2018-05-14 Michael Catanzaro <mcatanzaro@igalia.com> > > -Wmemset-elt-size warning in LibWebRTCSocket constructor >diff --git a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp >index 3d24d23a4f5323e287022a1784dc3eecf1828341..ed64e0d690ff237fc00cea24918667f99b0383ae 100644 >--- a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp >+++ b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp >@@ -117,6 +117,10 @@ void NetworkProcessCreationParameters::encode(IPC::Encoder& encoder) const > encoder << urlSchemesRegisteredAsCanDisplayOnlyIfCanRequest; > > encoder << trackNetworkActivity; >+ >+#if ENABLE(WIFI_ASSERTIONS) >+ encoder << wirelessContextIdentifier; >+#endif > } > > bool NetworkProcessCreationParameters::decode(IPC::Decoder& decoder, NetworkProcessCreationParameters& result) >@@ -280,6 +284,11 @@ bool NetworkProcessCreationParameters::decode(IPC::Decoder& decoder, NetworkProc > if (!decoder.decode(result.trackNetworkActivity)) > return false; > >+#if ENABLE(WIFI_ASSERTIONS) >+ if (!decoder.decode(result.wirelessContextIdentifier)) >+ return false; >+#endif >+ > return true; > } > >diff --git a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h >index d147533ba21ea987a7e989da018cee7d9977a518..521e71a7747018bcb5d10a56a37fe4ab58ad7844 100644 >--- a/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h >+++ b/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h >@@ -134,6 +134,10 @@ struct NetworkProcessCreationParameters { > Vector<String> urlSchemesRegisteredAsCORSEnabled; > > bool trackNetworkActivity { false }; >+ >+#if ENABLE(WIFI_ASSERTIONS) >+ unsigned wirelessContextIdentifier { 0 }; >+#endif > }; > > } // namespace WebKit >diff --git a/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm b/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm >index 023c8a83fbb8df93940940406b8b1a2bf19dc711..db9dc38d7a0dc1c6fd7bff3a0a4b82115e7d7ba0 100644 >--- a/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm >+++ b/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm >@@ -44,6 +44,10 @@ > #import <wtf/CallbackAggregator.h> > #import <wtf/ProcessPrivilege.h> > >+#if USE(APPLE_INTERNAL_SDK) >+#import <WebKitAdditions/NetworkProcessCocoaAdditions.mm> >+#endif >+ > namespace WebKit { > > static void initializeNetworkSettings() >@@ -111,6 +115,10 @@ void NetworkProcess::platformInitializeNetworkProcessCocoa(const NetworkProcessC > SandboxExtension::consumePermanently(parameters.cacheStorageDirectoryExtensionHandle); > } > >+#if ENABLE(WIFI_ASSERTIONS) >+ initializeWiFiAssertions(parameters); >+#endif >+ > if (!m_diskCacheDirectory.isNull()) { > SandboxExtension::consumePermanently(parameters.diskCacheDirectoryExtensionHandle); > if (parameters.shouldEnableNetworkCache) { >diff --git a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp >index a69db0717a94693ba7a985a1bb5ffdbcdf247937..a17049601676832fcfcf7516495d8e7adfa4060c 100644 >--- a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp >+++ b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp >@@ -131,6 +131,9 @@ Ref<ProcessPoolConfiguration> ProcessPoolConfiguration::copy() > copy->m_alwaysKeepAndReuseSwappedProcesses = this->m_alwaysKeepAndReuseSwappedProcesses; > copy->m_processSwapsOnWindowOpenWithOpener = this->m_processSwapsOnWindowOpenWithOpener; > copy->m_trackNetworkActivity = this->m_trackNetworkActivity; >+#if ENABLE(WIFI_ASSERTIONS) >+ copy->m_wirelessContextIdentifier = this->m_wirelessContextIdentifier; >+#endif > > return copy; > } >diff --git a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h >index edbd09e0b771f7e743be931e5dd26dab47c936f3..1e6ea62ed942f61bfafd4ebed2da98492624bc93 100644 >--- a/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h >+++ b/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h >@@ -147,6 +147,11 @@ public: > bool trackNetworkActivity() const { return m_trackNetworkActivity; } > void setTrackNetworkActivity(bool track) { m_trackNetworkActivity = track; } > >+#if ENABLE(WIFI_ASSERTIONS) >+ unsigned wirelessContextIdentifier() const { return m_wirelessContextIdentifier; } >+ void setWirelessContextIdentifier(unsigned wirelessContextIdentifier) { m_wirelessContextIdentifier = wirelessContextIdentifier; } >+#endif >+ > private: > bool m_shouldHaveLegacyDataStore { false }; > >@@ -186,6 +191,10 @@ private: > #if PLATFORM(IOS) > WTF::String m_ctDataConnectionServiceType; > #endif >+ >+#if ENABLE(WIFI_ASSERTIONS) >+ unsigned m_wirelessContextIdentifier { 0 }; >+#endif > }; > > } // namespace API >diff --git a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h >index 7ea6d700f930efb5ae82e84944576dc28a3e1ca5..1897ae522c5fde356fbdbdd9a2b8f4fe9c94078d 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h >+++ b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h >@@ -40,6 +40,10 @@ WK_CLASS_AVAILABLE(macosx(10.10), ios(8.0)) > > @property (nonatomic, copy) NSArray<NSURL *> *additionalReadAccessAllowedURLs WK_API_AVAILABLE(macosx(10.13), ios(11.0)); > >+#if TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR >+@property (nonatomic) NSUInteger wirelessContextIdentifier; >+#endif >+ > // Network Process properties > // FIXME: These should be be per-session/data store when we support multiple non-persistent sessions/data stores. > >diff --git a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm >index 55416645ec9d8e11d3fb4dfc6eb1727fb8d7e0b1..5dedec50f77313cda236e35db47ea4c6fe2af29f 100644 >--- a/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm >+++ b/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm >@@ -129,6 +129,18 @@ - (void)setAdditionalReadAccessAllowedURLs:(NSArray<NSURL *> *)additionalReadAcc > _processPoolConfiguration->setAdditionalReadAccessAllowedPaths(WTFMove(paths)); > } > >+#if ENABLE(WIFI_ASSERTIONS) >+- (NSUInteger)wirelessContextIdentifier >+{ >+ return _processPoolConfiguration->wirelessContextIdentifier(); >+} >+ >+- (void)setWirelessContextIdentifier:(NSUInteger)identifier >+{ >+ _processPoolConfiguration->setWirelessContextIdentifier(identifier); >+} >+#endif >+ > - (NSArray *)cachePartitionedURLSchemes > { > auto schemes = _processPoolConfiguration->cachePartitionedURLSchemes(); >diff --git a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm >index 2f8e38b6995424dff1e7fdf0eec5aa636e43992b..894dc9ede6aaa0f2d4d11fdae0d5a98be0f9073e 100644 >--- a/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm >+++ b/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm >@@ -328,6 +328,10 @@ void WebProcessPool::platformInitializeNetworkProcess(NetworkProcessCreationPara > if (parameters.recordReplayCacheLocation.isEmpty()) > parameters.recordReplayCacheLocation = parameters.diskCacheDirectory; > #endif >+ >+#if ENABLE(WIFI_ASSERTIONS) >+ parameters.wirelessContextIdentifier = m_configuration->wirelessContextIdentifier(); >+#endif > } > > void WebProcessPool::platformInvalidateContext()
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 185620
: 340342