bi-01 step 02 — Generated code and feature flags
Goal
Stop being fooled by the largest failure mode in Chromium navigation: the code you are grepping for does not exist as source.
Tasks
-
Prove the failure. Pick a CSS property and grep the tree for a function implementing its parsing. Observe that you mostly find tests and generated references.
-
Find the declaration instead. Locate the property's entry in
core/css/css_properties.json5. From the entry alone, state: its legal keywords, its initial value, whether it is animatable, and which pipeline stage it invalidates (invalidate:). -
Count the surface. How many
.json5files exist underthird_party/blink/renderer? Name five and say what each generates. -
Trace an API to its IDL. For
document.querySelector: find the.idldeclaration, predict the generated C++ method name from the mangling rule, then confirm withgit grep. -
Feature flags. Open
platform/runtime_enabled_features.json5. Find one feature whosestatusis notstable, and one whose status is per-platform. Verify the behaviour appears with--enable-blink-features=<Name>on stock Chrome.
Done when
-
You can predict, from a
.json5entry alone, whether changing a property costs layout -
.idl→ generated name → Blink method traced for one attribute and one method - One non-default feature flag found and demonstrated at runtime
- You can state the three reasons a grep legitimately returns nothing