Title: [264156] trunk
Revision
264156
Author
[email protected]
Date
2020-07-09 00:57:01 -0700 (Thu, 09 Jul 2020)

Log Message

[SOUP] Add support for HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain
https://bugs.webkit.org/show_bug.cgi?id=213954

Reviewed by Michael Catanzaro.

Source/WebCore:

Handle both OnlyFromMainDocumentDomain and ExclusivelyFromMainDocumentDomain.

* platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::NetworkStorageSession):
(WebCore::NetworkStorageSession::setCookieAcceptPolicy):
(WebCore::NetworkStorageSession::cookieAcceptPolicy const):
(WebCore::NetworkStorageSession::setResourceLoadStatisticsEnabled):

Source/WebKit:

Use ExclusivelyFromMainDocumentDomain for WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY instead of
OnlyFromMainDocumentDomain.

* UIProcess/API/glib/WebKitCookieManager.cpp:
(toWebKitCookieAcceptPolicy):
(toHTTPCookieAcceptPolicy):
* UIProcess/WebProcessPool.h:

Tools:

Update libsoup to version 2.71.0.

* buildstream/elements/sdk/libsoup.bst:
* gtk/jhbuild.modules:

LayoutTests:

Update test expectations.

* platform/glib/TestExpectations:
* platform/glib/http/tests/websocket/tests/hybi/websocket-allowed-setting-cookie-as-third-party-expected.txt: Removed.
* platform/glib/http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior-expected.txt: Removed.
* platform/gtk/TestExpectations:

Modified Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (264155 => 264156)


--- trunk/LayoutTests/ChangeLog	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/LayoutTests/ChangeLog	2020-07-09 07:57:01 UTC (rev 264156)
@@ -1,3 +1,17 @@
+2020-07-09  Carlos Garcia Campos  <[email protected]>
+
+        [SOUP] Add support for HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain
+        https://bugs.webkit.org/show_bug.cgi?id=213954
+
+        Reviewed by Michael Catanzaro.
+
+        Update test expectations.
+
+        * platform/glib/TestExpectations:
+        * platform/glib/http/tests/websocket/tests/hybi/websocket-allowed-setting-cookie-as-third-party-expected.txt: Removed.
+        * platform/glib/http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior-expected.txt: Removed.
+        * platform/gtk/TestExpectations:
+
 2020-07-08  Lauro Moura  <[email protected]>
 
         [GTK][WPE] Gardening after latest wpt resyncs

Modified: trunk/LayoutTests/platform/glib/TestExpectations (264155 => 264156)


--- trunk/LayoutTests/platform/glib/TestExpectations	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/LayoutTests/platform/glib/TestExpectations	2020-07-09 07:57:01 UTC (rev 264156)
@@ -631,10 +631,6 @@
 http/tests/storageAccess/deny-with-prompt-does-not-preserve-gesture-database.html [ Skip ]
 webkit.org/b/208400 http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral-database.html [ Failure ]
 webkit.org/b/208400 http/tests/storageAccess/has-storage-access-true-if-third-party-has-cookies-ephemeral.html [ Failure ]
-webkit.org/b/213954 http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-database.html [ Failure ]
-webkit.org/b/213954 http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html [ Failure ]
-webkit.org/b/213954 http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-database.html [ Failure ]
-webkit.org/b/213954 http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access.html [ Failure ]
 
 webkit.org/b/172056 fast/text/multiglyph-characters.html [ Pass ]
 

Deleted: trunk/LayoutTests/platform/glib/http/tests/websocket/tests/hybi/websocket-allowed-setting-cookie-as-third-party-expected.txt (264155 => 264156)


--- trunk/LayoutTests/platform/glib/http/tests/websocket/tests/hybi/websocket-allowed-setting-cookie-as-third-party-expected.txt	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/LayoutTests/platform/glib/http/tests/websocket/tests/hybi/websocket-allowed-setting-cookie-as-third-party-expected.txt	2020-07-09 07:57:01 UTC (rev 264156)
@@ -1,19 +0,0 @@
-Tests WebSocket Set-Cookie behavior for third-parties with existing cookies.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS document.location.host is "127.0.0.1:8000"
-
-Setting third-party cookie 'foo' through cross-origin WebSocket handshake.
-
-Opening localhost third-party iframe to check its cookies.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
-
---------
-Frame: '<!--frame1-->'
---------
-Cookies are: setAsFirstParty = value

Deleted: trunk/LayoutTests/platform/glib/http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior-expected.txt (264155 => 264156)


--- trunk/LayoutTests/platform/glib/http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior-expected.txt	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/LayoutTests/platform/glib/http/tests/websocket/tests/hybi/websocket-cookie-overwrite-behavior-expected.txt	2020-07-09 07:57:01 UTC (rev 264156)
@@ -1,18 +0,0 @@
-Tests WebSocket Set-Cookie overwriting behavior with respect to a document cookie.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Setting third-party cookie 'foo' through cross-origin WebSocket handshake and checking that it doesn't write first-party cookies.
-PASS cookieValue is ""
-
-Opening localhost third-party iframe to check its cookies.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
-
---------
-Frame: '<!--frame1-->'
---------
-Cookies are: setAsFirstParty = value

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (264155 => 264156)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2020-07-09 07:57:01 UTC (rev 264156)
@@ -175,9 +175,6 @@
 fast/images/pdf-as-image.html [ WontFix Pass ]
 fast/images/pdf-as-tiled-background.html [ WontFix Pass ]
 
-# Doesn't apply to platforms that don't enforce the CFNetwork-style 3rd party cookie policy.
-http/tests/cookies/third-party-cookie-relaxing.html [ WontFix Failure ]
-
 # This test is specific to QuickTime media engine.
 media/video-does-not-loop.html [ WontFix Timeout Crash ]
 

Modified: trunk/Source/WebCore/ChangeLog (264155 => 264156)


--- trunk/Source/WebCore/ChangeLog	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/Source/WebCore/ChangeLog	2020-07-09 07:57:01 UTC (rev 264156)
@@ -1,3 +1,18 @@
+2020-07-09  Carlos Garcia Campos  <[email protected]>
+
+        [SOUP] Add support for HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain
+        https://bugs.webkit.org/show_bug.cgi?id=213954
+
+        Reviewed by Michael Catanzaro.
+
+        Handle both OnlyFromMainDocumentDomain and ExclusivelyFromMainDocumentDomain.
+
+        * platform/network/soup/NetworkStorageSessionSoup.cpp:
+        (WebCore::NetworkStorageSession::NetworkStorageSession):
+        (WebCore::NetworkStorageSession::setCookieAcceptPolicy):
+        (WebCore::NetworkStorageSession::cookieAcceptPolicy const):
+        (WebCore::NetworkStorageSession::setResourceLoadStatisticsEnabled):
+
 2020-07-08  Simon Fraser  <[email protected]>
 
         Allow ScrollableArea to ask if a user scroll is in progress

Modified: trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp (264155 => 264156)


--- trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp	2020-07-09 07:57:01 UTC (rev 264156)
@@ -56,7 +56,7 @@
 
 NetworkStorageSession::NetworkStorageSession(PAL::SessionID sessionID)
     : m_sessionID(sessionID)
-    , m_cookieAcceptPolicy(HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain)
+    , m_cookieAcceptPolicy(HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain)
     , m_cookieStorage(adoptGRef(soup_cookie_jar_new()))
 {
     setCookieAcceptPolicy(m_cookieAcceptPolicy);
@@ -248,7 +248,7 @@
 {
     if (m_isResourceLoadStatisticsEnabled && m_thirdPartyCookieBlockingMode == ThirdPartyCookieBlockingMode::All) {
         m_cookieAcceptPolicy = policy;
-        if (m_cookieAcceptPolicy == HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain)
+        if (m_cookieAcceptPolicy == HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain)
             policy = HTTPCookieAcceptPolicy::AlwaysAccept;
     }
 
@@ -261,10 +261,14 @@
         soupPolicy = SOUP_COOKIE_JAR_ACCEPT_NEVER;
         break;
     case HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain:
-        soupPolicy = SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY;
+#if SOUP_CHECK_VERSION(2, 71, 0)
+        soupPolicy = SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY;
         break;
+#else
+        FALLTHROUGH;
+#endif
     case HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain:
-        ASSERT_NOT_REACHED();
+        soupPolicy = SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY;
         break;
     }
 
@@ -277,7 +281,11 @@
     case SOUP_COOKIE_JAR_ACCEPT_ALWAYS:
         return HTTPCookieAcceptPolicy::AlwaysAccept;
     case SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY:
+        return HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain;
+#if SOUP_CHECK_VERSION(2, 71, 0)
+    case SOUP_COOKIE_JAR_ACCEPT_GRANDFATHERED_THIRD_PARTY:
         return HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain;
+#endif
     case SOUP_COOKIE_JAR_ACCEPT_NEVER:
         return HTTPCookieAcceptPolicy::Never;
     }
@@ -289,7 +297,7 @@
 {
     if (enabled) {
         m_cookieAcceptPolicy = cookieAcceptPolicy();
-        if (m_thirdPartyCookieBlockingMode == ThirdPartyCookieBlockingMode::All && m_cookieAcceptPolicy == HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain)
+        if (m_thirdPartyCookieBlockingMode == ThirdPartyCookieBlockingMode::All && m_cookieAcceptPolicy == HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain)
             setCookieAcceptPolicy(HTTPCookieAcceptPolicy::AlwaysAccept);
         m_isResourceLoadStatisticsEnabled = true;
     } else {

Modified: trunk/Source/WebKit/ChangeLog (264155 => 264156)


--- trunk/Source/WebKit/ChangeLog	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/Source/WebKit/ChangeLog	2020-07-09 07:57:01 UTC (rev 264156)
@@ -1,3 +1,18 @@
+2020-07-09  Carlos Garcia Campos  <[email protected]>
+
+        [SOUP] Add support for HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain
+        https://bugs.webkit.org/show_bug.cgi?id=213954
+
+        Reviewed by Michael Catanzaro.
+
+        Use ExclusivelyFromMainDocumentDomain for WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY instead of
+        OnlyFromMainDocumentDomain.
+
+        * UIProcess/API/glib/WebKitCookieManager.cpp:
+        (toWebKitCookieAcceptPolicy):
+        (toHTTPCookieAcceptPolicy):
+        * UIProcess/WebProcessPool.h:
+
 2020-07-08  Per Arne Vollan  <[email protected]>
 
         [Cocoa] Update Launch Services database in the WebContent process from the Network process

Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp (264155 => 264156)


--- trunk/Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp	2020-07-09 07:57:01 UTC (rev 264156)
@@ -95,12 +95,12 @@
         return WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS;
     case WebCore::HTTPCookieAcceptPolicy::Never:
         return WEBKIT_COOKIE_POLICY_ACCEPT_NEVER;
+    case WebCore::HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain:
+        return WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY;
     case WebCore::HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain:
-        return WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY;
-    default:
-        ASSERT_NOT_REACHED();
-        return WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS;
+        break;
     }
+    RELEASE_ASSERT_NOT_REACHED();
 }
 
 static inline WebCore::HTTPCookieAcceptPolicy toHTTPCookieAcceptPolicy(WebKitCookieAcceptPolicy kitPolicy)
@@ -111,11 +111,9 @@
     case WEBKIT_COOKIE_POLICY_ACCEPT_NEVER:
         return WebCore::HTTPCookieAcceptPolicy::Never;
     case WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY:
-        return WebCore::HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain;
-    default:
-        ASSERT_NOT_REACHED();
-        return WebCore::HTTPCookieAcceptPolicy::AlwaysAccept;
+        return WebCore::HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain;
     }
+    RELEASE_ASSERT_NOT_REACHED();
 }
 
 static void webkit_cookie_manager_class_init(WebKitCookieManagerClass* findClass)

Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.h (264155 => 264156)


--- trunk/Source/WebKit/UIProcess/WebProcessPool.h	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.h	2020-07-09 07:57:01 UTC (rev 264156)
@@ -689,7 +689,7 @@
     WebContextSupplementMap m_supplements;
 
 #if USE(SOUP)
-    WebCore::HTTPCookieAcceptPolicy m_initialHTTPCookieAcceptPolicy { WebCore::HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain };
+    WebCore::HTTPCookieAcceptPolicy m_initialHTTPCookieAcceptPolicy { WebCore::HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain };
     WebCore::SoupNetworkProxySettings m_networkProxySettings;
 #endif
 

Modified: trunk/Tools/ChangeLog (264155 => 264156)


--- trunk/Tools/ChangeLog	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/Tools/ChangeLog	2020-07-09 07:57:01 UTC (rev 264156)
@@ -1,3 +1,15 @@
+2020-07-09  Carlos Garcia Campos  <[email protected]>
+
+        [SOUP] Add support for HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain
+        https://bugs.webkit.org/show_bug.cgi?id=213954
+
+        Reviewed by Michael Catanzaro.
+
+        Update libsoup to version 2.71.0.
+
+        * buildstream/elements/sdk/libsoup.bst:
+        * gtk/jhbuild.modules:
+
 2020-07-08  Stephan Szabo  <[email protected]>
 
         [Windows] Fix errors from calls to uname when not available

Modified: trunk/Tools/buildstream/elements/sdk/libsoup.bst (264155 => 264156)


--- trunk/Tools/buildstream/elements/sdk/libsoup.bst	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/Tools/buildstream/elements/sdk/libsoup.bst	2020-07-09 07:57:01 UTC (rev 264156)
@@ -1,8 +1,8 @@
 kind: meson
 sources:
 - kind: tar
-  url: gnome_downloads:libsoup/2.70/libsoup-2.70.0.tar.xz
-  ref: 54b020f74aefa438918d8e53cff62e2b1e59efe2de53e06b19a4b07b1f4d5342
+  url: gnome_downloads:libsoup/2.71/libsoup-2.71.0.tar.xz
+  ref: 88e24fad72d16e1cb692c8782688dbee4bf44151efb0d9ed25b14f3849d9896e
 build-depends:
 - sdk/gobject-introspection.bst
 - freedesktop-sdk.bst:components/python3.bst

Modified: trunk/Tools/gtk/jhbuild.modules (264155 => 264156)


--- trunk/Tools/gtk/jhbuild.modules	2020-07-09 07:01:24 UTC (rev 264155)
+++ trunk/Tools/gtk/jhbuild.modules	2020-07-09 07:57:01 UTC (rev 264156)
@@ -241,9 +241,9 @@
       <dep package="glib-networking"/>
       <dep package="libpsl"/>
     </dependencies>
-    <branch module="/sources/libsoup/2.69/libsoup-${version}.tar.xz" version="2.69.90"
+    <branch module="/sources/libsoup/2.71/libsoup-${version}.tar.xz" version="2.71.0"
             repo="download.gnome.org"
-            hash="sha256:8ed18092cfb27d870a7c7c45992f3a216bd22dd6fd6d2c9fbf1adc2d6957cab8">
+            hash="sha256:88e24fad72d16e1cb692c8782688dbee4bf44151efb0d9ed25b14f3849d9896e">
     </branch>
   </meson>
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to