Diff
Modified: trunk/Source/WebCore/ChangeLog (224790 => 224791)
--- trunk/Source/WebCore/ChangeLog 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebCore/ChangeLog 2017-11-13 23:50:47 UTC (rev 224791)
@@ -1,3 +1,21 @@
+2017-11-13 Alex Christensen <[email protected]>
+
+ Merge NetworkProcess::EnsurePrivateBrowsingSession and NetworkProcess::AddWebsiteDataStore into one message type
+ https://bugs.webkit.org/show_bug.cgi?id=178751
+
+ Reviewed by Brady Eidson.
+
+ The creation of private browsing sessions and persistent browsing sessions has evolved to be the same thing
+ with differences in parameters, like no sandbox extensions or paths to persistent storage locations for private browsing.
+ These should be united to simplify future development of WebsiteDataStore construction.
+
+ * platform/network/NetworkStorageSession.h:
+ * platform/network/cf/NetworkStorageSessionCFNet.cpp:
+ (WebCore::NetworkStorageSession::ensurePrivateBrowsingSession): Deleted.
+ * platform/network/soup/NetworkStorageSessionSoup.cpp:
+ (WebCore::NetworkStorageSession::ensureSession):
+ (WebCore::NetworkStorageSession::ensurePrivateBrowsingSession): Deleted.
+
2017-11-07 Brian Burg <[email protected]>
Web Automation: inViewCenterPoint should not include topContentInset when computed in viewport coordinates
Modified: trunk/Source/WebCore/platform/network/NetworkStorageSession.h (224790 => 224791)
--- trunk/Source/WebCore/platform/network/NetworkStorageSession.h 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebCore/platform/network/NetworkStorageSession.h 2017-11-13 23:50:47 UTC (rev 224791)
@@ -63,7 +63,6 @@
public:
WEBCORE_EXPORT static NetworkStorageSession& defaultStorageSession();
WEBCORE_EXPORT static NetworkStorageSession* storageSession(PAL::SessionID);
- WEBCORE_EXPORT static void ensurePrivateBrowsingSession(PAL::SessionID, const String& identifierBase = String());
WEBCORE_EXPORT static void ensureSession(PAL::SessionID, const String& identifierBase = String());
WEBCORE_EXPORT static void destroySession(PAL::SessionID);
WEBCORE_EXPORT static void forEach(const WTF::Function<void(const WebCore::NetworkStorageSession&)>&);
Modified: trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp (224790 => 224791)
--- trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -108,12 +108,6 @@
return *defaultNetworkStorageSession();
}
-void NetworkStorageSession::ensurePrivateBrowsingSession(PAL::SessionID sessionID, const String& identifierBase)
-{
- ASSERT(sessionID.isEphemeral());
- ensureSession(sessionID, identifierBase);
-}
-
void NetworkStorageSession::ensureSession(PAL::SessionID sessionID, const String& identifierBase, RetainPtr<CFHTTPCookieStorageRef>&& cookieStorage)
{
auto addResult = globalSessionMap().add(sessionID, nullptr);
Modified: trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp (224790 => 224791)
--- trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -79,18 +79,12 @@
return *defaultSession();
}
-void NetworkStorageSession::ensurePrivateBrowsingSession(PAL::SessionID sessionID, const String&)
+void NetworkStorageSession::ensureSession(PAL::SessionID sessionID, const String&)
{
- ASSERT(sessionID != PAL::SessionID::defaultSessionID());
ASSERT(!globalSessionMap().contains(sessionID));
globalSessionMap().add(sessionID, std::make_unique<NetworkStorageSession>(sessionID, std::make_unique<SoupNetworkSession>(sessionID)));
}
-void NetworkStorageSession::ensureSession(PAL::SessionID, const String&)
-{
- // FIXME: Implement
-}
-
void NetworkStorageSession::switchToNewTestingSession()
{
defaultSession() = std::make_unique<NetworkStorageSession>(PAL::SessionID::defaultSessionID(), std::make_unique<SoupNetworkSession>());
Modified: trunk/Source/WebKit/ChangeLog (224790 => 224791)
--- trunk/Source/WebKit/ChangeLog 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/ChangeLog 2017-11-13 23:50:47 UTC (rev 224791)
@@ -1,5 +1,43 @@
2017-11-13 Alex Christensen <[email protected]>
+ Merge NetworkProcess::EnsurePrivateBrowsingSession and NetworkProcess::AddWebsiteDataStore into one message type
+ https://bugs.webkit.org/show_bug.cgi?id=178751
+
+ Reviewed by Brady Eidson.
+
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ (WebKit::NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession):
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::initializeNetworkProcess):
+ (WebKit::NetworkProcess::ensurePrivateBrowsingSession): Deleted.
+ * NetworkProcess/NetworkProcess.h:
+ * NetworkProcess/NetworkProcess.messages.in:
+ * NetworkProcess/RemoteNetworkingContext.h:
+ * NetworkProcess/mac/RemoteNetworkingContext.mm:
+ (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
+ (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Deleted.
+ * Shared/WebsiteDataStoreParameters.cpp:
+ (WebKit::WebsiteDataStoreParameters::legacyPrivateSessionParameters):
+ * Shared/WebsiteDataStoreParameters.h:
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
+ (WebKit::WebProcessPool::createNewWebProcess):
+ (WebKit::WebProcessPool::pageAddedToProcess):
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
+ * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
+ * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
+ (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession):
+ (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Deleted.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setSessionID):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::ensurePrivateBrowsingSession): Deleted.
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+
+2017-11-13 Alex Christensen <[email protected]>
+
Add logs to debug content extension test failures
https://bugs.webkit.org/show_bug.cgi?id=179624
Modified: trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp (224790 => 224791)
--- trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -468,7 +468,7 @@
void NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession()
{
- NetworkProcess::singleton().ensurePrivateBrowsingSession({ { }, { }, { }, { }, WebsiteDataStore::defaultCacheStoragePerOriginQuota, { }, { PAL::SessionID::legacyPrivateSessionID(), { }, { }, AllowsCellularAccess::Yes }});
+ NetworkProcess::singleton().addWebsiteDataStore(WebsiteDataStoreParameters::legacyPrivateSessionParameters());
}
} // namespace WebKit
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (224790 => 224791)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -238,7 +238,7 @@
// FIXME: instead of handling this here, a message should be sent later (scales to multiple sessions)
if (parameters.privateBrowsingEnabled)
- RemoteNetworkingContext::ensurePrivateBrowsingSession({ { }, { }, { }, { }, WebsiteDataStore::defaultCacheStoragePerOriginQuota, { }, { PAL::SessionID::legacyPrivateSessionID(), { }, { }, AllowsCellularAccess::Yes }});
+ RemoteNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters::legacyPrivateSessionParameters());
if (parameters.shouldUseTestingNetworkSession)
NetworkStorageSession::switchToNewTestingSession();
@@ -297,11 +297,6 @@
#endif
}
-void NetworkProcess::ensurePrivateBrowsingSession(WebsiteDataStoreParameters&& parameters)
-{
- RemoteNetworkingContext::ensurePrivateBrowsingSession(WTFMove(parameters));
-}
-
void NetworkProcess::addWebsiteDataStore(WebsiteDataStoreParameters&& parameters)
{
RemoteNetworkingContext::ensureWebsiteDataStoreSession(WTFMove(parameters));
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (224790 => 224791)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2017-11-13 23:50:47 UTC (rev 224791)
@@ -132,7 +132,7 @@
void prefetchDNS(const String&);
- void ensurePrivateBrowsingSession(WebsiteDataStoreParameters&&);
+ void addWebsiteDataStore(WebsiteDataStoreParameters&&);
void grantSandboxExtensionsToStorageProcessForBlobs(const Vector<String>& filenames, Function<void ()>&& completionHandler);
@@ -187,7 +187,6 @@
void didReceiveSyncNetworkProcessMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&);
void initializeNetworkProcess(NetworkProcessCreationParameters&&);
void createNetworkConnectionToWebProcess();
- void addWebsiteDataStore(WebsiteDataStoreParameters&&);
void destroySession(PAL::SessionID);
void fetchWebsiteData(PAL::SessionID, OptionSet<WebsiteDataType>, OptionSet<WebsiteDataFetchOption>, uint64_t callbackID);
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in (224790 => 224791)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in 2017-11-13 23:50:47 UTC (rev 224791)
@@ -35,7 +35,6 @@
ClearCachedCredentials()
- EnsurePrivateBrowsingSession(struct WebKit::WebsiteDataStoreParameters websiteDataStoreParameters)
AddWebsiteDataStore(struct WebKit::WebsiteDataStoreParameters websiteDataStoreParameters);
DestroySession(PAL::SessionID sessionID)
Modified: trunk/Source/WebKit/NetworkProcess/RemoteNetworkingContext.h (224790 => 224791)
--- trunk/Source/WebKit/NetworkProcess/RemoteNetworkingContext.h 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/NetworkProcess/RemoteNetworkingContext.h 2017-11-13 23:50:47 UTC (rev 224791)
@@ -43,7 +43,6 @@
virtual ~RemoteNetworkingContext();
// FIXME: Remove platform-specific code and use SessionTracker.
- static void ensurePrivateBrowsingSession(WebsiteDataStoreParameters&&);
static void ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&&);
bool shouldClearReferrerOnHTTPSToHTTPRedirect() const override { return m_shouldClearReferrerOnHTTPSToHTTPRedirect; }
Modified: trunk/Source/WebKit/NetworkProcess/mac/RemoteNetworkingContext.mm (224790 => 224791)
--- trunk/Source/WebKit/NetworkProcess/mac/RemoteNetworkingContext.mm 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/NetworkProcess/mac/RemoteNetworkingContext.mm 2017-11-13 23:50:47 UTC (rev 224791)
@@ -81,32 +81,6 @@
return WebKit::blockedError(request);
}
-void RemoteNetworkingContext::ensurePrivateBrowsingSession(WebsiteDataStoreParameters&& parameters)
-{
- auto sessionID = parameters.networkSessionParameters.sessionID;
- ASSERT(sessionID.isEphemeral());
-
- if (NetworkStorageSession::storageSession(sessionID))
- return;
-
- String base;
- if (SessionTracker::getIdentifierBase().isNull())
- base = [[NSBundle mainBundle] bundleIdentifier];
- else
- base = SessionTracker::getIdentifierBase();
-
- NetworkStorageSession::ensurePrivateBrowsingSession(sessionID, base + '.' + String::number(sessionID.sessionID()));
-
- auto* session = NetworkStorageSession::storageSession(sessionID);
- for (const auto& cookie : parameters.pendingCookies)
- session->setCookie(cookie);
-
-#if USE(NETWORK_SESSION)
- parameters.networkSessionParameters.legacyCustomProtocolManager = NetworkProcess::singleton().supplement<LegacyCustomProtocolManager>();
- SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.networkSessionParameters)));
-#endif
-}
-
void RemoteNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&& parameters)
{
auto sessionID = parameters.networkSessionParameters.sessionID;
@@ -119,7 +93,10 @@
else
base = SessionTracker::getIdentifierBase();
- SandboxExtension::consumePermanently(parameters.cookieStoragePathExtensionHandle);
+ if (!sessionID.isEphemeral()) {
+ bool result = SandboxExtension::consumePermanently(parameters.cookieStoragePathExtensionHandle);
+ ASSERT_UNUSED(result, result);
+ }
RetainPtr<CFHTTPCookieStorageRef> uiProcessCookieStorage;
if (!parameters.uiProcessCookieStorageIdentifier.isEmpty())
Modified: trunk/Source/WebKit/NetworkProcess/soup/RemoteNetworkingContextSoup.cpp (224790 => 224791)
--- trunk/Source/WebKit/NetworkProcess/soup/RemoteNetworkingContextSoup.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/NetworkProcess/soup/RemoteNetworkingContextSoup.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -48,23 +48,16 @@
return true;
}
-void RemoteNetworkingContext::ensurePrivateBrowsingSession(WebsiteDataStoreParameters&& parameters)
+void RemoteNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&& parameters)
{
auto sessionID = parameters.networkSessionParameters.sessionID;
- ASSERT(sessionID.isEphemeral());
-
if (NetworkStorageSession::storageSession(sessionID))
return;
- NetworkStorageSession::ensurePrivateBrowsingSession(sessionID, String::number(sessionID.sessionID()));
+ NetworkStorageSession::ensureSession(sessionID, String::number(sessionID.sessionID()));
SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.networkSessionParameters)));
}
-void RemoteNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&&)
-{
- // FIXME: Implement.
-}
-
NetworkStorageSession& RemoteNetworkingContext::storageSession() const
{
if (auto session = NetworkStorageSession::storageSession(m_sessionID))
Modified: trunk/Source/WebKit/Shared/WebsiteDataStoreParameters.cpp (224790 => 224791)
--- trunk/Source/WebKit/Shared/WebsiteDataStoreParameters.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/Shared/WebsiteDataStoreParameters.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -27,6 +27,7 @@
#include "WebsiteDataStoreParameters.h"
#include "WebCoreArgumentCoders.h"
+#include "WebsiteDataStore.h"
namespace WebKit {
@@ -77,5 +78,9 @@
return true;
}
+WebsiteDataStoreParameters WebsiteDataStoreParameters::legacyPrivateSessionParameters()
+{
+ return { { }, { }, { }, { }, WebsiteDataStore::defaultCacheStoragePerOriginQuota, { }, { PAL::SessionID::legacyPrivateSessionID(), { }, { }, { }}};
+}
} // namespace WebKit
Modified: trunk/Source/WebKit/Shared/WebsiteDataStoreParameters.h (224790 => 224791)
--- trunk/Source/WebKit/Shared/WebsiteDataStoreParameters.h 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/Shared/WebsiteDataStoreParameters.h 2017-11-13 23:50:47 UTC (rev 224791)
@@ -43,6 +43,7 @@
WebsiteDataStoreParameters() = default;
WebsiteDataStoreParameters(WebsiteDataStoreParameters&&) = default;
~WebsiteDataStoreParameters();
+ static WebsiteDataStoreParameters legacyPrivateSessionParameters();
void encode(IPC::Encoder&) const;
static bool decode(IPC::Decoder&, WebsiteDataStoreParameters&);
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (224790 => 224791)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -634,13 +634,13 @@
{
if (networkProcess()) {
if (privateBrowsingEnabled)
- networkProcess()->send(Messages::NetworkProcess::EnsurePrivateBrowsingSession({ { }, { }, { }, { }, WebsiteDataStore::defaultCacheStoragePerOriginQuota, { }, { PAL::SessionID::legacyPrivateSessionID(), { }, { }, AllowsCellularAccess::Yes }}), 0);
+ networkProcess()->send(Messages::NetworkProcess::AddWebsiteDataStore(WebsiteDataStoreParameters::legacyPrivateSessionParameters()), 0);
else
networkProcess()->send(Messages::NetworkProcess::DestroySession(PAL::SessionID::legacyPrivateSessionID()), 0);
}
if (privateBrowsingEnabled)
- sendToAllProcesses(Messages::WebProcess::EnsurePrivateBrowsingSession(PAL::SessionID::legacyPrivateSessionID()));
+ sendToAllProcesses(Messages::WebProcess::AddWebsiteDataStore(WebsiteDataStoreParameters::legacyPrivateSessionParameters()));
else
sendToAllProcesses(Messages::WebProcess::DestroySession(PAL::SessionID::legacyPrivateSessionID()));
}
@@ -831,7 +831,7 @@
#endif
if (WebPreferences::anyPagesAreUsingPrivateBrowsing())
- process.send(Messages::WebProcess::EnsurePrivateBrowsingSession(PAL::SessionID::legacyPrivateSessionID()), 0);
+ process.send(Messages::WebProcess::AddWebsiteDataStore(WebsiteDataStoreParameters::legacyPrivateSessionParameters()), 0);
if (m_automationSession)
process.send(Messages::WebProcess::EnsureAutomationSessionProxy(m_automationSession->sessionIdentifier()), 0);
@@ -1021,11 +1021,9 @@
auto sessionID = page.sessionID();
if (sessionID.isEphemeral()) {
- // FIXME: Merge NetworkProcess::EnsurePrivateBrowsingSession and NetworkProcess::AddWebsiteDataStore into one message type.
- // They do basically the same thing.
ASSERT(page.websiteDataStore().parameters().networkSessionParameters.sessionID == sessionID);
- sendToNetworkingProcess(Messages::NetworkProcess::EnsurePrivateBrowsingSession(page.websiteDataStore().parameters()));
- page.process().send(Messages::WebProcess::EnsurePrivateBrowsingSession(sessionID), 0);
+ sendToNetworkingProcess(Messages::NetworkProcess::AddWebsiteDataStore(page.websiteDataStore().parameters()));
+ page.process().send(Messages::WebProcess::AddWebsiteDataStore({{ }, { }, { }, { }, { }, { }, { sessionID, { }, { }, { }}}), 0);
} else if (sessionID != PAL::SessionID::defaultSessionID()) {
sendToNetworkingProcess(Messages::NetworkProcess::AddWebsiteDataStore(page.websiteDataStore().parameters()));
page.process().send(Messages::WebProcess::AddWebsiteDataStore(page.websiteDataStore().parameters()), 0);
Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp (224790 => 224791)
--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -321,7 +321,7 @@
{
if (enabled) {
WebProcess::singleton().ensureLegacyPrivateBrowsingSessionInNetworkProcess();
- WebFrameNetworkingContext::ensurePrivateBrowsingSession({ { }, { }, { }, { }, { }, { }, { PAL::SessionID::legacyPrivateSessionID(), { }, { }, AllowsCellularAccess::Yes }});
+ WebFrameNetworkingContext::ensureWebsiteDataStoreSession({ { }, { }, { }, { }, { }, { }, { PAL::SessionID::legacyPrivateSessionID(), { }, { }, AllowsCellularAccess::Yes }});
} else
SessionTracker::destroySession(PAL::SessionID::legacyPrivateSessionID());
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h (224790 => 224791)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h 2017-11-13 23:50:47 UTC (rev 224791)
@@ -42,7 +42,6 @@
}
// FIXME: remove platform-specific code and use SessionTracker
- static void ensurePrivateBrowsingSession(WebsiteDataStoreParameters&&);
static void ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&&);
static void setCookieAcceptPolicyForAllContexts(HTTPCookieAcceptPolicy);
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm (224790 => 224791)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm 2017-11-13 23:50:47 UTC (rev 224791)
@@ -45,27 +45,7 @@
using namespace WebCore;
namespace WebKit {
-
-void WebFrameNetworkingContext::ensurePrivateBrowsingSession(WebsiteDataStoreParameters&& parameters)
-{
- auto sessionID = parameters.networkSessionParameters.sessionID;
- ASSERT(sessionID.isEphemeral());
- if (WebCore::NetworkStorageSession::storageSession(sessionID))
- return;
-
- String base;
- if (SessionTracker::getIdentifierBase().isNull())
- base = [[NSBundle mainBundle] bundleIdentifier];
- else
- base = SessionTracker::getIdentifierBase();
-
- NetworkStorageSession::ensurePrivateBrowsingSession(sessionID, base + '.' + String::number(sessionID.sessionID()));
-#if USE(NETWORK_SESSION)
- SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.networkSessionParameters)));
-#endif
-}
-
void WebFrameNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&& parameters)
{
auto sessionID = parameters.networkSessionParameters.sessionID;
@@ -78,9 +58,16 @@
else
base = SessionTracker::getIdentifierBase();
- SandboxExtension::consumePermanently(parameters.cookieStoragePathExtensionHandle);
+ if (!sessionID.isEphemeral()) {
+ bool result = SandboxExtension::consumePermanently(parameters.cookieStoragePathExtensionHandle);
+ ASSERT_UNUSED(result, result);
+ }
- RetainPtr<CFHTTPCookieStorageRef> uiProcessCookieStorage = cookieStorageFromIdentifyingData(parameters.uiProcessCookieStorageIdentifier);
+ RetainPtr<CFHTTPCookieStorageRef> uiProcessCookieStorage;
+ if (!sessionID.isEphemeral())
+ uiProcessCookieStorage = cookieStorageFromIdentifyingData(parameters.uiProcessCookieStorageIdentifier);
+ else
+ ASSERT(parameters.uiProcessCookieStorageIdentifier.isEmpty());
NetworkStorageSession::ensureSession(sessionID, base + '.' + String::number(sessionID.sessionID()), WTFMove(uiProcessCookieStorage));
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp (224790 => 224791)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -43,24 +43,18 @@
namespace WebKit {
-void WebFrameNetworkingContext::ensurePrivateBrowsingSession(WebsiteDataStoreParameters&& parameters)
+void WebFrameNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&& parameters)
{
auto sessionID = parameters.networkSessionParameters.sessionID;
ASSERT(RunLoop::isMain());
- ASSERT(sessionID.isEphemeral());
if (NetworkStorageSession::storageSession(sessionID))
return;
- NetworkStorageSession::ensurePrivateBrowsingSession(sessionID, String::number(sessionID.sessionID()));
+ NetworkStorageSession::ensureSession(sessionID, String::number(sessionID.sessionID()));
SessionTracker::setSession(sessionID, NetworkSession::create(WTFMove(parameters.networkSessionParameters)));
}
-void WebFrameNetworkingContext::ensureWebsiteDataStoreSession(WebsiteDataStoreParameters&&)
-{
- // FIXME: Implement
-}
-
WebFrameNetworkingContext::WebFrameNetworkingContext(WebFrame* frame)
: FrameNetworkingContext(frame->coreFrame())
{
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (224790 => 224791)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -121,6 +121,7 @@
#include "WebUserContentController.h"
#include "WebUserMediaClient.h"
#include "WebValidationMessageClient.h"
+#include "WebsiteDataStoreParameters.h"
#include <_javascript_Core/APICast.h>
#include <WebCore/ApplicationCacheStorage.h>
#include <WebCore/ArchiveResource.h>
@@ -2740,7 +2741,7 @@
void WebPage::setSessionID(PAL::SessionID sessionID)
{
if (sessionID.isEphemeral())
- WebProcess::singleton().ensurePrivateBrowsingSession(sessionID);
+ WebProcess::singleton().addWebsiteDataStore({{ }, { }, { }, { }, { }, { }, { sessionID, { }, { }, { }}});
m_page->setSessionID(sessionID);
}
Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (224790 => 224791)
--- trunk/Source/WebKit/WebProcess/WebProcess.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -515,11 +515,6 @@
m_fullKeyboardAccessEnabled = fullKeyboardAccessEnabled;
}
-void WebProcess::ensurePrivateBrowsingSession(PAL::SessionID sessionID)
-{
- WebFrameNetworkingContext::ensurePrivateBrowsingSession({ { }, { }, { }, { }, { }, { }, { sessionID, { }, { }, AllowsCellularAccess::Yes }});
-}
-
void WebProcess::addWebsiteDataStore(WebsiteDataStoreParameters&& parameters)
{
WebFrameNetworkingContext::ensureWebsiteDataStoreSession(WTFMove(parameters));
Modified: trunk/Source/WebKit/WebProcess/WebProcess.h (224790 => 224791)
--- trunk/Source/WebKit/WebProcess/WebProcess.h 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/WebProcess/WebProcess.h 2017-11-13 23:50:47 UTC (rev 224791)
@@ -178,7 +178,6 @@
void setCacheModel(uint32_t);
- void ensurePrivateBrowsingSession(PAL::SessionID);
void ensureLegacyPrivateBrowsingSessionInNetworkProcess();
void addWebsiteDataStore(WebsiteDataStoreParameters&&);
void destroySession(PAL::SessionID);
Modified: trunk/Source/WebKit/WebProcess/WebProcess.messages.in (224790 => 224791)
--- trunk/Source/WebKit/WebProcess/WebProcess.messages.in 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKit/WebProcess/WebProcess.messages.in 2017-11-13 23:50:47 UTC (rev 224791)
@@ -47,7 +47,6 @@
ClearCachedCredentials()
- EnsurePrivateBrowsingSession(PAL::SessionID sessionID)
AddWebsiteDataStore(struct WebKit::WebsiteDataStoreParameters websiteDataStoreParameters);
DestroySession(PAL::SessionID sessionID)
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (224790 => 224791)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2017-11-13 23:50:47 UTC (rev 224791)
@@ -1,3 +1,13 @@
+2017-11-13 Alex Christensen <[email protected]>
+
+ Merge NetworkProcess::EnsurePrivateBrowsingSession and NetworkProcess::AddWebsiteDataStore into one message type
+ https://bugs.webkit.org/show_bug.cgi?id=178751
+
+ Reviewed by Brady Eidson.
+
+ * WebCoreSupport/WebFrameNetworkingContext.mm:
+ (WebFrameNetworkingContext::ensurePrivateBrowsingSession):
+
2017-11-08 Keith Miller <[email protected]>
Async iteration should only fetch the next method once and add feature flag
Modified: trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameNetworkingContext.mm (224790 => 224791)
--- trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameNetworkingContext.mm 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameNetworkingContext.mm 2017-11-13 23:50:47 UTC (rev 224791)
@@ -46,7 +46,7 @@
NetworkStorageSession& WebFrameNetworkingContext::ensurePrivateBrowsingSession()
{
ASSERT(isMainThread());
- NetworkStorageSession::ensurePrivateBrowsingSession(PAL::SessionID::legacyPrivateSessionID(), [[NSBundle mainBundle] bundleIdentifier]);
+ NetworkStorageSession::ensureSession(PAL::SessionID::legacyPrivateSessionID(), [[NSBundle mainBundle] bundleIdentifier]);
return *NetworkStorageSession::storageSession(PAL::SessionID::legacyPrivateSessionID());
}
Modified: trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameNetworkingContext.cpp (224790 => 224791)
--- trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameNetworkingContext.cpp 2017-11-13 23:25:00 UTC (rev 224790)
+++ trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameNetworkingContext.cpp 2017-11-13 23:50:47 UTC (rev 224791)
@@ -81,7 +81,7 @@
} else
base = identifierBase();
- NetworkStorageSession::ensurePrivateBrowsingSession(PAL::SessionID::legacyPrivateSessionID(), base);
+ NetworkStorageSession::ensureSession(PAL::SessionID::legacyPrivateSessionID(), base);
#endif
return *NetworkStorageSession::storageSession(PAL::SessionID::legacyPrivateSessionID());