bi-05 step 03 — Read a real generated binding

Goal

Convert "DOM access is slow" from folklore into a sequence you have read line by line.

Tasks

  1. Find the generated output. On a built checkout it is under out/<dir>/gen/third_party/blink/renderer/bindings/. Without a build, read the .idl plus bindings/IDLCompiler.md and the generated-file lists.
  2. Read one accessor end to end. Identify: the unwrap, the security check, the argument conversion, the call, the return conversion, the exception translation.
  3. Extended attributes. In IDLExtendedAttributes.md, find and explain: [CEReactions], [Unforgeable], [Exposed], [SameObject], [RuntimeEnabled].
  4. [Exposed] in practice. Find an API unavailable in workers and confirm the annotation is the reason.
  5. [Unforgeable] in practice. Explain the attack it prevents on window.location.
  6. Scale. Note the size of generated_in_core.gni and generated_in_modules.gni — those are lists of filenames. State what that implies for any navigation strategy.

Done when

  • One generated accessor read fully, with all six phases identified
  • Five extended attributes explained in your own words
  • One [Exposed] and one [Unforgeable] case demonstrated or explained