servo/components/script_bindings
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
..
codegen Eagerly define interfaces on non-Window globals (#36604) 2025-04-21 03:32:21 +00:00
webidls Eagerly define interfaces on non-Window globals (#36604) 2025-04-21 03:32:21 +00:00
build.rs Fix crash when enumerating properties of global object (#36491) 2025-04-17 03:32:53 +00:00
callback.rs Implement "Create a Trusted Type" algorithm (#36454) 2025-04-13 03:55:23 +00:00
Cargo.toml Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
constant.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
constructor.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
conversions.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
error.rs Support optional message for dataclone error (#36308) 2025-04-13 18:10:04 +00:00
finalize.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
guard.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
import.rs Eagerly define interfaces on non-Window globals (#36604) 2025-04-21 03:32:21 +00:00
inheritance.rs More miscellaneous script splitting changes (#36220) 2025-03-30 11:06:30 +00:00
interface.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
interfaces.rs Fix crash when enumerating properties of global object (#36491) 2025-04-17 03:32:53 +00:00
iterable.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
lib.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
like.rs Move more bindings types to script_bindings (#35620) 2025-02-23 14:25:46 +00:00
lock.rs Miscellaneous script splitting preparation changes (#36216) 2025-03-29 08:11:27 +00:00
mem.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
namespace.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
num.rs Miscellaneous script splitting preparation changes (#36216) 2025-03-29 08:11:27 +00:00
principals.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
proxyhandler.rs Fix crash when setting custom property on Location (#36494) 2025-04-16 06:52:48 +00:00
realms.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
record.rs Move CustomTraceable to script_bindings. (#35988) 2025-03-16 14:08:22 +00:00
reflector.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
root.rs Use swap_remove when unrooting DOM objects. (#36617) 2025-04-19 20:18:01 +00:00
script_runtime.rs Move more bindings code to script_bindings (#35578) 2025-02-22 04:46:56 +00:00
settings_stack.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
str.rs script: Implement input preprocessing for URLPatterns (#36225) 2025-04-04 23:42:28 +00:00
trace.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
utils.rs Eagerly define interfaces on non-Window globals (#36604) 2025-04-21 03:32:21 +00:00
weakref.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00