Title: [237366] trunk/Source/WebCore
Revision
237366
Author
[email protected]
Date
2018-10-23 13:53:20 -0700 (Tue, 23 Oct 2018)

Log Message

Unreviewed, rolling out r237357.

API test is now failing on all platforms.

Reverted changeset:

"topPrivatelyControlledDomain is slow"
https://bugs.webkit.org/show_bug.cgi?id=190792
https://trac.webkit.org/changeset/237357

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (237365 => 237366)


--- trunk/Source/WebCore/ChangeLog	2018-10-23 20:36:37 UTC (rev 237365)
+++ trunk/Source/WebCore/ChangeLog	2018-10-23 20:53:20 UTC (rev 237366)
@@ -1,5 +1,17 @@
 2018-10-23  Truitt Savell  <[email protected]>
 
+        Unreviewed, rolling out r237357.
+
+        API test is now failing on all platforms.
+
+        Reverted changeset:
+
+        "topPrivatelyControlledDomain is slow"
+        https://bugs.webkit.org/show_bug.cgi?id=190792
+        https://trac.webkit.org/changeset/237357
+
+2018-10-23  Truitt Savell  <[email protected]>
+
         Unreviewed, rolling out r237350.
 
         Caused several Crashes cross multiple tests and platforms.

Modified: trunk/Source/WebCore/platform/mac/PublicSuffixMac.mm (237365 => 237366)


--- trunk/Source/WebCore/platform/mac/PublicSuffixMac.mm	2018-10-23 20:36:37 UTC (rev 237365)
+++ trunk/Source/WebCore/platform/mac/PublicSuffixMac.mm	2018-10-23 20:53:20 UTC (rev 237366)
@@ -31,8 +31,6 @@
 #import "URL.h"
 #import "WebCoreNSURLExtras.h"
 #import <pal/spi/cf/CFNetworkSPI.h>
-#import <wtf/HashMap.h>
-#import <wtf/text/StringHash.h>
 
 namespace WebCore {
 
@@ -45,35 +43,22 @@
 
 String topPrivatelyControlledDomain(const String& domain)
 {
-    if (domain.isEmpty() || !domain.isAllASCII())
+    if (URL::hostIsIPAddress(domain))
         return domain;
 
-    static NeverDestroyed<HashMap<String, String, ASCIICaseInsensitiveHash>> cache;
-    static Lock cacheLock;
+    if (!domain.isAllASCII())
+        return domain;
+    
+    const auto& lowercaseDomain = domain.convertToASCIILowercase();
+    if (lowercaseDomain == "localhost")
+        return lowercaseDomain;
 
-    auto isolatedDomain = domain.isolatedCopy();
-
-    auto locker = holdLock(cacheLock);
-
-    constexpr auto maximumSizeToPreventUnlimitedGrowth = 128;
-    if (cache.get().size() == maximumSizeToPreventUnlimitedGrowth)
-        cache.get().clear();
-
-    return cache.get().ensure(isolatedDomain, [&isolatedDomain] {
-        const auto lowercaseDomain = isolatedDomain.convertToASCIILowercase();
-        if (lowercaseDomain == "localhost")
-            return lowercaseDomain;
-
-        if (URL::hostIsIPAddress(lowercaseDomain))
-            return lowercaseDomain;
-
-        size_t separatorPosition;
-        for (unsigned labelStart = 0; (separatorPosition = lowercaseDomain.find('.', labelStart)) != notFound; labelStart = separatorPosition + 1) {
-            if (isPublicSuffix(lowercaseDomain.substring(separatorPosition + 1)))
-                return lowercaseDomain.substring(labelStart);
-        }
-        return String();
-    }).iterator->value.isolatedCopy();
+    size_t separatorPosition;
+    for (unsigned labelStart = 0; (separatorPosition = lowercaseDomain.find('.', labelStart)) != notFound; labelStart = separatorPosition + 1) {
+        if (isPublicSuffix(lowercaseDomain.substring(separatorPosition + 1)))
+            return lowercaseDomain.substring(labelStart);
+    }
+    return String();
 }
 
 String decodeHostName(const String& domain)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to