Make sure an empty host matches the internal representation "nullOrigin" in WebCore...
authorwilander@apple.com <wilander@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Mar 2019 00:23:51 +0000 (00:23 +0000)
committerwilander@apple.com <wilander@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Mar 2019 00:23:51 +0000 (00:23 +0000)
https://bugs.webkit.org/show_bug.cgi?id=195435

Reviewed by Brent Fulgham.

No new tests. Tests are currently failing and will pass again with
this patch.

WebCore::RegistrableDomain::matches() is a quick way to compare a
RegistrableDomain with a URL. Since RegistrableDomain represents the
empty host as "nullOrigin," a URL with an empty host needs to match
that representation in WebCore::RegistrableDomain::matches().
Failure to do so caused debug assertions in fast/ layout tests after
https://trac.webkit.org/changeset/242603/webkit.

* platform/RegistrableDomain.h:
(WebCore::RegistrableDomain::matches const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242620 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/RegistrableDomain.h

index da2489c..bf58e5d 100644 (file)
@@ -1,3 +1,23 @@
+2019-03-07  John Wilander  <wilander@apple.com>
+
+        Make sure an empty host matches the internal representation "nullOrigin" in WebCore::RegistrableDomain::matches()
+        https://bugs.webkit.org/show_bug.cgi?id=195435
+
+        Reviewed by Brent Fulgham.
+
+        No new tests. Tests are currently failing and will pass again with
+        this patch.
+
+        WebCore::RegistrableDomain::matches() is a quick way to compare a
+        RegistrableDomain with a URL. Since RegistrableDomain represents the
+        empty host as "nullOrigin," a URL with an empty host needs to match
+        that representation in WebCore::RegistrableDomain::matches().
+        Failure to do so caused debug assertions in fast/ layout tests after
+        https://trac.webkit.org/changeset/242603/webkit.
+
+        * platform/RegistrableDomain.h:
+        (WebCore::RegistrableDomain::matches const):
+
 2019-03-07  Justin Fan  <justin_fan@apple.com>
 
         Unreviewed build fixes since MTLClampToBorderColor is only supported on macOS.
index f458ea5..b386730 100644 (file)
@@ -59,6 +59,8 @@ public:
     bool matches(const URL& url) const
     {
         auto host = url.host();
+        if (host.isEmpty() && m_registrableDomain == "nullOrigin"_s)
+            return true;
         if (!host.endsWith(m_registrableDomain))
             return false;
         if (host.length() == m_registrableDomain.length())