Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d2c3a31e2fa91362a235908729705fa3e50f7f51
      
https://github.com/WebKit/WebKit/commit/d2c3a31e2fa91362a235908729705fa3e50f7f51
  Author: Cole Carley <[email protected]>
  Date:   2026-10-08 (Thu, 08 Oct 2026)

  Changed paths:
    M Source/WebCore/page/QuirkBehaviors.yaml
    A Source/WebCore/page/QuirkTable.json
    M Tools/Scripts/webkitpy/style/checker.py
    M Tools/Scripts/webkitpy/style/checkers/jsonchecker.py
    M Tools/Scripts/webkitpy/style/checkers/jsonchecker_unittest.py

  Log Message:
  -----------
  [Quirks] Add QuirkTable.json and a style checker for it
https://bugs.webkit.org/show_bug.cgi?id=326739
rdar://100799656

Reviewed by Brent Fulgham.

This patch introduces QuirkTable.json, a data copy of the compiled quirk table 
in
QuirkTable.cpp, as the first step toward a quirk table that can be served at 
runtime.
Nothing reads it yet.

check-webkit-style now checks that each behavior in the table exists in
QuirkBehaviors.yaml and supplies the parameters and conditions it declares, and
that "available" and "environment" use valid BuildCondition and URLEnvironment 
names.

Follow up patches will introduce parsing logic, replace the compiled quirk 
table with
QuirkTable.json, and remove unused code after the migration.

* Source/WebCore/page/QuirkBehaviors.yaml:
* Source/WebCore/page/QuirkTable.json: Added.
* Tools/Scripts/webkitpy/style/checker.py:
(CheckerDispatcher._create_checker):
* Tools/Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONImportExpectationsChecker.check):
(JSONQuirkTableChecker):
(JSONQuirkTableChecker.URLEnvironment):
(JSONQuirkTableChecker.check):
(JSONQuirkTableChecker._error):
(JSONQuirkTableChecker._read_file):
(JSONQuirkTableChecker._read_behaviors):
(JSONQuirkTableChecker._read_build_conditions):
(JSONQuirkTableChecker._read_environments):
(JSONQuirkTableChecker._is_non_empty_string):
(JSONQuirkTableChecker._is_non_empty_string_list):
(JSONQuirkTableChecker._describe):
(JSONQuirkTableChecker._check_notes):
(JSONQuirkTableChecker._check_row):
(JSONQuirkTableChecker._check_behavior):
* Tools/Scripts/webkitpy/style/checkers/jsonchecker_unittest.py:

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



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

Reply via email to