servo/components/script_bindings/codegen
Josh Matthews 76ee127af8
Eagerly define interfaces on non-Window globals (#36604)
These changes make us match Gecko's setup for how Window and non-Window
globals are initialized. Since Window globals are much more common than
Worker globals, using lazy interface definitions can be a useful memory
optimization at the expense of increased complexity for property
lookups.

Also adds the MayResolve hook for all globals, which is an optimization
for the JIT to avoid calling resolve hooks unnecessarily.

Testing: Existing test coverage on global interfaces should suffice.

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-04-21 03:32:21 +00:00
..
api.html.template script: Move code generation and webidl files to new script_bindings crate. (#35157) 2025-01-24 20:47:43 +00:00
apis.html.template script: Move code generation and webidl files to new script_bindings crate. (#35157) 2025-01-24 20:47:43 +00:00
Bindings.conf async clipboard: implement writeText (#36498) 2025-04-14 13:49:43 +00:00
CodegenRust.py Eagerly define interfaces on non-Window globals (#36604) 2025-04-21 03:32:21 +00:00
Configuration.py Support static and instance members having the same name in IDLs (#36523) 2025-04-16 21:00:52 +00:00
interface.html.template script: Move code generation and webidl files to new script_bindings crate. (#35157) 2025-01-24 20:47:43 +00:00
property.html.template script: Move code generation and webidl files to new script_bindings crate. (#35157) 2025-01-24 20:47:43 +00:00
run.py Remove legacy layout (layout 2013) (#35943) 2025-03-13 07:26:57 +00:00