Title: [251643] trunk
Revision
251643
Author
[email protected]
Date
2019-10-27 13:24:29 -0700 (Sun, 27 Oct 2019)

Log Message

[GTK][WPE] Test PublicSuffix.TopPrivatelyControlledDomain is failing since r250589
https://bugs.webkit.org/show_bug.cgi?id=203193

Reviewed by Carlos Garcia Campos.

Source/WebCore:

* platform/soup/PublicSuffixSoup.cpp:
(WebCore::topPrivatelyControlledDomain): Skip any leading dots before using libsoup TLD API.

Tools:

* TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
(TestWebKitAPI::TEST_F): Add a test for a domain consisting only of dots.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (251642 => 251643)


--- trunk/Source/WebCore/ChangeLog	2019-10-27 17:18:58 UTC (rev 251642)
+++ trunk/Source/WebCore/ChangeLog	2019-10-27 20:24:29 UTC (rev 251643)
@@ -1,3 +1,13 @@
+2019-10-27  Claudio Saavedra  <[email protected]>
+
+        [GTK][WPE] Test PublicSuffix.TopPrivatelyControlledDomain is failing since r250589
+        https://bugs.webkit.org/show_bug.cgi?id=203193
+
+        Reviewed by Carlos Garcia Campos.
+
+        * platform/soup/PublicSuffixSoup.cpp:
+        (WebCore::topPrivatelyControlledDomain): Skip any leading dots before using libsoup TLD API.
+
 2019-10-27  Zalan Bujtas  <[email protected]>
 
         [LFC][IFC] Do not expand runs with collapsed trailing whitespace

Modified: trunk/Source/WebCore/platform/soup/PublicSuffixSoup.cpp (251642 => 251643)


--- trunk/Source/WebCore/platform/soup/PublicSuffixSoup.cpp	2019-10-27 17:18:58 UTC (rev 251642)
+++ trunk/Source/WebCore/platform/soup/PublicSuffixSoup.cpp	2019-10-27 20:24:29 UTC (rev 251643)
@@ -53,10 +53,18 @@
     if (lowercaseDomain == "localhost")
         return lowercaseDomain;
 
-    GUniqueOutPtr<GError> error;
     CString domainUTF8 = lowercaseDomain.utf8();
 
-    if (const char* baseDomain = soup_tld_get_base_domain(domainUTF8.data(), &error.outPtr()))
+    // This function is expected to work with the format used by cookies, so skip any leading dots.
+    unsigned position = 0;
+    while (domainUTF8.data()[position] == '.')
+        position++;
+
+    if (position == domainUTF8.length())
+        return String();
+
+    GUniqueOutPtr<GError> error;
+    if (const char* baseDomain = soup_tld_get_base_domain(domainUTF8.data() + position, &error.outPtr()))
         return String::fromUTF8(baseDomain);
 
     if (g_error_matches(error.get(), SOUP_TLD_ERROR, SOUP_TLD_ERROR_INVALID_HOSTNAME) || g_error_matches(error.get(), SOUP_TLD_ERROR, SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS) || g_error_matches(error.get(), SOUP_TLD_ERROR, SOUP_TLD_ERROR_NO_BASE_DOMAIN))

Modified: trunk/Tools/ChangeLog (251642 => 251643)


--- trunk/Tools/ChangeLog	2019-10-27 17:18:58 UTC (rev 251642)
+++ trunk/Tools/ChangeLog	2019-10-27 20:24:29 UTC (rev 251643)
@@ -1,3 +1,13 @@
+2019-10-27  Claudio Saavedra  <[email protected]>
+
+        [GTK][WPE] Test PublicSuffix.TopPrivatelyControlledDomain is failing since r250589
+        https://bugs.webkit.org/show_bug.cgi?id=203193
+
+        Reviewed by Carlos Garcia Campos.
+
+        * TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
+        (TestWebKitAPI::TEST_F): Add a test for a domain consisting only of dots.
+
 2019-10-26  youenn fablet  <[email protected]>
 
         Enforce user gesture for getUserMedia in case a previous getUserMedia call was denied

Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp (251642 => 251643)


--- trunk/Tools/TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp	2019-10-27 17:18:58 UTC (rev 251642)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp	2019-10-27 20:24:29 UTC (rev 251643)
@@ -180,6 +180,7 @@
     EXPECT_EQ(String("åäö"), topPrivatelyControlledDomain("åäö"));
     EXPECT_EQ(String("ÅÄÖ"), topPrivatelyControlledDomain("ÅÄÖ"));
     EXPECT_EQ(String("test.com"), topPrivatelyControlledDomain(".test.com"));
+    EXPECT_EQ(String(), topPrivatelyControlledDomain("...."));
 }
 
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to