Bug 258603

Summary: Harmonize the hosts/domain name testing in Quirks
Product: WebKit Reporter: Karl Dubost <karlcow>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 17   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 267623, 260938    
Bug Blocks:    

Karl Dubost
Reported 2023-06-27 22:40:19 PDT
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
Attachments
Radar WebKit Bug Importer
Comment 1 2023-06-27 22:40:31 PDT
Karl Dubost
Comment 2 2023-11-06 21:41:41 PST
How do we improve this a bit more. In Bug 260938 isDomain() was created but probably, there is a need for more generic functions.
Note You need to log in before you can comment on or make changes to this bug.