WebKit Bugzilla
Attachment 347532 Details for
Bug 188748
: Add _WKWebsiteDataStoreConfiguration. sourceApplicationBundleIdentifier and sourceApplicationSecondaryIdentifier
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188748-20180820123932.patch (text/plain), 13.48 KB, created by
Alex Christensen
on 2018-08-20 12:39:32 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Alex Christensen
Created:
2018-08-20 12:39:32 PDT
Size:
13.48 KB
patch
obsolete
>Index: Source/WebKit/ChangeLog >=================================================================== >--- Source/WebKit/ChangeLog (revision 235090) >+++ Source/WebKit/ChangeLog (working copy) >@@ -1,3 +1,31 @@ >+2018-08-20 Alex Christensen <achristensen@webkit.org> >+ >+ Add _WKWebsiteDataStoreConfiguration. sourceApplicationBundleIdentifier and sourceApplicationSecondaryIdentifier >+ https://bugs.webkit.org/show_bug.cgi?id=188748 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * NetworkProcess/NetworkSessionCreationParameters.h: >+ (WebKit::NetworkSessionCreationParameters::encode const): >+ (WebKit::NetworkSessionCreationParameters::decode): >+ * NetworkProcess/cocoa/NetworkSessionCocoa.h: >+ * NetworkProcess/cocoa/NetworkSessionCocoa.mm: >+ (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): >+ * Shared/WebsiteDataStoreParameters.cpp: >+ (WebKit::WebsiteDataStoreParameters::privateSessionParameters): >+ * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: >+ (-[WKWebsiteDataStore _initWithConfiguration:]): >+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: >+ * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: >+ * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: >+ (-[_WKWebsiteDataStoreConfiguration setSourceApplicationBundleIdentifier:]): >+ (-[_WKWebsiteDataStoreConfiguration sourceApplicationBundleIdentifier]): >+ (-[_WKWebsiteDataStoreConfiguration sourceApplicationSecondaryIdentifier]): >+ (-[_WKWebsiteDataStoreConfiguration setSourceApplicationSecondaryIdentifier:]): >+ * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: >+ (WebKit::WebsiteDataStore::parameters): >+ * UIProcess/WebsiteData/WebsiteDataStore.h: >+ > 2018-08-20 Tim Horton <timothy_horton@apple.com> > > Fix the iOSMac build with unified sources >Index: Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h >=================================================================== >--- Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h (revision 235090) >+++ Source/WebKit/NetworkProcess/NetworkSessionCreationParameters.h (working copy) >@@ -49,6 +49,8 @@ struct NetworkSessionCreationParameters > AllowsCellularAccess allowsCellularAccess { AllowsCellularAccess::Yes }; > #if PLATFORM(COCOA) > RetainPtr<CFDictionaryRef> proxyConfiguration; >+ String sourceApplicationBundleIdentifier; >+ String sourceApplicationSecondaryIdentifier; > #endif > }; > >@@ -59,6 +61,8 @@ inline void NetworkSessionCreationParame > encoder << allowsCellularAccess; > #if PLATFORM(COCOA) > IPC::encode(encoder, proxyConfiguration.get()); >+ encoder << sourceApplicationBundleIdentifier; >+ encoder << sourceApplicationSecondaryIdentifier; > #endif > } > >@@ -82,6 +86,15 @@ inline std::optional<NetworkSessionCreat > RetainPtr<CFDictionaryRef> proxyConfiguration; > if (!IPC::decode(decoder, proxyConfiguration)) > return std::nullopt; >+ >+ std::optional<String> sourceApplicationBundleIdentifier; >+ decoder >> sourceApplicationBundleIdentifier; >+ if (!sourceApplicationBundleIdentifier) >+ return std::nullopt; >+ >+ std::optional<String> sourceApplicationSecondaryIdentifier; >+ if (!sourceApplicationSecondaryIdentifier) >+ return std::nullopt; > #endif > > return {{ >@@ -90,6 +103,8 @@ inline std::optional<NetworkSessionCreat > , WTFMove(*allowsCellularAccess) > #if PLATFORM(COCOA) > , WTFMove(proxyConfiguration) >+ , WTFMove(*sourceApplicationBundleIdentifier) >+ , WTFMove(*sourceApplicationSecondaryIdentifier) > #endif > }}; > } >Index: Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h >=================================================================== >--- Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h (revision 235090) >+++ Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h (working copy) >@@ -82,6 +82,9 @@ private: > > String m_boundInterfaceIdentifier; > RetainPtr<CFDictionaryRef> m_proxyConfiguration; >+ >+ String m_sourceApplicationBundleIdentifier; >+ String m_sourceApplicationSecondaryIdentifier; > }; > > } // namespace WebKit >Index: Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm >=================================================================== >--- Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (revision 235090) >+++ Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm (working copy) >@@ -680,13 +680,18 @@ NetworkSessionCocoa::NetworkSessionCocoa > configuration._sourceApplicationAuditTokenData = (__bridge NSData *)data.get(); > > auto& sourceApplicationBundleIdentifier = globalSourceApplicationBundleIdentifier(); >- if (!sourceApplicationBundleIdentifier.isEmpty()) { >+ if (!m_sourceApplicationBundleIdentifier.isEmpty()) { >+ configuration._sourceApplicationBundleIdentifier = m_sourceApplicationBundleIdentifier; >+ configuration._sourceApplicationAuditTokenData = nil; >+ } else if (!sourceApplicationBundleIdentifier.isEmpty()) { > configuration._sourceApplicationBundleIdentifier = sourceApplicationBundleIdentifier; > configuration._sourceApplicationAuditTokenData = nil; > } > > auto& sourceApplicationSecondaryIdentifier = globalSourceApplicationSecondaryIdentifier(); >- if (!sourceApplicationSecondaryIdentifier.isEmpty()) >+ if (!m_sourceApplicationSecondaryIdentifier.isEmpty()) >+ configuration._sourceApplicationSecondaryIdentifier = m_sourceApplicationSecondaryIdentifier; >+ else if (!sourceApplicationSecondaryIdentifier.isEmpty()) > configuration._sourceApplicationSecondaryIdentifier = sourceApplicationSecondaryIdentifier; > > #if PLATFORM(IOS) >Index: Source/WebKit/Shared/WebsiteDataStoreParameters.cpp >=================================================================== >--- Source/WebKit/Shared/WebsiteDataStoreParameters.cpp (revision 235090) >+++ Source/WebKit/Shared/WebsiteDataStoreParameters.cpp (working copy) >@@ -72,7 +72,7 @@ WebsiteDataStoreParameters WebsiteDataSt > ASSERT(sessionID.isEphemeral()); > return { { }, { }, { }, { sessionID, { }, AllowsCellularAccess::Yes > #if PLATFORM(COCOA) >- , nullptr >+ , nullptr , { } , { } > #endif > }}; > } >Index: Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm >=================================================================== >--- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm (revision 235090) >+++ Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm (working copy) >@@ -207,6 +207,10 @@ - (instancetype)_initWithConfiguration:( > config.cacheStorageDirectory = configuration._cacheStorageDirectory.path; > if (configuration._serviceWorkerRegistrationDirectory) > config.serviceWorkerRegistrationDirectory = configuration._serviceWorkerRegistrationDirectory.path; >+ if (configuration.sourceApplicationBundleIdentifier) >+ config.sourceApplicationBundleIdentifier = configuration.sourceApplicationBundleIdentifier; >+ if (configuration.sourceApplicationSecondaryIdentifier) >+ config.sourceApplicationSecondaryIdentifier = configuration.sourceApplicationSecondaryIdentifier; > > API::Object::constructInWrapper<API::WebsiteDataStore>(self, config, PAL::SessionID::generatePersistentSessionID()); > >Index: Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h >=================================================================== >--- Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h (revision 235090) >+++ Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h (working copy) >@@ -54,8 +54,8 @@ WK_CLASS_AVAILABLE(macosx(10.10), ios(8. > @property (nonatomic, copy) NSArray *cachePartitionedURLSchemes; > @property (nonatomic, copy) NSArray<NSString *> *alwaysRevalidatedURLSchemes WK_API_AVAILABLE(macosx(10.12), ios(10.0)); > @property (nonatomic) BOOL diskCacheSpeculativeValidationEnabled WK_API_AVAILABLE(macosx(10.12), ios(10.0)); >-@property (nonatomic, nullable, copy) NSString *sourceApplicationBundleIdentifier WK_API_AVAILABLE(macosx(10.12.3), ios(10.3)); >-@property (nonatomic, nullable, copy) NSString *sourceApplicationSecondaryIdentifier WK_API_AVAILABLE(macosx(10.12.3), ios(10.3)); >+@property (nonatomic, nullable, copy) NSString *sourceApplicationBundleIdentifier WK_API_DEPRECATED_WITH_REPLACEMENT("_WKWebsiteDataStoreConfiguration.sourceApplicationBundleIdentifier", macosx(10.12.3, WK_MAC_TBA), ios(10.3, WK_IOS_TBA)); >+@property (nonatomic, nullable, copy) NSString *sourceApplicationSecondaryIdentifier WK_API_DEPRECATED_WITH_REPLACEMENT("_WKWebsiteDataStoreConfiguration.sourceApplicationSecondaryIdentifier", macosx(10.12.3, WK_MAC_TBA), ios(10.3, WK_IOS_TBA)); > @property (nonatomic) BOOL shouldCaptureAudioInUIProcess WK_API_AVAILABLE(macosx(10.13), ios(11.0)); > #if TARGET_OS_IPHONE > @property (nonatomic, nullable, copy) NSString *CTDataConnectionServiceType WK_API_AVAILABLE(ios(10.3)); >Index: Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h >=================================================================== >--- Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h (revision 235090) >+++ Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h (working copy) >@@ -41,6 +41,8 @@ WK_CLASS_AVAILABLE(macosx(10.13), ios(11 > @property (nonatomic, copy, setter=_setResourceLoadStatisticsDirectory:) NSURL *_resourceLoadStatisticsDirectory WK_API_AVAILABLE(macosx(10.13.4), ios(11.3)); > @property (nonatomic, copy, setter=_setCacheStorageDirectory:) NSURL *_cacheStorageDirectory WK_API_AVAILABLE(macosx(10.13.4), ios(11.3)); > @property (nonatomic, copy, setter=_setServiceWorkerRegistrationDirectory:) NSURL *_serviceWorkerRegistrationDirectory WK_API_AVAILABLE(macosx(10.13.4), ios(11.3)); >+@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)); > > @end > >Index: Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm >=================================================================== >--- Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm (revision 235090) >+++ Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm (working copy) >@@ -44,6 +44,8 @@ static void checkURLArgument(NSURL *url) > RetainPtr<NSURL> _resourceLoadStatisticsDirectoryURL; > RetainPtr<NSURL> _cacheStorageDirectoryURL; > RetainPtr<NSURL> _serviceWorkerRegistrationDirectoryURL; >+ RetainPtr<NSString> _sourceApplicationBundleIdentifier; >+ RetainPtr<NSString> _sourceApplicationSecondaryIdentifier; > } > > - (NSURL *)_webStorageDirectory >@@ -126,6 +128,26 @@ - (void)_setServiceWorkerRegistrationDir > _serviceWorkerRegistrationDirectoryURL = adoptNS([url copy]); > } > >+- (void)setSourceApplicationBundleIdentifier:(NSString *)identifier >+{ >+ _sourceApplicationBundleIdentifier = identifier; >+} >+ >+- (NSString *)sourceApplicationBundleIdentifier >+{ >+ return _sourceApplicationBundleIdentifier.get(); >+} >+ >+- (NSString *)sourceApplicationSecondaryIdentifier >+{ >+ return _sourceApplicationSecondaryIdentifier.get(); >+} >+ >+- (void)setSourceApplicationSecondaryIdentifier:(NSString *)identifier >+{ >+ _sourceApplicationSecondaryIdentifier = identifier; >+} >+ > @end > > #endif >Index: Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h >=================================================================== >--- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h (revision 235090) >+++ Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h (working copy) >@@ -93,6 +93,8 @@ public: > String resourceLoadStatisticsDirectory; > String javaScriptConfigurationDirectory; > String cookieStorageFile; >+ String sourceApplicationBundleIdentifier; >+ String sourceApplicationSecondaryIdentifier; > > explicit Configuration(); > }; >Index: Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm >=================================================================== >--- Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm (revision 235090) >+++ Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm (working copy) >@@ -58,11 +58,17 @@ WebsiteDataStoreParameters WebsiteDataSt > resolveDirectoriesIfNecessary(); > > WebsiteDataStoreParameters parameters; >- parameters.networkSessionParameters = { m_sessionID, m_boundInterfaceIdentifier, m_allowsCellularAccess, m_proxyConfiguration }; >+ parameters.networkSessionParameters = { >+ m_sessionID, >+ m_boundInterfaceIdentifier, >+ m_allowsCellularAccess, >+ m_proxyConfiguration, >+ m_configuration.sourceApplicationBundleIdentifier, >+ m_configuration.sourceApplicationSecondaryIdentifier, >+ }; > > auto cookieFile = resolvedCookieStorageFile(); > >-#if PLATFORM(COCOA) > if (m_uiProcessCookieStorageIdentifier.isEmpty()) { > auto utf8File = cookieFile.utf8(); > auto url = adoptCF(CFURLCreateFromFileSystemRepresentation(kCFAllocatorDefault, (const UInt8 *)utf8File.data(), (CFIndex)utf8File.length(), true)); >@@ -71,7 +77,8 @@ WebsiteDataStoreParameters WebsiteDataSt > } > > parameters.uiProcessCookieStorageIdentifier = m_uiProcessCookieStorageIdentifier; >-#endif >+ parameters.networkSessionParameters.sourceApplicationBundleIdentifier = m_configuration.sourceApplicationBundleIdentifier; >+ parameters.networkSessionParameters.sourceApplicationSecondaryIdentifier = m_configuration.sourceApplicationSecondaryIdentifier; > > parameters.pendingCookies = copyToVector(m_pendingCookies); >
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 188748
:
347509
|
347532
|
347539
|
347541
|
347556