16.0.0
Breaking changes:
- Made
[Exposed]
required, per the Web IDL specification. - Made the
globalNames
second argument toinstall()
required, instead of having it default to["Window"]
. - Aligned with the Web IDL specification's legacy extended attribute renames:
[LenientThis]
→[LegacyLenientThis]
;[NoInterfaceObject]
→[LegacyNoInterfaceObject]
;[TreatNullAs=EmptyString]
→[LegacyNullToEmptyString]
;[OverrideBuiltins]
→[LegacyOverrideBuiltins]
; and[Unforgeable]
→[LegacyUnforgeable]
. - Removed
[LegacyArrayClass]
support, as it was removed from the Web IDL specification.
Additions:
Fixes:
- Fixed promise-typed operations and attributes to always return promises, including for thisArg or argument conversion errors.
- Fixed conversion of non-string values to enumeration types. Now
{ toString() { return "foo" } }
will be properly treated the same as"foo"
in such cases. - Fixed
[LegacyLenientThis]
, which previously generated code which would not actually allow invalid thisArg values. (#210, @ExE-Boss) - Fixed
new()
to work for legacy platform objects; previously the generated code would try to reassign aconst
variable.