Diff
Modified: trunk/Source/WebKit2/ChangeLog (197515 => 197516)
--- trunk/Source/WebKit2/ChangeLog 2016-03-03 20:34:39 UTC (rev 197515)
+++ trunk/Source/WebKit2/ChangeLog 2016-03-03 21:25:09 UTC (rev 197516)
@@ -1,3 +1,24 @@
+2016-03-03 Alex Christensen <[email protected]>
+
+ [WK2] testRunner.setPrivateBrowsingEnabled doesn't work with NetworkProcess
+ https://bugs.webkit.org/show_bug.cgi?id=115274
+
+ Reviewed by Darin Adler.
+
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ (WebKit::NetworkConnectionToWebProcess::blobSize):
+ (WebKit::NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession):
+ * NetworkProcess/NetworkConnectionToWebProcess.h:
+ * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+ * NetworkProcess/NetworkProcess.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::destroyPrivateBrowsingSession):
+ (WebKit::WebProcess::ensureLegacyPrivateBrowsingSessionInNetworkProcess):
+ (WebKit::WebProcess::pluginProcessConnectionManager):
+ * WebProcess/WebProcess.h:
+
2016-03-02 Alex Christensen <[email protected]>
Properly cancel downloads when using NetworkSession
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp (197515 => 197516)
--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp 2016-03-03 20:34:39 UTC (rev 197515)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp 2016-03-03 21:25:09 UTC (rev 197516)
@@ -270,4 +270,9 @@
resultSize = NetworkBlobRegistry::singleton().blobSize(this, url);
}
+void NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession()
+{
+ NetworkProcess::singleton().ensurePrivateBrowsingSession(SessionID::legacyPrivateSessionID());
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h (197515 => 197516)
--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h 2016-03-03 20:34:39 UTC (rev 197515)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h 2016-03-03 21:25:09 UTC (rev 197516)
@@ -93,6 +93,7 @@
void registerBlobURLForSlice(const WebCore::URL&, const WebCore::URL& srcURL, int64_t start, int64_t end);
void blobSize(const WebCore::URL&, uint64_t& resultSize);
void unregisterBlobURL(const WebCore::URL&);
+ void ensureLegacyPrivateBrowsingSession();
RefPtr<IPC::Connection> m_connection;
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in (197515 => 197516)
--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in 2016-03-03 20:34:39 UTC (rev 197515)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.messages.in 2016-03-03 21:25:09 UTC (rev 197516)
@@ -45,4 +45,5 @@
RegisterBlobURLForSlice(WebCore::URL url, WebCore::URL srcURL, int64_t start, int64_t end)
UnregisterBlobURL(WebCore::URL url)
BlobSize(WebCore::URL url) -> (uint64_t resultSize)
+ EnsureLegacyPrivateBrowsingSession()
}
Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.h (197515 => 197516)
--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.h 2016-03-03 20:34:39 UTC (rev 197515)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.h 2016-03-03 21:25:09 UTC (rev 197516)
@@ -108,6 +108,8 @@
void prefetchDNS(const String&);
+ void ensurePrivateBrowsingSession(WebCore::SessionID);
+
private:
NetworkProcess();
~NetworkProcess();
@@ -149,7 +151,6 @@
void didReceiveSyncNetworkProcessMessage(IPC::Connection&, IPC::MessageDecoder&, std::unique_ptr<IPC::MessageEncoder>&);
void initializeNetworkProcess(const NetworkProcessCreationParameters&);
void createNetworkConnectionToWebProcess();
- void ensurePrivateBrowsingSession(WebCore::SessionID);
void destroyPrivateBrowsingSession(WebCore::SessionID);
void fetchWebsiteData(WebCore::SessionID, OptionSet<WebsiteDataType>, OptionSet<WebsiteDataFetchOption>, uint64_t callbackID);
Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp (197515 => 197516)
--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp 2016-03-03 20:34:39 UTC (rev 197515)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp 2016-03-03 21:25:09 UTC (rev 197516)
@@ -285,13 +285,12 @@
void InjectedBundle::setPrivateBrowsingEnabled(WebPageGroupProxy* pageGroup, bool enabled)
{
- // FIXME (NetworkProcess): This test-only function doesn't work with NetworkProcess, <https://bugs.webkit.org/show_bug.cgi?id=115274>.
-#if PLATFORM(COCOA) || USE(CFNETWORK) || USE(SOUP)
- if (enabled)
+ if (enabled) {
+ WebProcess::singleton().ensureLegacyPrivateBrowsingSessionInNetworkProcess();
WebFrameNetworkingContext::ensurePrivateBrowsingSession(SessionID::legacyPrivateSessionID());
- else
+ } else
SessionTracker::destroySession(SessionID::legacyPrivateSessionID());
-#endif
+
const HashSet<Page*>& pages = PageGroup::pageGroup(pageGroup->identifier())->pages();
for (HashSet<Page*>::iterator iter = pages.begin(); iter != pages.end(); ++iter)
(*iter)->enableLegacyPrivateBrowsing(enabled);
Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (197515 => 197516)
--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp 2016-03-03 20:34:39 UTC (rev 197515)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp 2016-03-03 21:25:09 UTC (rev 197516)
@@ -479,6 +479,11 @@
SessionTracker::destroySession(sessionID);
}
+void WebProcess::ensureLegacyPrivateBrowsingSessionInNetworkProcess()
+{
+ networkConnection()->connection()->send(Messages::NetworkConnectionToWebProcess::EnsureLegacyPrivateBrowsingSession(), 0);
+}
+
#if ENABLE(NETSCAPE_PLUGIN_API)
PluginProcessConnectionManager& WebProcess::pluginProcessConnectionManager()
{
Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (197515 => 197516)
--- trunk/Source/WebKit2/WebProcess/WebProcess.h 2016-03-03 20:34:39 UTC (rev 197515)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h 2016-03-03 21:25:09 UTC (rev 197516)
@@ -164,6 +164,7 @@
void ensurePrivateBrowsingSession(WebCore::SessionID);
void destroyPrivateBrowsingSession(WebCore::SessionID);
+ void ensureLegacyPrivateBrowsingSessionInNetworkProcess();
void pageDidEnterWindow(uint64_t pageID);
void pageWillLeaveWindow(uint64_t pageID);