Currently the Quirks.cpp file has a couple of different ways of testing for the domain name of a site where the Quirk should apply. https://github.com/WebKit/WebKit/blame/main/Source/WebCore/page/Quirks.cpp This is probably due to layer of history. It would probably be better to choose a "better"/more recent way of doing things. top domain equality equalLettersIgnoringASCIICase(host, domain) host == domain partial_domain end host.endsWithIgnoringASCIICase(partial_domain) host.endsWith(partial_domain) partial_domain start startsWithLettersIgnoringASCIICase(host, domain) host.toString()).startsWith(partial_domain) There is also topPrivatelyControlledDomain(host.toString()).startsWith("expedia."_s)) The recommended way is probably to use class WebCore::RegistrableDomain and its methods see https://github.com/WebKit/WebKit/blob/main/Source/WebCore/platform/RegistrableDomain.h https://github.com/WebKit/WebKit/blob/main/Tools/TestWebKitAPI/Tests/WebCore/RegistrableDomain.cpp
<rdar://problem/111433802>
How do we improve this a bit more. In Bug 260938 isDomain() was created but probably, there is a need for more generic functions.