Skip to main content

script_bindings/
import.rs

1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
5pub(crate) mod base {
6    pub(crate) use std::ptr;
7    pub(crate) use std::rc::Rc;
8
9    #[allow(unused_imports)]
10    pub(crate) use js::context::{JSContext, NoGC, RawJSContext};
11    pub(crate) use js::conversions::{
12        ConversionBehavior, ConversionResult, FromJSValConvertible, ToJSValConvertible,
13    };
14    pub(crate) use js::error::throw_type_error;
15    pub(crate) use js::gc::RootedVec;
16    pub(crate) use js::jsapi::{
17        HandleValue as RawHandleValue, HandleValueArray, Heap, IsCallable, JSObject, Value,
18    };
19    pub(crate) use js::jsval::{JSVal, NullValue, ObjectOrNullValue, ObjectValue, UndefinedValue};
20    pub(crate) use js::panic::maybe_resume_unwind;
21    #[allow(unused_imports)]
22    pub(crate) use js::realm::{AutoRealm, CurrentRealm};
23    pub(crate) use js::rust::wrappers2::{Call, JS_NewObject};
24    pub(crate) use js::rust::{
25        HandleObject, HandleValue, MutableHandle, MutableHandleObject, MutableHandleValue,
26    };
27    pub(crate) use js::typedarray;
28    pub(crate) use js::typedarray::{
29        HeapArrayBuffer, HeapArrayBufferView, HeapFloat32Array, HeapFloat64Array, HeapUint8Array,
30        HeapUint8ClampedArray,
31    };
32
33    pub(crate) use crate::callback::{
34        CallbackContainer, CallbackFunction, CallbackInterface, CallbackObject, ExceptionHandling,
35        ThisReflector, call_setup, wrap_call_this_value,
36    };
37    pub(crate) use crate::codegen::DomTypes::DomTypes;
38    pub(crate) use crate::codegen::GenericUnionTypes;
39    pub(crate) use crate::conversions::{StringificationBehavior, root_from_handlevalue};
40    pub(crate) use crate::error::Error::JSFailed;
41    pub(crate) use crate::error::Fallible;
42    pub(crate) use crate::interfaces::*;
43    pub(crate) use crate::lock::ThreadUnsafeOnceLock;
44    pub(crate) use crate::num::Finite;
45    pub(crate) use crate::proxyhandler::{CrossOriginProperties, is_platform_object_same_origin};
46    pub(crate) use crate::reflector::DomObject;
47    pub(crate) use crate::root::DomRoot;
48    pub(crate) use crate::script_runtime::JSContext as SafeJSContext;
49    pub(crate) use crate::str::{ByteString, DOMString, USVString};
50    pub(crate) use crate::trace::RootedTraceableBox;
51    pub(crate) use crate::utils::{get_dictionary_property, set_dictionary_property};
52}
53
54pub(crate) mod module {
55    pub(crate) use std::cmp;
56    pub(crate) use std::ptr::NonNull;
57
58    pub(crate) use js::conversions::ToJSValConvertible;
59    pub(crate) use js::glue::{
60        CreateProxyHandler, GetProxyReservedSlot, JS_GetReservedSlot, ProxyTraps,
61    };
62    pub(crate) use js::jsapi::{
63        __BindgenBitfieldUnit, CallArgs, GCContext, Handle as RawHandle, HandleId as RawHandleId,
64        HandleObject as RawHandleObject, JS_SetReservedSlot, JSCLASS_FOREGROUND_FINALIZE,
65        JSCLASS_RESERVED_SLOTS_SHIFT, JSClass, JSClassOps, JSFunctionSpec, JSJitGetterCallArgs,
66        JSJitInfo, JSJitInfo__bindgen_ty_1, JSJitInfo__bindgen_ty_2, JSJitInfo__bindgen_ty_3,
67        JSJitInfo_AliasSet, JSJitInfo_ArgType, JSJitInfo_OpType, JSJitMethodCallArgs,
68        JSJitSetterCallArgs, JSNativeWrapper, JSPROP_ENUMERATE, JSPROP_PERMANENT, JSPROP_READONLY,
69        JSPropertySpec, JSPropertySpec_Accessor, JSPropertySpec_AccessorsOrValue,
70        JSPropertySpec_AccessorsOrValue_Accessors, JSPropertySpec_Kind, JSPropertySpec_Name,
71        JSPropertySpec_ValueWrapper, JSPropertySpec_ValueWrapper__bindgen_ty_1,
72        JSPropertySpec_ValueWrapper_Type, JSTracer, JSTypedMethodJitInfo, JSValueType,
73        MutableHandle as RawMutableHandle, MutableHandleIdVector as RawMutableHandleIdVector,
74        MutableHandleObject as RawMutableHandleObject, MutableHandleValue as RawMutableHandleValue,
75        ObjectOpResult, PropertyDescriptor, SymbolCode, jsid,
76    };
77    pub(crate) use js::panic::wrap_panic;
78    pub(crate) use js::rust::wrappers2::{
79        Call, GetRealmFunctionPrototype, GetWellKnownSymbol, JS_CopyOwnPropertiesAndPrivateFields,
80        JS_DefineProperty, JS_DefinePropertyById2, JS_ForwardGetPropertyTo, JS_GetProperty,
81        JS_GetPropertyDescriptorById, JS_HasPropertyById, JS_NewObjectWithoutMetadata,
82        JS_NewPlainObject, JS_SetImmutablePrototype, JS_SetProperty, JS_SetPrototype,
83        RUST_SYMBOL_TO_JSID,
84    };
85    pub(crate) use js::rust::{CustomAutoRooterGuard, GCMethods, Handle, MutableHandle};
86    pub(crate) use js::{
87        JS_CALLEE, JSCLASS_GLOBAL_SLOT_COUNT, JSCLASS_IS_GLOBAL, JSCLASS_RESERVED_SLOTS_MASK,
88        typedarray,
89    };
90    pub(crate) use servo_config::pref;
91
92    pub(crate) use super::base::*;
93    pub(crate) use crate::codegen::Globals::Globals;
94    pub(crate) use crate::codegen::{PrototypeList, RegisterBindings};
95    pub(crate) use crate::constant::{ConstantSpec, ConstantVal};
96    pub(crate) use crate::constructor::{
97        CallbackInit, InitType, InterfaceInit, NamespaceInit, call_default_constructor,
98        create_callback_interface_objects, create_interface, create_namespace_interface_objects,
99    };
100    #[cfg(feature = "testbinding")]
101    pub(crate) use crate::conversions::native_from_handlevalue;
102    pub(crate) use crate::conversions::{
103        StringificationBehavior, is_array_like, jsid_to_string, native_from_object_static,
104    };
105    pub(crate) use crate::error::{Error, ErrorResult};
106    pub(crate) use crate::finalize::{
107        finalize_common, finalize_global, finalize_weak_referenceable,
108    };
109    pub(crate) use crate::guard::{Condition, Guard};
110    pub(crate) use crate::inheritance::Castable;
111    pub(crate) use crate::interface::{
112        ConstructorClassHook, InterfaceConstructorBehavior, NonCallbackInterfaceObjectClass,
113        ProtoOrIfaceIndex, create_global_object, create_named_constructors,
114        create_noncallback_interface_object, define_dom_interface, define_guarded_methods,
115        define_guarded_properties, get_per_interface_object_handle, is_exposed_in,
116    };
117    pub(crate) use crate::iterable::{Iterable, IterableIterator, IteratorType};
118    #[cfg(feature = "testbinding")]
119    pub(crate) use crate::like::Maplike;
120    pub(crate) use crate::like::Setlike;
121    pub(crate) use crate::mem::malloc_size_of_including_raw_self;
122    pub(crate) use crate::namespace::NamespaceObjectClass;
123    pub(crate) use crate::proxyhandler::{get_expando_object, set_property_descriptor};
124    #[cfg(feature = "testbinding")]
125    pub(crate) use crate::root::{Dom, DomSlice};
126    pub(crate) use crate::root::{MaybeUnreflectedDom, Root};
127    pub(crate) use crate::script_runtime::CanGc;
128    pub(crate) use crate::utils::{
129        DOM_PROTO_UNFORGEABLE_HOLDER_SLOT, DOMClass, DOMJSClass, JSCLASS_DOM_GLOBAL,
130        ProtoOrIfaceArray, call_policies, enumerate_global, enumerate_window, exception_to_promise,
131        generic_getter, generic_method, generic_setter, generic_static_promise_method,
132        get_array_index_from_id, get_property_on_prototype, has_property_on_prototype,
133        may_resolve_global, may_resolve_window, resolve_global, resolve_window, trace_global,
134    };
135    pub(crate) use crate::{JSTraceable, proxyhandler};
136}