/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ use js::rust::{HandleObject, MutableHandleObject}; use crate::script_runtime::JSContext; pub trait DocumentHelpers { fn ensure_safe_to_run_script_or_layout(&self); } pub trait ServoInternalsHelpers { fn is_servo_internal(cx: JSContext, global: HandleObject) -> bool; } pub trait TestBindingHelpers { fn condition_satisfied(cx: JSContext, global: HandleObject) -> bool; fn condition_unsatisfied(cx: JSContext, global: HandleObject) -> bool; } pub trait WebGL2RenderingContextHelpers { fn is_webgl2_enabled(cx: JSContext, global: HandleObject) -> bool; } pub trait WindowHelpers { fn create_named_properties_object( cx: JSContext, proto: HandleObject, object: MutableHandleObject, ); }