Changeset 237366 in webkit


Ignore:
Timestamp:
Oct 23, 2018 1:53:20 PM (6 years ago)
Author:
Truitt Savell
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

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r237364 r237366  
     12018-10-23  Truitt Savell  <tsavell@apple.com>
     2
     3        Unreviewed, rolling out r237357.
     4
     5        API test is now failing on all platforms.
     6
     7        Reverted changeset:
     8
     9        "topPrivatelyControlledDomain is slow"
     10        https://bugs.webkit.org/show_bug.cgi?id=190792
     11        https://trac.webkit.org/changeset/237357
     12
    1132018-10-23  Truitt Savell  <tsavell@apple.com>
    214
  • trunk/Source/WebCore/platform/mac/PublicSuffixMac.mm

    r237357 r237366  
    3232#import "WebCoreNSURLExtras.h"
    3333#import <pal/spi/cf/CFNetworkSPI.h>
    34 #import <wtf/HashMap.h>
    35 #import <wtf/text/StringHash.h>
    3634
    3735namespace WebCore {
     
    4644String topPrivatelyControlledDomain(const String& domain)
    4745{
    48     if (domain.isEmpty() || !domain.isAllASCII())
     46    if (URL::hostIsIPAddress(domain))
    4947        return domain;
    5048
    51     static NeverDestroyed<HashMap<String, String, ASCIICaseInsensitiveHash>> cache;
    52     static Lock cacheLock;
     49    if (!domain.isAllASCII())
     50        return domain;
     51   
     52    const auto& lowercaseDomain = domain.convertToASCIILowercase();
     53    if (lowercaseDomain == "localhost")
     54        return lowercaseDomain;
    5355
    54     auto isolatedDomain = domain.isolatedCopy();
    55 
    56     auto locker = holdLock(cacheLock);
    57 
    58     constexpr auto maximumSizeToPreventUnlimitedGrowth = 128;
    59     if (cache.get().size() == maximumSizeToPreventUnlimitedGrowth)
    60         cache.get().clear();
    61 
    62     return cache.get().ensure(isolatedDomain, [&isolatedDomain] {
    63         const auto lowercaseDomain = isolatedDomain.convertToASCIILowercase();
    64         if (lowercaseDomain == "localhost")
    65             return lowercaseDomain;
    66 
    67         if (URL::hostIsIPAddress(lowercaseDomain))
    68             return lowercaseDomain;
    69 
    70         size_t separatorPosition;
    71         for (unsigned labelStart = 0; (separatorPosition = lowercaseDomain.find('.', labelStart)) != notFound; labelStart = separatorPosition + 1) {
    72             if (isPublicSuffix(lowercaseDomain.substring(separatorPosition + 1)))
    73                 return lowercaseDomain.substring(labelStart);
    74         }
    75         return String();
    76     }).iterator->value.isolatedCopy();
     56    size_t separatorPosition;
     57    for (unsigned labelStart = 0; (separatorPosition = lowercaseDomain.find('.', labelStart)) != notFound; labelStart = separatorPosition + 1) {
     58        if (isPublicSuffix(lowercaseDomain.substring(separatorPosition + 1)))
     59            return lowercaseDomain.substring(labelStart);
     60    }
     61    return String();
    7762}
    7863
Note: See TracChangeset for help on using the changeset viewer.