Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 11b32a9eb61ff839e2fbfb3c58fc54df3b3813c3
      
https://github.com/WebKit/WebKit/commit/11b32a9eb61ff839e2fbfb3c58fc54df3b3813c3
  Author: Cole Carley <[email protected]>
  Date:   2026-08-25 (Tue, 25 Aug 2026)

  Changed paths:
    M LayoutTests/platform/glib/fast/quirks/active-quirks-by-domain-expected.txt
    M LayoutTests/platform/ios/fast/quirks/active-quirks-by-domain-expected.txt
    M Source/WebCore/page/QuirkMatch.h
    M Source/WebCore/page/Quirks.cpp
    M Source/WebCore/page/Quirks.h
    M Source/WebCore/page/QuirksData.h
    M Tools/TestWebKitAPI/Tests/WebCore/QuirkMatch.cpp
    M Tools/TestWebKitAPI/Tests/WebCore/Quirks.cpp

  Log Message:
  -----------
  [Quirks] Move element fullscreen and simulated mouse events quirks into the 
table
https://bugs.webkit.org/show_bug.cgi?id=322315
rdar://185554722

Reviewed by Brent Fulgham.

I have moved the element fullscreen quirk and the simulated mouse events quirks 
to follow
the new paradigm. Adding these quirks to the table explicitly names the quirks, 
which will
help us later when we want to turn quirks on and off individually.

I needed to extend the QuirkMatch API to do this correctly. I have added the 
following
functions to the API:
QuirkMatch::anySite()
QuirkMatch::hostIsOneOf()
QuirkMatch::onlyIfEmbedded()
QuirkMatch::exceptWhen()

Tests: Tools/TestWebKitAPI/Tests/WebCore/QuirkMatch.cpp
       Tools/TestWebKitAPI/Tests/WebCore/Quirks.cpp

* Source/WebCore/page/QuirkMatch.h:
(WebCore::QuirkMatchContext::QuirkMatchContext):
(WebCore::QuirkMatchContext::isTopDocument const):
(WebCore::QuirkMatch::anySite):
(WebCore::QuirkMatch::onlyIf):
(WebCore::QuirkMatch::documentDomainIsOneOf):
(WebCore::QuirkMatch::hostIsOneOf):
(WebCore::QuirkMatch::onlyIfEmbedded):
(WebCore::QuirkMatch::exceptWhen):
(WebCore::QuirkMatch::matches const):
(WebCore::QuirkMatch::Refinements::isEmpty const):
(WebCore::QuirkMatch::setPathConstraint):
(WebCore::QuirkMatch::matchesSite const):
(WebCore::QuirkMatch::matchesRefinements const):
(WebCore::QuirkMatch::anyOf):
(WebCore::QuirkMatch::matchesPathConstraint const):
(WebCore::Quirk::apply const):
(WebCore::QuirkMatch::matchesDocumentDomain const): Deleted.
* Source/WebCore/page/Quirks.cpp:
* Source/WebCore/page/Quirks.h:
(WebCore::Quirks::quirkIsEnabledAfterProbing const):
* Source/WebCore/page/QuirksData.h:
(WebCore::QuirksData::merge):
(): Deleted.
* Tools/TestWebKitAPI/Tests/WebCore/QuirkMatch.cpp:
(TestWebKitAPI::matchesEmbeddedURL):
(TestWebKitAPI::TEST(QuirkMatchTest, 
AnySiteWithOnlyIfEmbeddedMatchesEmbedsAnywhereButNeverTheTopDocument)):
(TestWebKitAPI::TEST(QuirkMatchTest, 
AnySiteMatchesEverySiteWithoutFurtherRefinement)):
(TestWebKitAPI::TEST(QuirkMatchTest, ExceptWhenCarvesOutPagesOfAMatchedSite)):
(TestWebKitAPI::TEST(QuirkMatchTest, ExceptWhenCarvesOutHostsOfAMatchedSite)):
(TestWebKitAPI::TEST(QuirkMatchTest, 
ExceptWhenTakesEveryRefinementIncludingEmbeddedDocuments)):
(TestWebKitAPI::TEST(QuirkMatchTest, 
ExceptWhenAndTheMatchKeepSeparateRefinements)):
(TestWebKitAPI::TEST(QuirkMatchTest, ExceptWhenWithNothingChainedIsANoOp)):
* Tools/TestWebKitAPI/Tests/WebCore/Quirks.cpp:
(TestWebKitAPI::resolveQuirksForTopURL):
(TestWebKitAPI::TEST_F(QuirksTest, SiteSpecificQuirksResolveWithoutADocument)):

Canonical link: https://commits.webkit.org/319832@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to