aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/constant.rs
diff options
context:
space:
mode:
authoryvt <i@yvt.jp>2021-07-10 17:24:27 +0900
committeryvt <i@yvt.jp>2021-07-10 17:55:42 +0900
commit01a7de50ab1843d85295f9dccad7f4c099e7208c (patch)
treeee53fb6e8889deb7b880ee969e6c662e6128d210 /components/script/dom/bindings/constant.rs
parentff8d2cdbbfc7a9dc7f38b7dd47cb350fde39388f (diff)
parent94b613fbdaa2b98f2179fc0bbda13c64e6fa0d38 (diff)
downloadservo-01a7de50ab1843d85295f9dccad7f4c099e7208c.tar.gz
servo-01a7de50ab1843d85295f9dccad7f4c099e7208c.zip
Merge remote-tracking branch 'upstream/master' into feat-cow-infra
`tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html` was reverted to the upstream version.
Diffstat (limited to 'components/script/dom/bindings/constant.rs')
-rw-r--r--components/script/dom/bindings/constant.rs33
1 files changed, 17 insertions, 16 deletions
diff --git a/components/script/dom/bindings/constant.rs b/components/script/dom/bindings/constant.rs
index 42f10055080..bce6e3d7844 100644
--- a/components/script/dom/bindings/constant.rs
+++ b/components/script/dom/bindings/constant.rs
@@ -1,13 +1,15 @@
/* 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 http://mozilla.org/MPL/2.0/. */
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
//! WebIDL constants.
-use js::jsapi::{HandleObject, JSContext, JSPROP_ENUMERATE, JSPROP_PERMANENT};
-use js::jsapi::{JSPROP_READONLY, JS_DefineProperty};
+use crate::script_runtime::JSContext;
+use js::jsapi::JSPROP_READONLY;
+use js::jsapi::{JSPROP_ENUMERATE, JSPROP_PERMANENT};
use js::jsval::{BooleanValue, DoubleValue, Int32Value, JSVal, NullValue, UInt32Value};
-use libc;
+use js::rust::wrappers::JS_DefineProperty;
+use js::rust::HandleObject;
/// Representation of an IDL constant.
#[derive(Clone)]
@@ -49,18 +51,17 @@ impl ConstantSpec {
/// Defines constants on `obj`.
/// Fails on JSAPI failure.
-pub unsafe fn define_constants(
- cx: *mut JSContext,
- obj: HandleObject,
- constants: &[ConstantSpec]) {
+pub fn define_constants(cx: JSContext, obj: HandleObject, constants: &[ConstantSpec]) {
for spec in constants {
- rooted!(in(cx) let value = spec.get_value());
- assert!(JS_DefineProperty(cx,
- obj,
- spec.name.as_ptr() as *const libc::c_char,
- value.handle(),
- JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_PERMANENT,
- None,
- None));
+ rooted!(in(*cx) let value = spec.get_value());
+ unsafe {
+ assert!(JS_DefineProperty(
+ *cx,
+ obj,
+ spec.name.as_ptr() as *const libc::c_char,
+ value.handle(),
+ (JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_PERMANENT) as u32
+ ));
+ }
}
}