Title: [163150] trunk/Source/WebKit2
Revision
163150
Author
[email protected]
Date
2014-01-30 19:16:21 -0800 (Thu, 30 Jan 2014)

Log Message

Unreviewed, rolling out r163125.
http://trac.webkit.org/changeset/163125
https://bugs.webkit.org/show_bug.cgi?id=127980

caused 9 layout tests to assert and crash (Requested by estes
on #webkit).

* NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
* Shared/SessionTracker.cpp:
(WebKit::SessionTracker::session):
(WebKit::SessionTracker::setSession):
(WebKit::SessionTracker::destroySession):
* Shared/SessionTracker.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setSession):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::legacySessionID):
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):
* WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::setSessionID):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (163149 => 163150)


--- trunk/Source/WebKit2/ChangeLog	2014-01-31 02:24:35 UTC (rev 163149)
+++ trunk/Source/WebKit2/ChangeLog	2014-01-31 03:16:21 UTC (rev 163150)
@@ -1,3 +1,35 @@
+2014-01-30  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r163125.
+        http://trac.webkit.org/changeset/163125
+        https://bugs.webkit.org/show_bug.cgi?id=127980
+
+        caused 9 layout tests to assert and crash (Requested by estes
+        on #webkit).
+
+        * NetworkProcess/mac/RemoteNetworkingContext.mm:
+        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
+        * Shared/SessionTracker.cpp:
+        (WebKit::SessionTracker::session):
+        (WebKit::SessionTracker::setSession):
+        (WebKit::SessionTracker::destroySession):
+        * Shared/SessionTracker.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::setSession):
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        (WebKit::legacySessionID):
+        (WebKit::WebPlatformStrategies::cookiesForDOM):
+        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
+        (WebKit::WebPlatformStrategies::cookiesEnabled):
+        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
+        (WebKit::WebPlatformStrategies::getRawCookies):
+        (WebKit::WebPlatformStrategies::deleteCookie):
+        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
+        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
+        * WebProcess/WebPage/WebPage.cpp:
+        * WebProcess/WebPage/WebPage.h:
+        (WebKit::WebPage::setSessionID):
+
 2014-01-30  Anders Carlsson  <[email protected]>
 
         Add webView:didFinishLoadingNavigation: delegate method

Modified: trunk/Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.mm (163149 => 163150)


--- trunk/Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.mm	2014-01-31 02:24:35 UTC (rev 163149)
+++ trunk/Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.mm	2014-01-31 03:16:21 UTC (rev 163150)
@@ -79,8 +79,6 @@
 
 void RemoteNetworkingContext::ensurePrivateBrowsingSession(uint64_t sessionID)
 {
-    ASSERT(SessionTracker::isEphemeralID(sessionID));
-
     if (SessionTracker::session(sessionID))
         return;
 

Modified: trunk/Source/WebKit2/Shared/SessionTracker.cpp (163149 => 163150)


--- trunk/Source/WebKit2/Shared/SessionTracker.cpp	2014-01-31 02:24:35 UTC (rev 163149)
+++ trunk/Source/WebKit2/Shared/SessionTracker.cpp	2014-01-31 03:16:21 UTC (rev 163150)
@@ -44,14 +44,6 @@
     return map.get();
 }
 
-static HashMap<const NetworkStorageSession*, uint64_t>& storageSessionToID()
-{
-    ASSERT(isMainThread());
-
-    static NeverDestroyed<HashMap<const NetworkStorageSession*, uint64_t>> map;
-    return map.get();
-}
-
 static String& identifierBase()
 {
     ASSERT(isMainThread());
@@ -74,28 +66,19 @@
 {
     if (sessionID == defaultSessionID)
         return &NetworkStorageSession::defaultStorageSession();
-    return staticSessionMap().get(sessionID);
+    return staticSessionMap().add(sessionID, nullptr).iterator->value.get();
 }
 
-uint64_t SessionTracker::sessionID(const NetworkStorageSession& session)
-{
-    if (&session == &NetworkStorageSession::defaultStorageSession())
-        return defaultSessionID;
-    return storageSessionToID().get(&session);
-}
-
 void SessionTracker::setSession(uint64_t sessionID, std::unique_ptr<NetworkStorageSession> session)
 {
     ASSERT(sessionID != defaultSessionID);
-    storageSessionToID().set(session.get(), sessionID);
-    staticSessionMap().set(sessionID, std::move(session));
+    staticSessionMap().add(sessionID, nullptr).iterator->value = std::move(session);
 }
 
 void SessionTracker::destroySession(uint64_t sessionID)
 {
     ASSERT(isMainThread());
 
-    storageSessionToID().remove(session(sessionID));
     staticSessionMap().remove(sessionID);
 }
 

Modified: trunk/Source/WebKit2/Shared/SessionTracker.h (163149 => 163150)


--- trunk/Source/WebKit2/Shared/SessionTracker.h	2014-01-31 02:24:35 UTC (rev 163149)
+++ trunk/Source/WebKit2/Shared/SessionTracker.h	2014-01-31 03:16:21 UTC (rev 163150)
@@ -43,7 +43,6 @@
     static const HashMap<uint64_t, std::unique_ptr<WebCore::NetworkStorageSession>>& sessionMap();
     static const String& getIdentifierBase();
     static WebCore::NetworkStorageSession* session(uint64_t sessionID);
-    static uint64_t sessionID(const WebCore::NetworkStorageSession&);
     static void setSession(uint64_t sessionID, std::unique_ptr<WebCore::NetworkStorageSession>);
     static void destroySession(uint64_t sessionID);
     static void setIdentifierBase(const String&);

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (163149 => 163150)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2014-01-31 02:24:35 UTC (rev 163149)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2014-01-31 03:16:21 UTC (rev 163150)
@@ -512,8 +512,7 @@
     m_process->send(Messages::WebPage::SetSessionID(session.getID()), m_pageID);
 
 #if ENABLE(NETWORK_PROCESS)
-    if (session.isEphemeral())
-        m_process->context().sendToNetworkingProcess(Messages::NetworkProcess::EnsurePrivateBrowsingSession(session.getID()));
+    m_process->context().sendToNetworkingProcess(Messages::NetworkProcess::EnsurePrivateBrowsingSession(session.getID()));
 #endif
 }
 

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp (163149 => 163150)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp	2014-01-31 02:24:35 UTC (rev 163149)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp	2014-01-31 03:16:21 UTC (rev 163150)
@@ -73,6 +73,13 @@
 
 namespace WebKit {
 
+#if ENABLE(NETWORK_PROCESS)
+static uint64_t legacySessionID(const NetworkStorageSession &session)
+{
+    return session.isPrivateBrowsingSession() ? SessionTracker::legacyPrivateSessionID : SessionTracker::defaultSessionID;
+}
+#endif
+
 void WebPlatformStrategies::initialize()
 {
     static NeverDestroyed<WebPlatformStrategies> platformStrategies;
@@ -134,7 +141,7 @@
 #if ENABLE(NETWORK_PROCESS)
     if (WebProcess::shared().usesNetworkProcess()) {
         String result;
-        if (!WebProcess::shared().networkConnection()->connection()->sendSync(Messages::NetworkConnectionToWebProcess::CookiesForDOM(SessionTracker::sessionID(session), firstParty, url), Messages::NetworkConnectionToWebProcess::CookiesForDOM::Reply(result), 0))
+        if (!WebProcess::shared().networkConnection()->connection()->sendSync(Messages::NetworkConnectionToWebProcess::CookiesForDOM(legacySessionID(session), firstParty, url), Messages::NetworkConnectionToWebProcess::CookiesForDOM::Reply(result), 0))
             return String();
         return result;
     }
@@ -147,7 +154,7 @@
 {
 #if ENABLE(NETWORK_PROCESS)
     if (WebProcess::shared().usesNetworkProcess()) {
-        WebProcess::shared().networkConnection()->connection()->send(Messages::NetworkConnectionToWebProcess::SetCookiesFromDOM(SessionTracker::sessionID(session), firstParty, url, cookieString), 0);
+        WebProcess::shared().networkConnection()->connection()->send(Messages::NetworkConnectionToWebProcess::SetCookiesFromDOM(legacySessionID(session), firstParty, url, cookieString), 0);
         return;
     }
 #endif
@@ -160,7 +167,7 @@
 #if ENABLE(NETWORK_PROCESS)
     if (WebProcess::shared().usesNetworkProcess()) {
         bool result;
-        if (!WebProcess::shared().networkConnection()->connection()->sendSync(Messages::NetworkConnectionToWebProcess::CookiesEnabled(SessionTracker::sessionID(session), firstParty, url), Messages::NetworkConnectionToWebProcess::CookiesEnabled::Reply(result), 0))
+        if (!WebProcess::shared().networkConnection()->connection()->sendSync(Messages::NetworkConnectionToWebProcess::CookiesEnabled(legacySessionID(session), firstParty, url), Messages::NetworkConnectionToWebProcess::CookiesEnabled::Reply(result), 0))
             return false;
         return result;
     }
@@ -174,7 +181,7 @@
 #if ENABLE(NETWORK_PROCESS)
     if (WebProcess::shared().usesNetworkProcess()) {
         String result;
-        if (!WebProcess::shared().networkConnection()->connection()->sendSync(Messages::NetworkConnectionToWebProcess::CookieRequestHeaderFieldValue(SessionTracker::sessionID(session), firstParty, url), Messages::NetworkConnectionToWebProcess::CookieRequestHeaderFieldValue::Reply(result), 0))
+        if (!WebProcess::shared().networkConnection()->connection()->sendSync(Messages::NetworkConnectionToWebProcess::CookieRequestHeaderFieldValue(legacySessionID(session), firstParty, url), Messages::NetworkConnectionToWebProcess::CookieRequestHeaderFieldValue::Reply(result), 0))
             return String();
         return result;
     }
@@ -187,7 +194,7 @@
 {
 #if ENABLE(NETWORK_PROCESS)
     if (WebProcess::shared().usesNetworkProcess()) {
-        if (!WebProcess::shared().networkConnection()->connection()->sendSync(Messages::NetworkConnectionToWebProcess::GetRawCookies(SessionTracker::sessionID(session), firstParty, url), Messages::NetworkConnectionToWebProcess::GetRawCookies::Reply(rawCookies), 0))
+        if (!WebProcess::shared().networkConnection()->connection()->sendSync(Messages::NetworkConnectionToWebProcess::GetRawCookies(legacySessionID(session), firstParty, url), Messages::NetworkConnectionToWebProcess::GetRawCookies::Reply(rawCookies), 0))
             return false;
         return true;
     }
@@ -200,7 +207,7 @@
 {
 #if ENABLE(NETWORK_PROCESS)
     if (WebProcess::shared().usesNetworkProcess()) {
-        WebProcess::shared().networkConnection()->connection()->send(Messages::NetworkConnectionToWebProcess::DeleteCookie(SessionTracker::sessionID(session), url, cookieName), 0);
+        WebProcess::shared().networkConnection()->connection()->send(Messages::NetworkConnectionToWebProcess::DeleteCookie(legacySessionID(session), url, cookieName), 0);
         return;
     }
 #endif

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm (163149 => 163150)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm	2014-01-31 02:24:35 UTC (rev 163149)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm	2014-01-31 03:16:21 UTC (rev 163150)
@@ -44,8 +44,6 @@
     
 void WebFrameNetworkingContext::ensurePrivateBrowsingSession(uint64_t sessionID)
 {
-    ASSERT(SessionTracker::isEphemeralID(sessionID));
-
     if (SessionTracker::session(sessionID))
         return;
 

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (163149 => 163150)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2014-01-31 02:24:35 UTC (rev 163149)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2014-01-31 03:16:21 UTC (rev 163150)
@@ -2135,13 +2135,6 @@
     return m_page->settings().privateBrowsingEnabled() ? SessionTracker::legacyPrivateSessionID : SessionTracker::defaultSessionID;
 }
 
-void WebPage::setSessionID(uint64_t sessionID)
-{
-    m_sessionID = sessionID;
-    if (SessionTracker::isEphemeralID(sessionID))
-        WebProcess::shared().ensurePrivateBrowsingSession(sessionID);
-}
-
 void WebPage::didReceivePolicyDecision(uint64_t frameID, uint64_t listenerID, uint32_t policyAction, uint64_t downloadID)
 {
     WebFrame* frame = WebProcess::shared().webFrame(frameID);

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (163149 => 163150)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h	2014-01-31 02:24:35 UTC (rev 163149)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h	2014-01-31 03:16:21 UTC (rev 163150)
@@ -181,7 +181,7 @@
     WebCore::Page* corePage() const { return m_page.get(); }
     uint64_t pageID() const { return m_pageID; }
     uint64_t sessionID() const;
-    void setSessionID(uint64_t);
+    void setSessionID(uint64_t sessionID) { m_sessionID = sessionID; }
 
     void setSize(const WebCore::IntSize&);
     const WebCore::IntSize& size() const { return m_viewSize; }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to