Module proxyhandler

Source
Expand description

Utilities for the implementation of JSAPI proxy handlers.

StructsΒ§

CrossOriginProperties πŸ”’
Property and method specs that correspond to the elements of CrossOriginProperties(O).

ConstantsΒ§

ALLOWLISTED_SYMBOL_CODES πŸ”’

FunctionsΒ§

append_cross_origin_allowlisted_prop_keys πŸ”’
Append Β« "then", @@toStringTag, @@hasInstance, @@isConcatSpreadable Β» to props. This is used to implement CrossOriginOwnPropertyKeys.
cross_origin_get πŸ”’
Implementation of CrossOriginGet.
cross_origin_get_own_property_helper πŸ”’
Implementation of CrossOriginGetOwnPropertyHelper.
cross_origin_has_own πŸ”’ ⚠
Evaluate CrossOriginGetOwnPropertyHelper(proxy, id) != null. SpiderMonkey-specific.
cross_origin_own_property_keys πŸ”’
Implementation of CrossOriginOwnPropertyKeys.
cross_origin_property_fallback πŸ”’
Implementation of CrossOriginPropertyFallback.
cross_origin_set πŸ”’ ⚠
Implementation of CrossOriginSet.
define_property πŸ”’ ⚠
Defines an expando on the given proxy.
delete πŸ”’ ⚠
Deletes an expando off the given proxy.
ensure_cross_origin_property_holder πŸ”’
Get the holder for cross-origin properties for the current global of the JSContext, creating one and storing it in a slot of the proxy object if it doesn’t exist yet.
ensure_expando_object πŸ”’ ⚠
Get the expando object, or create it if it doesn’t exist yet. Fails on JSAPI failure.
get_expando_object πŸ”’
Get the expando object, or null if there is none.
get_getter_object πŸ”’
get_prototype_if_ordinary πŸ”’ ⚠
If proxy (underneath any functionally-transparent wrapper proxies) has as its [[GetPrototypeOf]] trap the ordinary [[GetPrototypeOf]] behavior defined for ordinary objects, set *is_ordinary to true and store obj’s prototype in proto. Otherwise set *isOrdinary to false. In case of error, both outparams have unspecified value.
get_setter_object πŸ”’
id_to_source πŸ”’
init
Initialize the infrastructure for DOM proxy objects.
is_accessor_descriptor πŸ”’
https://tc39.es/ecma262/#sec-isaccessordescriptor
is_cross_origin_allowlisted_prop πŸ”’
is_data_descriptor πŸ”’
https://tc39.es/ecma262/#sec-isdatadescriptor
is_extensible πŸ”’ ⚠
Reports whether the object is Extensible
maybe_cross_origin_get_prototype πŸ”’
Implementation of [[GetPrototypeOf]] for Location.
maybe_cross_origin_get_prototype_if_ordinary_rawcx πŸ”’ ⚠
Safety
maybe_cross_origin_set_prototype_rawcx πŸ”’ ⚠
Implementation of [[SetPrototypeOf]] for Location and WindowProxy.
maybe_cross_origin_set_rawcx πŸ”’ ⚠
Implementation of [[Set]] for Location.
prevent_extensions πŸ”’ ⚠
Controls whether the Extensible bit can be changed
report_cross_origin_denial πŸ”’
Report a cross-origin denial for a property, Always returns false, so it can be used as return report_cross_origin_denial(...);.
set_property_descriptor
Set the property descriptor’s object to obj and set it to enumerable, and writable if readonly is true.
shadow_check_callback πŸ”’ ⚠
Determine if this id shadows any existing properties for this proxy.