aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/attr.rs7
-rw-r--r--components/script/dom/bindings/js.rs62
-rw-r--r--components/script/dom/bluetooth.rs6
-rw-r--r--components/script/dom/bluetoothdevice.rs24
-rw-r--r--components/script/dom/bluetoothremotegattcharacteristic.rs10
-rw-r--r--components/script/dom/bluetoothremotegattdescriptor.rs6
-rw-r--r--components/script/dom/bluetoothremotegattserver.rs6
-rw-r--r--components/script/dom/bluetoothremotegattservice.rs6
-rw-r--r--components/script/dom/browsingcontext.rs4
-rw-r--r--components/script/dom/client.rs4
-rw-r--r--components/script/dom/cssgroupingrule.rs6
-rw-r--r--components/script/dom/csskeyframesrule.rs6
-rw-r--r--components/script/dom/cssmediarule.rs6
-rw-r--r--components/script/dom/cssrulelist.rs12
-rw-r--r--components/script/dom/cssstylesheet.rs6
-rw-r--r--components/script/dom/document.rs48
-rw-r--r--components/script/dom/element.rs6
-rw-r--r--components/script/dom/event.rs6
-rw-r--r--components/script/dom/filereader.rs6
-rw-r--r--components/script/dom/focusevent.rs4
-rw-r--r--components/script/dom/globalscope.rs4
-rw-r--r--components/script/dom/htmlanchorelement.rs4
-rw-r--r--components/script/dom/htmlareaelement.rs4
-rw-r--r--components/script/dom/htmlcanvaselement.rs4
-rw-r--r--components/script/dom/htmlcollection.rs6
-rw-r--r--components/script/dom/htmlelement.rs6
-rwxr-xr-xcomponents/script/dom/htmlformelement.rs4
-rw-r--r--components/script/dom/htmliframeelement.rs4
-rwxr-xr-xcomponents/script/dom/htmlinputelement.rs6
-rw-r--r--components/script/dom/htmllinkelement.rs8
-rw-r--r--components/script/dom/htmlmediaelement.rs4
-rw-r--r--components/script/dom/htmlmetaelement.rs6
-rwxr-xr-xcomponents/script/dom/htmlselectelement.rs4
-rw-r--r--components/script/dom/htmlstyleelement.rs6
-rw-r--r--components/script/dom/htmltableelement.rs4
-rw-r--r--components/script/dom/htmltablerowelement.rs4
-rw-r--r--components/script/dom/htmltemplateelement.rs6
-rw-r--r--components/script/dom/mod.rs4
-rw-r--r--components/script/dom/mouseevent.rs4
-rw-r--r--components/script/dom/navigator.rs10
-rw-r--r--components/script/dom/node.rs18
-rw-r--r--components/script/dom/nodeiterator.rs6
-rw-r--r--components/script/dom/nodelist.rs6
-rw-r--r--components/script/dom/range.rs6
-rw-r--r--components/script/dom/request.rs4
-rw-r--r--components/script/dom/response.rs4
-rw-r--r--components/script/dom/serviceworkercontainer.rs4
-rw-r--r--components/script/dom/servoparser/xml.rs4
-rw-r--r--components/script/dom/storageevent.rs6
-rw-r--r--components/script/dom/touch.rs6
-rw-r--r--components/script/dom/touchevent.rs14
-rw-r--r--components/script/dom/treewalker.rs6
-rw-r--r--components/script/dom/uievent.rs5
-rw-r--r--components/script/dom/url.rs4
-rw-r--r--components/script/dom/webglframebuffer.rs4
-rw-r--r--components/script/dom/webglprogram.rs6
-rw-r--r--components/script/dom/webglrenderingcontext.rs30
-rw-r--r--components/script/dom/window.rs18
-rw-r--r--components/script/dom/workerglobalscope.rs6
-rw-r--r--components/script/dom/xmlhttprequest.rs6
60 files changed, 243 insertions, 263 deletions
diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs
index 8b9587c9151..c44cfd4367d 100644
--- a/components/script/dom/attr.rs
+++ b/components/script/dom/attr.rs
@@ -6,8 +6,7 @@ use devtools_traits::AttrInfo;
use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::AttrBinding::{self, AttrMethods};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap};
-use dom::bindings::js::{LayoutJS, Root, RootedReference};
+use dom::bindings::js::{LayoutJS, MutNullableJS, Root, RootedReference};
use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::element::{AttributeMutation, Element};
@@ -28,7 +27,7 @@ pub struct Attr {
value: DOMRefCell<AttrValue>,
/// the element that owns this attribute.
- owner: MutNullableHeap<JS<Element>>,
+ owner: MutNullableJS<Element>,
}
impl Attr {
@@ -48,7 +47,7 @@ impl Attr {
prefix: prefix,
},
value: DOMRefCell::new(value),
- owner: MutNullableHeap::new(owner),
+ owner: MutNullableJS::new(owner),
}
}
diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs
index fa7999ebcb1..bdd2b81ce37 100644
--- a/components/script/dom/bindings/js.rs
+++ b/components/script/dom/bindings/js.rs
@@ -229,20 +229,6 @@ impl LayoutJS<Node> {
}
}
-
-/// A trait to be implemented for JS-managed types that can be stored in
-/// mutable member fields.
-///
-/// Do not implement this trait yourself.
-pub trait HeapGCValue: JSTraceable {
-}
-
-impl HeapGCValue for Heap<JSVal> {
-}
-
-impl<T: DomObject> HeapGCValue for JS<T> {
-}
-
/// A holder that provides interior mutability for GC-managed JSVals.
///
/// Must be used in place of traditional interior mutability to ensure proper
@@ -293,20 +279,20 @@ impl MutHeapJSVal {
/// on `JS<T>`.
#[must_root]
#[derive(JSTraceable)]
-pub struct MutHeap<T: HeapGCValue> {
- val: UnsafeCell<T>,
+pub struct MutJS<T: DomObject> {
+ val: UnsafeCell<JS<T>>,
}
-impl<T: DomObject> MutHeap<JS<T>> {
- /// Create a new `MutHeap`.
- pub fn new(initial: &T) -> MutHeap<JS<T>> {
+impl<T: DomObject> MutJS<T> {
+ /// Create a new `MutJS`.
+ pub fn new(initial: &T) -> MutJS<T> {
debug_assert!(thread_state::get().is_script());
- MutHeap {
+ MutJS {
val: UnsafeCell::new(JS::from_ref(initial)),
}
}
- /// Set this `MutHeap` to the given value.
+ /// Set this `MutJS` to the given value.
pub fn set(&self, val: &T) {
debug_assert!(thread_state::get().is_script());
unsafe {
@@ -314,7 +300,7 @@ impl<T: DomObject> MutHeap<JS<T>> {
}
}
- /// Get the value in this `MutHeap`.
+ /// Get the value in this `MutJS`.
pub fn get(&self) -> Root<T> {
debug_assert!(thread_state::get().is_script());
unsafe {
@@ -323,14 +309,14 @@ impl<T: DomObject> MutHeap<JS<T>> {
}
}
-impl<T: HeapGCValue> HeapSizeOf for MutHeap<T> {
+impl<T: DomObject> HeapSizeOf for MutJS<T> {
fn heap_size_of_children(&self) -> usize {
// See comment on HeapSizeOf for JS<T>.
0
}
}
-impl<T: DomObject> PartialEq for MutHeap<JS<T>> {
+impl<T: DomObject> PartialEq for MutJS<T> {
fn eq(&self, other: &Self) -> bool {
unsafe {
*self.val.get() == *other.val.get()
@@ -338,7 +324,7 @@ impl<T: DomObject> PartialEq for MutHeap<JS<T>> {
}
}
-impl<T: DomObject + PartialEq> PartialEq<T> for MutHeap<JS<T>> {
+impl<T: DomObject + PartialEq> PartialEq<T> for MutJS<T> {
fn eq(&self, other: &T) -> bool {
unsafe {
**self.val.get() == *other
@@ -354,15 +340,15 @@ impl<T: DomObject + PartialEq> PartialEq<T> for MutHeap<JS<T>> {
/// on `JS<T>`.
#[must_root]
#[derive(JSTraceable)]
-pub struct MutNullableHeap<T: HeapGCValue> {
- ptr: UnsafeCell<Option<T>>,
+pub struct MutNullableJS<T: DomObject> {
+ ptr: UnsafeCell<Option<JS<T>>>,
}
-impl<T: DomObject> MutNullableHeap<JS<T>> {
- /// Create a new `MutNullableHeap`.
- pub fn new(initial: Option<&T>) -> MutNullableHeap<JS<T>> {
+impl<T: DomObject> MutNullableJS<T> {
+ /// Create a new `MutNullableJS`.
+ pub fn new(initial: Option<&T>) -> MutNullableJS<T> {
debug_assert!(thread_state::get().is_script());
- MutNullableHeap {
+ MutNullableJS {
ptr: UnsafeCell::new(initial.map(JS::from_ref)),
}
}
@@ -400,7 +386,7 @@ impl<T: DomObject> MutNullableHeap<JS<T>> {
}
}
- /// Set this `MutNullableHeap` to the given value.
+ /// Set this `MutNullableJS` to the given value.
pub fn set(&self, val: Option<&T>) {
debug_assert!(thread_state::get().is_script());
unsafe {
@@ -416,7 +402,7 @@ impl<T: DomObject> MutNullableHeap<JS<T>> {
}
}
-impl<T: DomObject> PartialEq for MutNullableHeap<JS<T>> {
+impl<T: DomObject> PartialEq for MutNullableJS<T> {
fn eq(&self, other: &Self) -> bool {
unsafe {
*self.ptr.get() == *other.ptr.get()
@@ -424,7 +410,7 @@ impl<T: DomObject> PartialEq for MutNullableHeap<JS<T>> {
}
}
-impl<'a, T: DomObject> PartialEq<Option<&'a T>> for MutNullableHeap<JS<T>> {
+impl<'a, T: DomObject> PartialEq<Option<&'a T>> for MutNullableJS<T> {
fn eq(&self, other: &Option<&T>) -> bool {
unsafe {
*self.ptr.get() == other.map(JS::from_ref)
@@ -432,17 +418,17 @@ impl<'a, T: DomObject> PartialEq<Option<&'a T>> for MutNullableHeap<JS<T>> {
}
}
-impl<T: HeapGCValue> Default for MutNullableHeap<T> {
+impl<T: DomObject> Default for MutNullableJS<T> {
#[allow(unrooted_must_root)]
- fn default() -> MutNullableHeap<T> {
+ fn default() -> MutNullableJS<T> {
debug_assert!(thread_state::get().is_script());
- MutNullableHeap {
+ MutNullableJS {
ptr: UnsafeCell::new(None),
}
}
}
-impl<T: HeapGCValue> HeapSizeOf for MutNullableHeap<T> {
+impl<T: DomObject> HeapSizeOf for MutNullableJS<T> {
fn heap_size_of_children(&self) -> usize {
// See comment on HeapSizeOf for JS<T>.
0
diff --git a/components/script/dom/bluetooth.rs b/components/script/dom/bluetooth.rs
index 5a657eb6459..6d35009f869 100644
--- a/components/script/dom/bluetooth.rs
+++ b/components/script/dom/bluetooth.rs
@@ -15,7 +15,7 @@ use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
use dom::bindings::codegen::UnionTypes::StringOrUnsignedLong;
use dom::bindings::error::Error::{self, NotFound, Security, Type};
use dom::bindings::error::Fallible;
-use dom::bindings::js::{JS, MutHeap, Root};
+use dom::bindings::js::{MutJS, Root};
use dom::bindings::refcounted::{Trusted, TrustedPromise};
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::DOMString;
@@ -86,7 +86,7 @@ impl<Listener: AsyncBluetoothListener + DomObject> BluetoothResponseListener for
#[dom_struct]
pub struct Bluetooth {
eventtarget: EventTarget,
- device_instance_map: DOMRefCell<HashMap<String, MutHeap<JS<BluetoothDevice>>>>,
+ device_instance_map: DOMRefCell<HashMap<String, MutJS<BluetoothDevice>>>,
}
impl Bluetooth {
@@ -409,7 +409,7 @@ impl AsyncBluetoothListener for Bluetooth {
device.name.map(DOMString::from),
&ad_data,
&self);
- device_instance_map.insert(device.id, MutHeap::new(&bt_device));
+ device_instance_map.insert(device.id, MutJS::new(&bt_device));
// https://webbluetoothcg.github.io/web-bluetooth/#dom-bluetooth-requestdevice
// Step 5.
promise.resolve_native(promise_cx, &bt_device);
diff --git a/components/script/dom/bluetoothdevice.rs b/components/script/dom/bluetoothdevice.rs
index b257b82f343..9b39cfbcd5f 100644
--- a/components/script/dom/bluetoothdevice.rs
+++ b/components/script/dom/bluetoothdevice.rs
@@ -8,7 +8,7 @@ use dom::bindings::codegen::Bindings::BluetoothDeviceBinding;
use dom::bindings::codegen::Bindings::BluetoothDeviceBinding::BluetoothDeviceMethods;
use dom::bindings::codegen::Bindings::BluetoothRemoteGATTServerBinding::BluetoothRemoteGATTServerMethods;
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
-use dom::bindings::js::{JS, Root, MutHeap, MutNullableHeap};
+use dom::bindings::js::{MutJS, MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::bluetooth::Bluetooth;
@@ -29,12 +29,12 @@ pub struct BluetoothDevice {
eventtarget: EventTarget,
id: DOMString,
name: Option<DOMString>,
- ad_data: MutHeap<JS<BluetoothAdvertisingData>>,
- gatt: MutNullableHeap<JS<BluetoothRemoteGATTServer>>,
- context: MutHeap<JS<Bluetooth>>,
- attribute_instance_map: (DOMRefCell<HashMap<String, MutHeap<JS<BluetoothRemoteGATTService>>>>,
- DOMRefCell<HashMap<String, MutHeap<JS<BluetoothRemoteGATTCharacteristic>>>>,
- DOMRefCell<HashMap<String, MutHeap<JS<BluetoothRemoteGATTDescriptor>>>>),
+ ad_data: MutJS<BluetoothAdvertisingData>,
+ gatt: MutNullableJS<BluetoothRemoteGATTServer>,
+ context: MutJS<Bluetooth>,
+ attribute_instance_map: (DOMRefCell<HashMap<String, MutJS<BluetoothRemoteGATTService>>>,
+ DOMRefCell<HashMap<String, MutJS<BluetoothRemoteGATTCharacteristic>>>,
+ DOMRefCell<HashMap<String, MutJS<BluetoothRemoteGATTDescriptor>>>),
}
impl BluetoothDevice {
@@ -47,9 +47,9 @@ impl BluetoothDevice {
eventtarget: EventTarget::new_inherited(),
id: id,
name: name,
- ad_data: MutHeap::new(ad_data),
+ ad_data: MutJS::new(ad_data),
gatt: Default::default(),
- context: MutHeap::new(context),
+ context: MutJS::new(context),
attribute_instance_map: (DOMRefCell::new(HashMap::new()),
DOMRefCell::new(HashMap::new()),
DOMRefCell::new(HashMap::new())),
@@ -84,7 +84,7 @@ impl BluetoothDevice {
DOMString::from(service.uuid.clone()),
service.is_primary,
service.instance_id.clone());
- service_map.insert(service.instance_id.clone(), MutHeap::new(&bt_service));
+ service_map.insert(service.instance_id.clone(), MutJS::new(&bt_service));
return bt_service;
}
@@ -113,7 +113,7 @@ impl BluetoothDevice {
DOMString::from(characteristic.uuid.clone()),
&properties,
characteristic.instance_id.clone());
- characteristic_map.insert(characteristic.instance_id.clone(), MutHeap::new(&bt_characteristic));
+ characteristic_map.insert(characteristic.instance_id.clone(), MutJS::new(&bt_characteristic));
return bt_characteristic;
}
@@ -130,7 +130,7 @@ impl BluetoothDevice {
characteristic,
DOMString::from(descriptor.uuid.clone()),
descriptor.instance_id.clone());
- descriptor_map.insert(descriptor.instance_id.clone(), MutHeap::new(&bt_descriptor));
+ descriptor_map.insert(descriptor.instance_id.clone(), MutJS::new(&bt_descriptor));
return bt_descriptor;
}
}
diff --git a/components/script/dom/bluetoothremotegattcharacteristic.rs b/components/script/dom/bluetoothremotegattcharacteristic.rs
index eb41e6ec1db..6ac48edcf86 100644
--- a/components/script/dom/bluetoothremotegattcharacteristic.rs
+++ b/components/script/dom/bluetoothremotegattcharacteristic.rs
@@ -16,7 +16,7 @@ use dom::bindings::codegen::Bindings::BluetoothRemoteGATTServiceBinding::Bluetoo
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
use dom::bindings::error::Error::{self, InvalidModification, Network, NotSupported, Security};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutHeap, Root};
+use dom::bindings::js::{MutJS, Root};
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::{ByteString, DOMString};
use dom::bluetooth::{AsyncBluetoothListener, response_async};
@@ -38,9 +38,9 @@ pub const MAXIMUM_ATTRIBUTE_LENGTH: usize = 512;
#[dom_struct]
pub struct BluetoothRemoteGATTCharacteristic {
eventtarget: EventTarget,
- service: MutHeap<JS<BluetoothRemoteGATTService>>,
+ service: MutJS<BluetoothRemoteGATTService>,
uuid: DOMString,
- properties: MutHeap<JS<BluetoothCharacteristicProperties>>,
+ properties: MutJS<BluetoothCharacteristicProperties>,
value: DOMRefCell<Option<ByteString>>,
instance_id: String,
}
@@ -53,9 +53,9 @@ impl BluetoothRemoteGATTCharacteristic {
-> BluetoothRemoteGATTCharacteristic {
BluetoothRemoteGATTCharacteristic {
eventtarget: EventTarget::new_inherited(),
- service: MutHeap::new(service),
+ service: MutJS::new(service),
uuid: uuid,
- properties: MutHeap::new(properties),
+ properties: MutJS::new(properties),
value: DOMRefCell::new(None),
instance_id: instance_id,
}
diff --git a/components/script/dom/bluetoothremotegattdescriptor.rs b/components/script/dom/bluetoothremotegattdescriptor.rs
index c31fae99070..541374e6841 100644
--- a/components/script/dom/bluetoothremotegattdescriptor.rs
+++ b/components/script/dom/bluetoothremotegattdescriptor.rs
@@ -13,7 +13,7 @@ use dom::bindings::codegen::Bindings::BluetoothRemoteGATTDescriptorBinding::Blue
use dom::bindings::codegen::Bindings::BluetoothRemoteGATTServerBinding::BluetoothRemoteGATTServerMethods;
use dom::bindings::codegen::Bindings::BluetoothRemoteGATTServiceBinding::BluetoothRemoteGATTServiceMethods;
use dom::bindings::error::Error::{self, InvalidModification, Network, Security};
-use dom::bindings::js::{JS, MutHeap, Root};
+use dom::bindings::js::{MutJS, Root};
use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
use dom::bindings::str::{ByteString, DOMString};
use dom::bluetooth::{AsyncBluetoothListener, response_async};
@@ -28,7 +28,7 @@ use std::rc::Rc;
#[dom_struct]
pub struct BluetoothRemoteGATTDescriptor {
reflector_: Reflector,
- characteristic: MutHeap<JS<BluetoothRemoteGATTCharacteristic>>,
+ characteristic: MutJS<BluetoothRemoteGATTCharacteristic>,
uuid: DOMString,
value: DOMRefCell<Option<ByteString>>,
instance_id: String,
@@ -41,7 +41,7 @@ impl BluetoothRemoteGATTDescriptor {
-> BluetoothRemoteGATTDescriptor {
BluetoothRemoteGATTDescriptor {
reflector_: Reflector::new(),
- characteristic: MutHeap::new(characteristic),
+ characteristic: MutJS::new(characteristic),
uuid: uuid,
value: DOMRefCell::new(None),
instance_id: instance_id,
diff --git a/components/script/dom/bluetoothremotegattserver.rs b/components/script/dom/bluetoothremotegattserver.rs
index d9d57ae51f1..72f7cd546d3 100644
--- a/components/script/dom/bluetoothremotegattserver.rs
+++ b/components/script/dom/bluetoothremotegattserver.rs
@@ -9,7 +9,7 @@ use dom::bindings::codegen::Bindings::BluetoothRemoteGATTServerBinding;
use dom::bindings::codegen::Bindings::BluetoothRemoteGATTServerBinding::BluetoothRemoteGATTServerMethods;
use dom::bindings::error::Error::{self, Network, Security};
use dom::bindings::error::ErrorResult;
-use dom::bindings::js::{JS, MutHeap, Root};
+use dom::bindings::js::{MutJS, Root};
use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
use dom::bluetooth::{AsyncBluetoothListener, response_async};
use dom::bluetoothdevice::BluetoothDevice;
@@ -25,7 +25,7 @@ use std::rc::Rc;
#[dom_struct]
pub struct BluetoothRemoteGATTServer {
reflector_: Reflector,
- device: MutHeap<JS<BluetoothDevice>>,
+ device: MutJS<BluetoothDevice>,
connected: Cell<bool>,
}
@@ -33,7 +33,7 @@ impl BluetoothRemoteGATTServer {
pub fn new_inherited(device: &BluetoothDevice) -> BluetoothRemoteGATTServer {
BluetoothRemoteGATTServer {
reflector_: Reflector::new(),
- device: MutHeap::new(device),
+ device: MutJS::new(device),
connected: Cell::new(false),
}
}
diff --git a/components/script/dom/bluetoothremotegattservice.rs b/components/script/dom/bluetoothremotegattservice.rs
index f4aed154c7c..6881a78ff45 100644
--- a/components/script/dom/bluetoothremotegattservice.rs
+++ b/components/script/dom/bluetoothremotegattservice.rs
@@ -10,7 +10,7 @@ use dom::bindings::codegen::Bindings::BluetoothRemoteGATTServiceBinding;
use dom::bindings::codegen::Bindings::BluetoothRemoteGATTServiceBinding::BluetoothRemoteGATTServiceMethods;
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
use dom::bindings::error::Error::{self, Network, Security};
-use dom::bindings::js::{JS, MutHeap, Root};
+use dom::bindings::js::{MutJS, Root};
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::bluetooth::{AsyncBluetoothListener, response_async};
@@ -27,7 +27,7 @@ use std::rc::Rc;
#[dom_struct]
pub struct BluetoothRemoteGATTService {
eventtarget: EventTarget,
- device: MutHeap<JS<BluetoothDevice>>,
+ device: MutJS<BluetoothDevice>,
uuid: DOMString,
is_primary: bool,
instance_id: String,
@@ -41,7 +41,7 @@ impl BluetoothRemoteGATTService {
-> BluetoothRemoteGATTService {
BluetoothRemoteGATTService {
eventtarget: EventTarget::new_inherited(),
- device: MutHeap::new(device),
+ device: MutJS::new(device),
uuid: uuid,
is_primary: is_primary,
instance_id: instance_id,
diff --git a/components/script/dom/browsingcontext.rs b/components/script/dom/browsingcontext.rs
index 76b8badbe76..1a7f26253a0 100644
--- a/components/script/dom/browsingcontext.rs
+++ b/components/script/dom/browsingcontext.rs
@@ -4,7 +4,7 @@
use dom::bindings::conversions::{ToJSValConvertible, root_from_handleobject};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{JS, MutNullableJS, Root, RootedReference};
use dom::bindings::proxyhandler::{fill_property_descriptor, get_property_descriptor};
use dom::bindings::reflector::{DomObject, MutDomObject, Reflector};
use dom::bindings::trace::JSTraceable;
@@ -43,7 +43,7 @@ pub struct BrowsingContext {
/// The current active document.
/// Note that the session history is stored in the constellation,
/// in the script thread we just track the current active document.
- active_document: MutNullableHeap<JS<Document>>,
+ active_document: MutNullableJS<Document>,
/// The containing iframe element, if this is a same-origin iframe
frame_element: Option<JS<Element>>,
diff --git a/components/script/dom/client.rs b/components/script/dom/client.rs
index 496a13d32dc..d9d43ce7e01 100644
--- a/components/script/dom/client.rs
+++ b/components/script/dom/client.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::Bindings::ClientBinding::{ClientMethods, Wrap};
use dom::bindings::codegen::Bindings::ClientBinding::FrameType;
-use dom::bindings::js::{JS, Root, MutNullableHeap};
+use dom::bindings::js::{Root, MutNullableJS};
use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::bindings::str::{DOMString, USVString};
use dom::serviceworker::ServiceWorker;
@@ -16,7 +16,7 @@ use uuid::Uuid;
#[dom_struct]
pub struct Client {
reflector_: Reflector,
- active_worker: MutNullableHeap<JS<ServiceWorker>>,
+ active_worker: MutNullableJS<ServiceWorker>,
url: ServoUrl,
frame_type: FrameType,
#[ignore_heap_size_of = "Defined in uuid"]
diff --git a/components/script/dom/cssgroupingrule.rs b/components/script/dom/cssgroupingrule.rs
index e8651c551d3..64b47142892 100644
--- a/components/script/dom/cssgroupingrule.rs
+++ b/components/script/dom/cssgroupingrule.rs
@@ -6,7 +6,7 @@ use dom::bindings::codegen::Bindings::CSSGroupingRuleBinding;
use dom::bindings::codegen::Bindings::CSSGroupingRuleBinding::CSSGroupingRuleMethods;
use dom::bindings::error::{ErrorResult, Fallible};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::cssrule::CSSRule;
@@ -22,7 +22,7 @@ pub struct CSSGroupingRule {
cssrule: CSSRule,
#[ignore_heap_size_of = "Arc"]
rules: Arc<RwLock<StyleCssRules>>,
- rulelist: MutNullableHeap<JS<CSSRuleList>>,
+ rulelist: MutNullableJS<CSSRuleList>,
}
impl CSSGroupingRule {
@@ -31,7 +31,7 @@ impl CSSGroupingRule {
CSSGroupingRule {
cssrule: CSSRule::new_inherited(parent_stylesheet),
rules: rules,
- rulelist: MutNullableHeap::new(None),
+ rulelist: MutNullableJS::new(None),
}
}
diff --git a/components/script/dom/csskeyframesrule.rs b/components/script/dom/csskeyframesrule.rs
index 46ed79435c1..3ddaa5c5b61 100644
--- a/components/script/dom/csskeyframesrule.rs
+++ b/components/script/dom/csskeyframesrule.rs
@@ -6,7 +6,7 @@ use cssparser::Parser;
use dom::bindings::codegen::Bindings::CSSKeyframesRuleBinding;
use dom::bindings::codegen::Bindings::CSSKeyframesRuleBinding::CSSKeyframesRuleMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::csskeyframerule::CSSKeyframeRule;
@@ -26,7 +26,7 @@ pub struct CSSKeyframesRule {
cssrule: CSSRule,
#[ignore_heap_size_of = "Arc"]
keyframesrule: Arc<RwLock<KeyframesRule>>,
- rulelist: MutNullableHeap<JS<CSSRuleList>>,
+ rulelist: MutNullableJS<CSSRuleList>,
}
impl CSSKeyframesRule {
@@ -35,7 +35,7 @@ impl CSSKeyframesRule {
CSSKeyframesRule {
cssrule: CSSRule::new_inherited(parent_stylesheet),
keyframesrule: keyframesrule,
- rulelist: MutNullableHeap::new(None),
+ rulelist: MutNullableJS::new(None),
}
}
diff --git a/components/script/dom/cssmediarule.rs b/components/script/dom/cssmediarule.rs
index 0e1fc145e7d..b6b04dde9d8 100644
--- a/components/script/dom/cssmediarule.rs
+++ b/components/script/dom/cssmediarule.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::Bindings::CSSMediaRuleBinding;
use dom::bindings::codegen::Bindings::CSSMediaRuleBinding::CSSMediaRuleMethods;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::cssgroupingrule::CSSGroupingRule;
@@ -22,7 +22,7 @@ pub struct CSSMediaRule {
cssrule: CSSGroupingRule,
#[ignore_heap_size_of = "Arc"]
mediarule: Arc<RwLock<MediaRule>>,
- medialist: MutNullableHeap<JS<MediaList>>,
+ medialist: MutNullableJS<MediaList>,
}
impl CSSMediaRule {
@@ -32,7 +32,7 @@ impl CSSMediaRule {
CSSMediaRule {
cssrule: CSSGroupingRule::new_inherited(parent_stylesheet, list),
mediarule: mediarule,
- medialist: MutNullableHeap::new(None),
+ medialist: MutNullableJS::new(None),
}
}
diff --git a/components/script/dom/cssrulelist.rs b/components/script/dom/cssrulelist.rs
index 988f839a87a..f667638b022 100644
--- a/components/script/dom/cssrulelist.rs
+++ b/components/script/dom/cssrulelist.rs
@@ -6,7 +6,7 @@ use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::CSSRuleListBinding;
use dom::bindings::codegen::Bindings::CSSRuleListBinding::CSSRuleListMethods;
use dom::bindings::error::{Error, ErrorResult, Fallible};
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{JS, MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
use dom::csskeyframerule::CSSKeyframeRule;
use dom::cssrule::CSSRule;
@@ -38,7 +38,7 @@ pub struct CSSRuleList {
parent_stylesheet: JS<CSSStyleSheet>,
#[ignore_heap_size_of = "Arc"]
rules: RulesSource,
- dom_rules: DOMRefCell<Vec<MutNullableHeap<JS<CSSRule>>>>
+ dom_rules: DOMRefCell<Vec<MutNullableJS<CSSRule>>>
}
pub enum RulesSource {
@@ -51,10 +51,10 @@ impl CSSRuleList {
pub fn new_inherited(parent_stylesheet: &CSSStyleSheet, rules: RulesSource) -> CSSRuleList {
let dom_rules = match rules {
RulesSource::Rules(ref rules) => {
- rules.read().0.iter().map(|_| MutNullableHeap::new(None)).collect()
+ rules.read().0.iter().map(|_| MutNullableJS::new(None)).collect()
}
RulesSource::Keyframes(ref rules) => {
- rules.read().keyframes.iter().map(|_| MutNullableHeap::new(None)).collect()
+ rules.read().keyframes.iter().map(|_| MutNullableJS::new(None)).collect()
}
};
@@ -92,7 +92,7 @@ impl CSSRuleList {
let parent_stylesheet = &*self.parent_stylesheet;
let dom_rule = CSSRule::new_specific(&window, parent_stylesheet, new_rule);
- self.dom_rules.borrow_mut().insert(index, MutNullableHeap::new(Some(&*dom_rule)));
+ self.dom_rules.borrow_mut().insert(index, MutNullableJS::new(Some(&*dom_rule)));
Ok((idx))
}
@@ -158,7 +158,7 @@ impl CSSRuleList {
if let RulesSource::Rules(..) = self.rules {
panic!("Can only call append_lazy_rule with keyframes-backed CSSRules");
}
- self.dom_rules.borrow_mut().push(MutNullableHeap::new(None));
+ self.dom_rules.borrow_mut().push(MutNullableJS::new(None));
}
}
diff --git a/components/script/dom/cssstylesheet.rs b/components/script/dom/cssstylesheet.rs
index 106b9b5805d..908cfad2cd5 100644
--- a/components/script/dom/cssstylesheet.rs
+++ b/components/script/dom/cssstylesheet.rs
@@ -6,7 +6,7 @@ use dom::bindings::codegen::Bindings::CSSStyleSheetBinding;
use dom::bindings::codegen::Bindings::CSSStyleSheetBinding::CSSStyleSheetMethods;
use dom::bindings::codegen::Bindings::WindowBinding::WindowBinding::WindowMethods;
use dom::bindings::error::{ErrorResult, Fallible};
-use dom::bindings::js::{JS, Root, MutNullableHeap};
+use dom::bindings::js::{JS, MutNullableJS, Root};
use dom::bindings::reflector::{reflect_dom_object, DomObject};
use dom::bindings::str::DOMString;
use dom::cssrulelist::{CSSRuleList, RulesSource};
@@ -20,7 +20,7 @@ use style::stylesheets::Stylesheet as StyleStyleSheet;
pub struct CSSStyleSheet {
stylesheet: StyleSheet,
owner: JS<Element>,
- rulelist: MutNullableHeap<JS<CSSRuleList>>,
+ rulelist: MutNullableJS<CSSRuleList>,
#[ignore_heap_size_of = "Arc"]
style_stylesheet: Arc<StyleStyleSheet>,
}
@@ -34,7 +34,7 @@ impl CSSStyleSheet {
CSSStyleSheet {
stylesheet: StyleSheet::new_inherited(type_, href, title),
owner: JS::from_ref(owner),
- rulelist: MutNullableHeap::new(None),
+ rulelist: MutNullableJS::new(None),
style_stylesheet: stylesheet,
}
}
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 9704b4ba0ab..17ef9df0ed6 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -24,7 +24,7 @@ use dom::bindings::codegen::Bindings::WindowBinding::{FrameRequestCallback, Scro
use dom::bindings::codegen::UnionTypes::NodeOrString;
use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::inheritance::{Castable, ElementTypeId, HTMLElementTypeId, NodeTypeId};
-use dom::bindings::js::{JS, LayoutJS, MutNullableHeap, Root};
+use dom::bindings::js::{JS, LayoutJS, MutNullableJS, Root};
use dom::bindings::js::RootedReference;
use dom::bindings::num::Finite;
use dom::bindings::refcounted::{Trusted, TrustedPromise};
@@ -184,8 +184,8 @@ pub struct Document {
window: JS<Window>,
/// https://html.spec.whatwg.org/multipage/#concept-document-bc
browsing_context: Option<JS<BrowsingContext>>,
- implementation: MutNullableHeap<JS<DOMImplementation>>,
- location: MutNullableHeap<JS<Location>>,
+ implementation: MutNullableJS<DOMImplementation>,
+ location: MutNullableJS<Location>,
content_type: DOMString,
last_modified: Option<String>,
encoding: Cell<EncodingRef>,
@@ -197,29 +197,29 @@ pub struct Document {
tag_map: DOMRefCell<HashMap<LocalName, JS<HTMLCollection>>>,
tagns_map: DOMRefCell<HashMap<QualName, JS<HTMLCollection>>>,
classes_map: DOMRefCell<HashMap<Vec<Atom>, JS<HTMLCollection>>>,
- images: MutNullableHeap<JS<HTMLCollection>>,
- embeds: MutNullableHeap<JS<HTMLCollection>>,
- links: MutNullableHeap<JS<HTMLCollection>>,
- forms: MutNullableHeap<JS<HTMLCollection>>,
- scripts: MutNullableHeap<JS<HTMLCollection>>,
- anchors: MutNullableHeap<JS<HTMLCollection>>,
- applets: MutNullableHeap<JS<HTMLCollection>>,
+ images: MutNullableJS<HTMLCollection>,
+ embeds: MutNullableJS<HTMLCollection>,
+ links: MutNullableJS<HTMLCollection>,
+ forms: MutNullableJS<HTMLCollection>,
+ scripts: MutNullableJS<HTMLCollection>,
+ anchors: MutNullableJS<HTMLCollection>,
+ applets: MutNullableJS<HTMLCollection>,
/// List of stylesheets associated with nodes in this document. |None| if the list needs to be refreshed.
stylesheets: DOMRefCell<Option<Vec<StylesheetInDocument>>>,
/// Whether the list of stylesheets has changed since the last reflow was triggered.
stylesheets_changed_since_reflow: Cell<bool>,
- stylesheet_list: MutNullableHeap<JS<StyleSheetList>>,
+ stylesheet_list: MutNullableJS<StyleSheetList>,
ready_state: Cell<DocumentReadyState>,
/// Whether the DOMContentLoaded event has already been dispatched.
domcontentloaded_dispatched: Cell<bool>,
/// The element that has most recently requested focus for itself.
- possibly_focused: MutNullableHeap<JS<Element>>,
+ possibly_focused: MutNullableJS<Element>,
/// The element that currently has the document focus context.
- focused: MutNullableHeap<JS<Element>>,
+ focused: MutNullableJS<Element>,
/// The script element that is currently executing.
- current_script: MutNullableHeap<JS<HTMLScriptElement>>,
+ current_script: MutNullableJS<HTMLScriptElement>,
/// https://html.spec.whatwg.org/multipage/#pending-parsing-blocking-script
- pending_parsing_blocking_script: MutNullableHeap<JS<HTMLScriptElement>>,
+ pending_parsing_blocking_script: MutNullableJS<HTMLScriptElement>,
/// Number of stylesheets that block executing the next parser-inserted script
script_blocking_stylesheets_count: Cell<u32>,
/// https://html.spec.whatwg.org/multipage/#list-of-scripts-that-will-execute-when-the-document-has-finished-parsing
@@ -245,14 +245,14 @@ pub struct Document {
/// Tracks all outstanding loads related to this document.
loader: DOMRefCell<DocumentLoader>,
/// The current active HTML parser, to allow resuming after interruptions.
- current_parser: MutNullableHeap<JS<ServoParser>>,
+ current_parser: MutNullableJS<ServoParser>,
/// When we should kick off a reflow. This happens during parsing.
reflow_timeout: Cell<Option<u64>>,
/// The cached first `base` element with an `href` attribute.
- base_element: MutNullableHeap<JS<HTMLBaseElement>>,
+ base_element: MutNullableJS<HTMLBaseElement>,
/// This field is set to the document itself for inert documents.
/// https://html.spec.whatwg.org/multipage/#appropriate-template-contents-owner-document
- appropriate_template_contents_owner_document: MutNullableHeap<JS<Document>>,
+ appropriate_template_contents_owner_document: MutNullableJS<Document>,
/// Information on elements needing restyle to ship over to the layout thread when the
/// time comes.
pending_restyles: DOMRefCell<HashMap<JS<Element>, PendingRestyle>>,
@@ -280,7 +280,7 @@ pub struct Document {
/// https://html.spec.whatwg.org/multipage/#dom-document-referrer
referrer: Option<String>,
/// https://html.spec.whatwg.org/multipage/#target-element
- target_element: MutNullableHeap<JS<Element>>,
+ target_element: MutNullableJS<Element>,
/// https://w3c.github.io/uievents/#event-type-dblclick
#[ignore_heap_size_of = "Defined in std"]
last_click_info: DOMRefCell<Option<(Instant, Point2D<f32>)>>,
@@ -293,7 +293,7 @@ pub struct Document {
/// See also: https://github.com/servo/servo/issues/10110
dom_count: Cell<u32>,
/// Entry node for fullscreen.
- fullscreen_element: MutNullableHeap<JS<Element>>,
+ fullscreen_element: MutNullableJS<Element>,
}
#[derive(JSTraceable, HeapSizeOf)]
@@ -1036,7 +1036,7 @@ impl Document {
pub fn handle_mouse_move_event(&self,
js_runtime: *mut JSRuntime,
client_point: Option<Point2D<f32>>,
- prev_mouse_over_target: &MutNullableHeap<JS<Element>>) {
+ prev_mouse_over_target: &MutNullableJS<Element>) {
let client_point = match client_point {
None => {
// If there's no point, there's no target under the mouse
@@ -1872,7 +1872,7 @@ impl Document {
applets: Default::default(),
stylesheets: DOMRefCell::new(None),
stylesheets_changed_since_reflow: Cell::new(false),
- stylesheet_list: MutNullableHeap::new(None),
+ stylesheet_list: MutNullableJS::new(None),
ready_state: Cell::new(ready_state),
domcontentloaded_dispatched: Cell::new(domcontentloaded_dispatched),
possibly_focused: Default::default(),
@@ -1907,11 +1907,11 @@ impl Document {
origin: origin,
referrer: referrer,
referrer_policy: Cell::new(referrer_policy),
- target_element: MutNullableHeap::new(None),
+ target_element: MutNullableJS::new(None),
last_click_info: DOMRefCell::new(None),
ignore_destructive_writes_counter: Default::default(),
dom_count: Cell::new(1),
- fullscreen_element: MutNullableHeap::new(None),
+ fullscreen_element: MutNullableJS::new(None),
}
}
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index 67e5584b0f0..66021ce6104 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -22,7 +22,7 @@ use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::codegen::UnionTypes::NodeOrString;
use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::inheritance::{Castable, ElementTypeId, HTMLElementTypeId, NodeTypeId};
-use dom::bindings::js::{JS, LayoutJS, MutNullableHeap};
+use dom::bindings::js::{JS, LayoutJS, MutNullableJS};
use dom::bindings::js::{Root, RootedReference};
use dom::bindings::refcounted::{Trusted, TrustedPromise};
use dom::bindings::reflector::DomObject;
@@ -125,8 +125,8 @@ pub struct Element {
id_attribute: DOMRefCell<Option<Atom>>,
#[ignore_heap_size_of = "Arc"]
style_attribute: DOMRefCell<Option<Arc<RwLock<PropertyDeclarationBlock>>>>,
- attr_list: MutNullableHeap<JS<NamedNodeMap>>,
- class_list: MutNullableHeap<JS<DOMTokenList>>,
+ attr_list: MutNullableJS<NamedNodeMap>,
+ class_list: MutNullableJS<DOMTokenList>,
state: Cell<ElementState>,
atomic_flags: AtomicElementFlags,
}
diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs
index d67d1f64e78..d471c25d873 100644
--- a/components/script/dom/event.rs
+++ b/components/script/dom/event.rs
@@ -6,7 +6,7 @@ use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::EventBinding;
use dom::bindings::codegen::Bindings::EventBinding::{EventConstants, EventMethods};
use dom::bindings::error::Fallible;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::bindings::str::DOMString;
@@ -80,8 +80,8 @@ impl From<bool> for EventCancelable {
#[dom_struct]
pub struct Event {
reflector_: Reflector,
- current_target: MutNullableHeap<JS<EventTarget>>,
- target: MutNullableHeap<JS<EventTarget>>,
+ current_target: MutNullableJS<EventTarget>,
+ target: MutNullableJS<EventTarget>,
type_: DOMRefCell<Atom>,
phase: Cell<EventPhase>,
canceled: Cell<bool>,
diff --git a/components/script/dom/filereader.rs b/components/script/dom/filereader.rs
index bb57ad5d9de..4227e84d6c0 100644
--- a/components/script/dom/filereader.rs
+++ b/components/script/dom/filereader.rs
@@ -9,7 +9,7 @@ use dom::bindings::codegen::Bindings::FileReaderBinding::{self, FileReaderConsta
use dom::bindings::codegen::UnionTypes::StringOrObject;
use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::DOMString;
@@ -86,7 +86,7 @@ pub enum FileReaderResult {
pub struct FileReader {
eventtarget: EventTarget,
ready_state: Cell<FileReaderReadyState>,
- error: MutNullableHeap<JS<DOMException>>,
+ error: MutNullableJS<DOMException>,
result: DOMRefCell<Option<FileReaderResult>>,
generation_id: Cell<GenerationId>,
}
@@ -96,7 +96,7 @@ impl FileReader {
FileReader {
eventtarget: EventTarget::new_inherited(),
ready_state: Cell::new(FileReaderReadyState::Empty),
- error: MutNullableHeap::new(None),
+ error: MutNullableJS::new(None),
result: DOMRefCell::new(None),
generation_id: Cell::new(GenerationId(0)),
}
diff --git a/components/script/dom/focusevent.rs b/components/script/dom/focusevent.rs
index 1eb3983737d..c7e48531479 100644
--- a/components/script/dom/focusevent.rs
+++ b/components/script/dom/focusevent.rs
@@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::FocusEventBinding::FocusEventMethods;
use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods;
use dom::bindings::error::Fallible;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{MutNullableJS, Root, RootedReference};
use dom::bindings::reflector::reflect_dom_object;
use dom::bindings::str::DOMString;
use dom::event::{EventBubbles, EventCancelable};
@@ -20,7 +20,7 @@ use std::default::Default;
#[dom_struct]
pub struct FocusEvent {
uievent: UIEvent,
- related_target: MutNullableHeap<JS<EventTarget>>,
+ related_target: MutNullableJS<EventTarget>,
}
impl FocusEvent {
diff --git a/components/script/dom/globalscope.rs b/components/script/dom/globalscope.rs
index 19436804b19..ae08bc0e5fd 100644
--- a/components/script/dom/globalscope.rs
+++ b/components/script/dom/globalscope.rs
@@ -8,7 +8,7 @@ use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::conversions::root_from_object;
use dom::bindings::error::{ErrorInfo, report_pending_exception};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::reflector::DomObject;
use dom::bindings::str::DOMString;
use dom::crypto::Crypto;
@@ -50,7 +50,7 @@ use timers::{OneshotTimers, TimerCallback};
#[dom_struct]
pub struct GlobalScope {
eventtarget: EventTarget,
- crypto: MutNullableHeap<JS<Crypto>>,
+ crypto: MutNullableJS<Crypto>,
next_worker_id: Cell<WorkerId>,
/// Pipeline id associated with this global.
diff --git a/components/script/dom/htmlanchorelement.rs b/components/script/dom/htmlanchorelement.rs
index f92290b2c97..b86cd60b8fc 100644
--- a/components/script/dom/htmlanchorelement.rs
+++ b/components/script/dom/htmlanchorelement.rs
@@ -11,7 +11,7 @@ use dom::bindings::codegen::Bindings::HTMLAnchorElementBinding::HTMLAnchorElemen
use dom::bindings::codegen::Bindings::MouseEventBinding::MouseEventMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::str::{DOMString, USVString};
use dom::document::Document;
use dom::domtokenlist::DOMTokenList;
@@ -36,7 +36,7 @@ use util::prefs::PREFS;
#[dom_struct]
pub struct HTMLAnchorElement {
htmlelement: HTMLElement,
- rel_list: MutNullableHeap<JS<DOMTokenList>>,
+ rel_list: MutNullableJS<DOMTokenList>,
url: DOMRefCell<Option<ServoUrl>>,
}
diff --git a/components/script/dom/htmlareaelement.rs b/components/script/dom/htmlareaelement.rs
index b8df3806a3f..79240885167 100644
--- a/components/script/dom/htmlareaelement.rs
+++ b/components/script/dom/htmlareaelement.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::Bindings::HTMLAreaElementBinding;
use dom::bindings::codegen::Bindings::HTMLAreaElementBinding::HTMLAreaElementMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::str::DOMString;
use dom::document::Document;
use dom::domtokenlist::DOMTokenList;
@@ -19,7 +19,7 @@ use style::attr::AttrValue;
#[dom_struct]
pub struct HTMLAreaElement {
htmlelement: HTMLElement,
- rel_list: MutNullableHeap<JS<DOMTokenList>>,
+ rel_list: MutNullableJS<DOMTokenList>,
}
impl HTMLAreaElement {
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs
index b9d7731d652..b174d2ec9a8 100644
--- a/components/script/dom/htmlcanvaselement.rs
+++ b/components/script/dom/htmlcanvaselement.rs
@@ -13,7 +13,7 @@ use dom::bindings::codegen::UnionTypes::CanvasRenderingContext2DOrWebGLRendering
use dom::bindings::conversions::ConversionResult;
use dom::bindings::error::{Error, Fallible};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{HeapGCValue, JS, LayoutJS, Root};
+use dom::bindings::js::{JS, LayoutJS, Root};
use dom::bindings::num::Finite;
use dom::bindings::str::DOMString;
use dom::canvasrenderingcontext2d::{CanvasRenderingContext2D, LayoutCanvasRenderingContext2DHelpers};
@@ -47,8 +47,6 @@ pub enum CanvasContext {
WebGL(JS<WebGLRenderingContext>),
}
-impl HeapGCValue for CanvasContext {}
-
#[dom_struct]
pub struct HTMLCanvasElement {
htmlelement: HTMLElement,
diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs
index 959265e82e0..eacffd6cded 100644
--- a/components/script/dom/htmlcollection.rs
+++ b/components/script/dom/htmlcollection.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::Bindings::HTMLCollectionBinding;
use dom::bindings::codegen::Bindings::HTMLCollectionBinding::HTMLCollectionMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, Root, MutNullableHeap};
+use dom::bindings::js::{JS, Root, MutNullableJS};
use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::bindings::trace::JSTraceable;
@@ -59,7 +59,7 @@ pub struct HTMLCollection {
// the length of the collection, and a cursor into the collection.
// FIXME: make the cached cursor element a weak pointer
cached_version: Cell<u64>,
- cached_cursor_element: MutNullableHeap<JS<Element>>,
+ cached_cursor_element: MutNullableJS<Element>,
cached_cursor_index: Cell<OptionU32>,
cached_length: Cell<OptionU32>,
}
@@ -73,7 +73,7 @@ impl HTMLCollection {
filter: filter,
// Default values for the cache
cached_version: Cell::new(root.inclusive_descendants_version()),
- cached_cursor_element: MutNullableHeap::new(None),
+ cached_cursor_element: MutNullableJS::new(None),
cached_cursor_index: Cell::new(OptionU32::none()),
cached_length: Cell::new(OptionU32::none()),
}
diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs
index d4490357650..1d3c6c0346b 100644
--- a/components/script/dom/htmlelement.rs
+++ b/components/script/dom/htmlelement.rs
@@ -13,7 +13,7 @@ use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::error::{Error, ErrorResult};
use dom::bindings::inheritance::{ElementTypeId, HTMLElementTypeId, NodeTypeId};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{MutNullableJS, Root, RootedReference};
use dom::bindings::str::DOMString;
use dom::cssstyledeclaration::{CSSModificationAccess, CSSStyleDeclaration};
use dom::document::{Document, FocusType};
@@ -40,8 +40,8 @@ use style::element_state::*;
#[dom_struct]
pub struct HTMLElement {
element: Element,
- style_decl: MutNullableHeap<JS<CSSStyleDeclaration>>,
- dataset: MutNullableHeap<JS<DOMStringMap>>,
+ style_decl: MutNullableJS<CSSStyleDeclaration>,
+ dataset: MutNullableJS<DOMStringMap>,
}
impl HTMLElement {
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs
index 90abdbafefd..eabcbc41e6e 100755
--- a/components/script/dom/htmlformelement.rs
+++ b/components/script/dom/htmlformelement.rs
@@ -13,7 +13,7 @@ use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementM
use dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding::HTMLTextAreaElementMethods;
use dom::bindings::conversions::DerivedFrom;
use dom::bindings::inheritance::{Castable, ElementTypeId, HTMLElementTypeId, NodeTypeId};
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::DomObject;
use dom::bindings::str::DOMString;
@@ -61,7 +61,7 @@ pub struct GenerationId(u32);
pub struct HTMLFormElement {
htmlelement: HTMLElement,
marked_for_reset: Cell<bool>,
- elements: MutNullableHeap<JS<HTMLFormControlsCollection>>,
+ elements: MutNullableJS<HTMLFormControlsCollection>,
generation_id: Cell<GenerationId>
}
diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs
index 44323e1c1ef..3f3ea8aa52a 100644
--- a/components/script/dom/htmliframeelement.rs
+++ b/components/script/dom/htmliframeelement.rs
@@ -19,7 +19,7 @@ use dom::bindings::codegen::Bindings::WindowBinding::WindowBinding::WindowMethod
use dom::bindings::conversions::ToJSValConvertible;
use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, LayoutJS, MutNullableHeap, Root};
+use dom::bindings::js::{LayoutJS, MutNullableJS, Root};
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::DomObject;
use dom::bindings::str::DOMString;
@@ -80,7 +80,7 @@ pub struct HTMLIFrameElement {
htmlelement: HTMLElement,
frame_id: FrameId,
pipeline_id: Cell<Option<PipelineId>>,
- sandbox: MutNullableHeap<JS<DOMTokenList>>,
+ sandbox: MutNullableJS<DOMTokenList>,
sandbox_allowance: Cell<Option<SandboxAllowance>>,
load_blocker: DOMRefCell<Option<LoadBlocker>>,
visibility: Cell<bool>,
diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs
index 90cf630e9fe..eb344ef0a79 100755
--- a/components/script/dom/htmlinputelement.rs
+++ b/components/script/dom/htmlinputelement.rs
@@ -13,7 +13,7 @@ use dom::bindings::codegen::Bindings::HTMLInputElementBinding::HTMLInputElementM
use dom::bindings::codegen::Bindings::KeyboardEventBinding::KeyboardEventMethods;
use dom::bindings::error::{Error, ErrorResult};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, LayoutJS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{JS, LayoutJS, MutNullableJS, Root, RootedReference};
use dom::bindings::str::DOMString;
use dom::document::Document;
use dom::element::{AttributeMutation, Element, LayoutElementHelpers, RawLayoutElementHelpers};
@@ -94,7 +94,7 @@ pub struct HTMLInputElement {
// https://html.spec.whatwg.org/multipage/#concept-input-value-dirty-flag
value_dirty: Cell<bool>,
- filelist: MutNullableHeap<JS<FileList>>,
+ filelist: MutNullableJS<FileList>,
}
#[derive(JSTraceable)]
@@ -150,7 +150,7 @@ impl HTMLInputElement {
SelectionDirection::None)),
activation_state: DOMRefCell::new(InputActivationState::new()),
value_dirty: Cell::new(false),
- filelist: MutNullableHeap::new(None),
+ filelist: MutNullableJS::new(None),
}
}
diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs
index 1985e511c4d..145b53b3ec7 100644
--- a/components/script/dom/htmllinkelement.rs
+++ b/components/script/dom/htmllinkelement.rs
@@ -10,7 +10,7 @@ use dom::bindings::codegen::Bindings::DOMTokenListBinding::DOMTokenListMethods;
use dom::bindings::codegen::Bindings::HTMLLinkElementBinding;
use dom::bindings::codegen::Bindings::HTMLLinkElementBinding::HTMLLinkElementMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{MutNullableJS, Root, RootedReference};
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::DomObject;
use dom::bindings::str::DOMString;
@@ -55,10 +55,10 @@ unsafe_no_jsmanaged_fields!(Stylesheet);
#[dom_struct]
pub struct HTMLLinkElement {
htmlelement: HTMLElement,
- rel_list: MutNullableHeap<JS<DOMTokenList>>,
+ rel_list: MutNullableJS<DOMTokenList>,
#[ignore_heap_size_of = "Arc"]
stylesheet: DOMRefCell<Option<Arc<Stylesheet>>>,
- cssom_stylesheet: MutNullableHeap<JS<CSSStyleSheet>>,
+ cssom_stylesheet: MutNullableJS<CSSStyleSheet>,
/// https://html.spec.whatwg.org/multipage/#a-style-sheet-that-is-blocking-scripts
parser_inserted: Cell<bool>,
@@ -72,7 +72,7 @@ impl HTMLLinkElement {
rel_list: Default::default(),
parser_inserted: Cell::new(creator == ElementCreator::ParserCreated),
stylesheet: DOMRefCell::new(None),
- cssom_stylesheet: MutNullableHeap::new(None),
+ cssom_stylesheet: MutNullableJS::new(None),
}
}
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs
index 778c0d6b560..8a3f35c23d4 100644
--- a/components/script/dom/htmlmediaelement.rs
+++ b/components/script/dom/htmlmediaelement.rs
@@ -13,7 +13,7 @@ use dom::bindings::codegen::Bindings::HTMLMediaElementBinding::HTMLMediaElementM
use dom::bindings::codegen::Bindings::MediaErrorBinding::MediaErrorConstants::*;
use dom::bindings::codegen::Bindings::MediaErrorBinding::MediaErrorMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{Root, MutNullableHeap, JS};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::DomObject;
use dom::bindings::str::DOMString;
@@ -218,7 +218,7 @@ pub struct HTMLMediaElement {
current_src: DOMRefCell<String>,
generation_id: Cell<u32>,
first_data_load: Cell<bool>,
- error: MutNullableHeap<JS<MediaError>>,
+ error: MutNullableJS<MediaError>,
paused: Cell<bool>,
autoplaying: Cell<bool>,
video: DOMRefCell<Option<VideoMedia>>,
diff --git a/components/script/dom/htmlmetaelement.rs b/components/script/dom/htmlmetaelement.rs
index bcf112cce94..e86f2c4a25a 100644
--- a/components/script/dom/htmlmetaelement.rs
+++ b/components/script/dom/htmlmetaelement.rs
@@ -8,7 +8,7 @@ use dom::bindings::codegen::Bindings::HTMLMetaElementBinding;
use dom::bindings::codegen::Bindings::HTMLMetaElementBinding::HTMLMetaElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{MutNullableJS, Root, RootedReference};
use dom::bindings::str::DOMString;
use dom::cssstylesheet::CSSStyleSheet;
use dom::document::Document;
@@ -32,7 +32,7 @@ pub struct HTMLMetaElement {
htmlelement: HTMLElement,
#[ignore_heap_size_of = "Arc"]
stylesheet: DOMRefCell<Option<Arc<Stylesheet>>>,
- cssom_stylesheet: MutNullableHeap<JS<CSSStyleSheet>>,
+ cssom_stylesheet: MutNullableJS<CSSStyleSheet>,
}
impl HTMLMetaElement {
@@ -42,7 +42,7 @@ impl HTMLMetaElement {
HTMLMetaElement {
htmlelement: HTMLElement::new_inherited(local_name, prefix, document),
stylesheet: DOMRefCell::new(None),
- cssom_stylesheet: MutNullableHeap::new(None),
+ cssom_stylesheet: MutNullableJS::new(None),
}
}
diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs
index ad66f2b05f3..7f27a311e3d 100755
--- a/components/script/dom/htmlselectelement.rs
+++ b/components/script/dom/htmlselectelement.rs
@@ -14,7 +14,7 @@ use dom::bindings::codegen::UnionTypes::HTMLElementOrLong;
use dom::bindings::codegen::UnionTypes::HTMLOptionElementOrHTMLOptGroupElement;
//use dom::bindings::error::ErrorResult;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::str::DOMString;
use dom::document::Document;
use dom::element::{AttributeMutation, Element};
@@ -58,7 +58,7 @@ impl CollectionFilter for OptionsFilter {
#[dom_struct]
pub struct HTMLSelectElement {
htmlelement: HTMLElement,
- options: MutNullableHeap<JS<HTMLOptionsCollection>>,
+ options: MutNullableJS<HTMLOptionsCollection>,
}
static DEFAULT_SELECT_SIZE: u32 = 0;
diff --git a/components/script/dom/htmlstyleelement.rs b/components/script/dom/htmlstyleelement.rs
index 5a61d6f5b3a..8576a282052 100644
--- a/components/script/dom/htmlstyleelement.rs
+++ b/components/script/dom/htmlstyleelement.rs
@@ -8,7 +8,7 @@ use dom::bindings::codegen::Bindings::HTMLStyleElementBinding;
use dom::bindings::codegen::Bindings::HTMLStyleElementBinding::HTMLStyleElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::str::DOMString;
use dom::cssstylesheet::CSSStyleSheet;
use dom::document::Document;
@@ -29,7 +29,7 @@ pub struct HTMLStyleElement {
htmlelement: HTMLElement,
#[ignore_heap_size_of = "Arc"]
stylesheet: DOMRefCell<Option<Arc<Stylesheet>>>,
- cssom_stylesheet: MutNullableHeap<JS<CSSStyleSheet>>,
+ cssom_stylesheet: MutNullableJS<CSSStyleSheet>,
}
impl HTMLStyleElement {
@@ -39,7 +39,7 @@ impl HTMLStyleElement {
HTMLStyleElement {
htmlelement: HTMLElement::new_inherited(local_name, prefix, document),
stylesheet: DOMRefCell::new(None),
- cssom_stylesheet: MutNullableHeap::new(None),
+ cssom_stylesheet: MutNullableJS::new(None),
}
}
diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs
index e533c9acdcd..741b53c38ac 100644
--- a/components/script/dom/htmltableelement.rs
+++ b/components/script/dom/htmltableelement.rs
@@ -10,7 +10,7 @@ use dom::bindings::codegen::Bindings::HTMLTableElementBinding::HTMLTableElementM
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, LayoutJS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{JS, LayoutJS, MutNullableJS, Root, RootedReference};
use dom::bindings::str::DOMString;
use dom::document::Document;
use dom::element::{AttributeMutation, Element, RawLayoutElementHelpers};
@@ -31,7 +31,7 @@ pub struct HTMLTableElement {
htmlelement: HTMLElement,
border: Cell<Option<u32>>,
cellspacing: Cell<Option<u32>>,
- tbodies: MutNullableHeap<JS<HTMLCollection>>,
+ tbodies: MutNullableJS<HTMLCollection>,
}
#[allow(unrooted_must_root)]
diff --git a/components/script/dom/htmltablerowelement.rs b/components/script/dom/htmltablerowelement.rs
index b95aba1c3e0..c6b04648dc2 100644
--- a/components/script/dom/htmltablerowelement.rs
+++ b/components/script/dom/htmltablerowelement.rs
@@ -9,7 +9,7 @@ use dom::bindings::codegen::Bindings::HTMLTableSectionElementBinding::HTMLTableS
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::error::{ErrorResult, Fallible};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, LayoutJS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{LayoutJS, MutNullableJS, Root, RootedReference};
use dom::bindings::str::DOMString;
use dom::document::Document;
use dom::element::{Element, RawLayoutElementHelpers};
@@ -36,7 +36,7 @@ impl CollectionFilter for CellsFilter {
#[dom_struct]
pub struct HTMLTableRowElement {
htmlelement: HTMLElement,
- cells: MutNullableHeap<JS<HTMLCollection>>,
+ cells: MutNullableJS<HTMLCollection>,
}
impl HTMLTableRowElement {
diff --git a/components/script/dom/htmltemplateelement.rs b/components/script/dom/htmltemplateelement.rs
index 7ee8d03b163..1c9b2c0aacd 100644
--- a/components/script/dom/htmltemplateelement.rs
+++ b/components/script/dom/htmltemplateelement.rs
@@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding;
use dom::bindings::codegen::Bindings::HTMLTemplateElementBinding::HTMLTemplateElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::str::DOMString;
use dom::document::Document;
use dom::documentfragment::DocumentFragment;
@@ -21,7 +21,7 @@ pub struct HTMLTemplateElement {
htmlelement: HTMLElement,
/// https://html.spec.whatwg.org/multipage/#template-contents
- contents: MutNullableHeap<JS<DocumentFragment>>,
+ contents: MutNullableJS<DocumentFragment>,
}
impl HTMLTemplateElement {
@@ -31,7 +31,7 @@ impl HTMLTemplateElement {
HTMLTemplateElement {
htmlelement:
HTMLElement::new_inherited(local_name, prefix, document),
- contents: MutNullableHeap::new(None),
+ contents: MutNullableJS::new(None),
}
}
diff --git a/components/script/dom/mod.rs b/components/script/dom/mod.rs
index 5bc19eab627..6133b4a78a6 100644
--- a/components/script/dom/mod.rs
+++ b/components/script/dom/mod.rs
@@ -32,8 +32,8 @@
//! * rooting pointers on the stack:
//! the [`Root`](bindings/js/struct.Root.html) smart pointer;
//! * tracing pointers in member fields: the [`JS`](bindings/js/struct.JS.html),
-//! [`MutNullableHeap`](bindings/js/struct.MutNullableHeap.html) and
-//! [`MutHeap`](bindings/js/struct.MutHeap.html) smart pointers and
+//! [`MutNullableJS`](bindings/js/struct.MutNullableJS.html) and
+//! [`MutJS`](bindings/js/struct.MutJS.html) smart pointers and
//! [the tracing implementation](bindings/trace/index.html);
//! * rooting pointers from across thread boundaries or in channels: the
//! [`Trusted`](bindings/refcounted/struct.Trusted.html) smart pointer;
diff --git a/components/script/dom/mouseevent.rs b/components/script/dom/mouseevent.rs
index 2b39d555204..9a01fcf1fde 100644
--- a/components/script/dom/mouseevent.rs
+++ b/components/script/dom/mouseevent.rs
@@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::MouseEventBinding::MouseEventMethods;
use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods;
use dom::bindings::error::Fallible;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{MutNullableJS, Root, RootedReference};
use dom::bindings::reflector::reflect_dom_object;
use dom::bindings::str::DOMString;
use dom::event::{Event, EventBubbles, EventCancelable};
@@ -30,7 +30,7 @@ pub struct MouseEvent {
alt_key: Cell<bool>,
meta_key: Cell<bool>,
button: Cell<i16>,
- related_target: MutNullableHeap<JS<EventTarget>>,
+ related_target: MutNullableJS<EventTarget>,
}
impl MouseEvent {
diff --git a/components/script/dom/navigator.rs b/components/script/dom/navigator.rs
index 9318e437ad5..b7d781f5eb0 100644
--- a/components/script/dom/navigator.rs
+++ b/components/script/dom/navigator.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::Bindings::NavigatorBinding;
use dom::bindings::codegen::Bindings::NavigatorBinding::NavigatorMethods;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::reflector::{Reflector, DomObject, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::bluetooth::Bluetooth;
@@ -17,10 +17,10 @@ use dom::window::Window;
#[dom_struct]
pub struct Navigator {
reflector_: Reflector,
- bluetooth: MutNullableHeap<JS<Bluetooth>>,
- plugins: MutNullableHeap<JS<PluginArray>>,
- mime_types: MutNullableHeap<JS<MimeTypeArray>>,
- service_worker: MutNullableHeap<JS<ServiceWorkerContainer>>,
+ bluetooth: MutNullableJS<Bluetooth>,
+ plugins: MutNullableJS<PluginArray>,
+ mime_types: MutNullableJS<MimeTypeArray>,
+ service_worker: MutNullableJS<ServiceWorkerContainer>,
}
impl Navigator {
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index 983f11f478c..736020e360a 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -21,7 +21,7 @@ use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::inheritance::{Castable, CharacterDataTypeId, ElementTypeId};
use dom::bindings::inheritance::{EventTargetTypeId, HTMLElementTypeId, NodeTypeId};
use dom::bindings::inheritance::{SVGElementTypeId, SVGGraphicsElementTypeId};
-use dom::bindings::js::{JS, LayoutJS, MutNullableHeap};
+use dom::bindings::js::{JS, LayoutJS, MutNullableJS};
use dom::bindings::js::Root;
use dom::bindings::js::RootedReference;
use dom::bindings::reflector::{DomObject, reflect_dom_object};
@@ -95,25 +95,25 @@ pub struct Node {
eventtarget: EventTarget,
/// The parent of this node.
- parent_node: MutNullableHeap<JS<Node>>,
+ parent_node: MutNullableJS<Node>,
/// The first child of this node.
- first_child: MutNullableHeap<JS<Node>>,
+ first_child: MutNullableJS<Node>,
/// The last child of this node.
- last_child: MutNullableHeap<JS<Node>>,
+ last_child: MutNullableJS<Node>,
/// The next sibling of this node.
- next_sibling: MutNullableHeap<JS<Node>>,
+ next_sibling: MutNullableJS<Node>,
/// The previous sibling of this node.
- prev_sibling: MutNullableHeap<JS<Node>>,
+ prev_sibling: MutNullableJS<Node>,
/// The document that this node belongs to.
- owner_doc: MutNullableHeap<JS<Document>>,
+ owner_doc: MutNullableJS<Document>,
/// The live list of children return by .childNodes.
- child_list: MutNullableHeap<JS<NodeList>>,
+ child_list: MutNullableJS<NodeList>,
/// The live count of children of this node.
children_count: Cell<u32>,
@@ -1370,7 +1370,7 @@ impl Node {
last_child: Default::default(),
next_sibling: Default::default(),
prev_sibling: Default::default(),
- owner_doc: MutNullableHeap::new(doc),
+ owner_doc: MutNullableJS::new(doc),
child_list: Default::default(),
children_count: Cell::new(0u32),
flags: Cell::new(flags),
diff --git a/components/script/dom/nodeiterator.rs b/components/script/dom/nodeiterator.rs
index d9e46a5ea44..5a87a9b4c41 100644
--- a/components/script/dom/nodeiterator.rs
+++ b/components/script/dom/nodeiterator.rs
@@ -9,7 +9,7 @@ use dom::bindings::codegen::Bindings::NodeFilterBinding::NodeFilterConstants;
use dom::bindings::codegen::Bindings::NodeIteratorBinding;
use dom::bindings::codegen::Bindings::NodeIteratorBinding::NodeIteratorMethods;
use dom::bindings::error::Fallible;
-use dom::bindings::js::{JS, MutHeap, Root};
+use dom::bindings::js::{JS, MutJS, Root};
use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::document::Document;
use dom::node::Node;
@@ -21,7 +21,7 @@ pub struct NodeIterator {
reflector_: Reflector,
root_node: JS<Node>,
#[ignore_heap_size_of = "Defined in rust-mozjs"]
- reference_node: MutHeap<JS<Node>>,
+ reference_node: MutJS<Node>,
pointer_before_reference_node: Cell<bool>,
what_to_show: u32,
#[ignore_heap_size_of = "Can't measure due to #6870"]
@@ -35,7 +35,7 @@ impl NodeIterator {
NodeIterator {
reflector_: Reflector::new(),
root_node: JS::from_ref(root_node),
- reference_node: MutHeap::new(root_node),
+ reference_node: MutJS::new(root_node),
pointer_before_reference_node: Cell::new(true),
what_to_show: what_to_show,
filter: filter
diff --git a/components/script/dom/nodelist.rs b/components/script/dom/nodelist.rs
index 391d21d5865..21e05fc7dcc 100644
--- a/components/script/dom/nodelist.rs
+++ b/components/script/dom/nodelist.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::codegen::Bindings::NodeListBinding;
use dom::bindings::codegen::Bindings::NodeListBinding::NodeListMethods;
-use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{JS, MutNullableJS, Root, RootedReference};
use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::node::{ChildrenMutation, Node};
use dom::window::Window;
@@ -111,7 +111,7 @@ impl NodeList {
pub struct ChildrenList {
node: JS<Node>,
#[ignore_heap_size_of = "Defined in rust-mozjs"]
- last_visited: MutNullableHeap<JS<Node>>,
+ last_visited: MutNullableJS<Node>,
last_index: Cell<u32>,
}
@@ -120,7 +120,7 @@ impl ChildrenList {
let last_visited = node.GetFirstChild();
ChildrenList {
node: JS::from_ref(node),
- last_visited: MutNullableHeap::new(last_visited.r()),
+ last_visited: MutNullableJS::new(last_visited.r()),
last_index: Cell::new(0u32),
}
}
diff --git a/components/script/dom/range.rs b/components/script/dom/range.rs
index 723239ea3d3..e9e3a484d41 100644
--- a/components/script/dom/range.rs
+++ b/components/script/dom/range.rs
@@ -13,7 +13,7 @@ use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::inheritance::{CharacterDataTypeId, NodeTypeId};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutHeap, Root, RootedReference};
+use dom::bindings::js::{JS, MutJS, Root, RootedReference};
use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::bindings::trace::JSTraceable;
@@ -934,7 +934,7 @@ impl RangeMethods for Range {
#[privatize]
#[derive(HeapSizeOf)]
pub struct BoundaryPoint {
- node: MutHeap<JS<Node>>,
+ node: MutJS<Node>,
offset: Cell<u32>,
}
@@ -943,7 +943,7 @@ impl BoundaryPoint {
debug_assert!(!node.is_doctype());
debug_assert!(offset <= node.len());
BoundaryPoint {
- node: MutHeap::new(node),
+ node: MutJS::new(node),
offset: Cell::new(offset),
}
}
diff --git a/components/script/dom/request.rs b/components/script/dom/request.rs
index cb338d65b29..74b61768a5e 100644
--- a/components/script/dom/request.rs
+++ b/components/script/dom/request.rs
@@ -17,7 +17,7 @@ use dom::bindings::codegen::Bindings::RequestBinding::RequestMode;
use dom::bindings::codegen::Bindings::RequestBinding::RequestRedirect;
use dom::bindings::codegen::Bindings::RequestBinding::RequestType;
use dom::bindings::error::{Error, Fallible};
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
use dom::bindings::str::{ByteString, DOMString, USVString};
use dom::globalscope::GlobalScope;
@@ -45,7 +45,7 @@ pub struct Request {
reflector_: Reflector,
request: DOMRefCell<NetTraitsRequest>,
body_used: Cell<bool>,
- headers: MutNullableHeap<JS<Headers>>,
+ headers: MutNullableJS<Headers>,
mime_type: DOMRefCell<Vec<u8>>,
#[ignore_heap_size_of = "Rc"]
body_promise: DOMRefCell<Option<(Rc<Promise>, BodyType)>>,
diff --git a/components/script/dom/response.rs b/components/script/dom/response.rs
index 278ead3c36d..06a066d410c 100644
--- a/components/script/dom/response.rs
+++ b/components/script/dom/response.rs
@@ -10,7 +10,7 @@ use dom::bindings::codegen::Bindings::ResponseBinding;
use dom::bindings::codegen::Bindings::ResponseBinding::{ResponseMethods, ResponseType as DOMResponseType};
use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::BodyInit;
use dom::bindings::error::{Error, Fallible};
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
use dom::bindings::str::{ByteString, USVString};
use dom::globalscope::GlobalScope;
@@ -32,7 +32,7 @@ use url::Position;
#[dom_struct]
pub struct Response {
reflector_: Reflector,
- headers_reflector: MutNullableHeap<JS<Headers>>,
+ headers_reflector: MutNullableJS<Headers>,
mime_type: DOMRefCell<Vec<u8>>,
body_used: Cell<bool>,
/// `None` can be considered a StatusCode of `0`.
diff --git a/components/script/dom/serviceworkercontainer.rs b/components/script/dom/serviceworkercontainer.rs
index e5662f56dee..6757fc0179d 100644
--- a/components/script/dom/serviceworkercontainer.rs
+++ b/components/script/dom/serviceworkercontainer.rs
@@ -5,7 +5,7 @@
use dom::bindings::codegen::Bindings::ServiceWorkerContainerBinding::{ServiceWorkerContainerMethods, Wrap};
use dom::bindings::codegen::Bindings::ServiceWorkerContainerBinding::RegistrationOptions;
use dom::bindings::error::Error;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{JS, MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::USVString;
use dom::client::Client;
@@ -22,7 +22,7 @@ use std::rc::Rc;
#[dom_struct]
pub struct ServiceWorkerContainer {
eventtarget: EventTarget,
- controller: MutNullableHeap<JS<ServiceWorker>>,
+ controller: MutNullableJS<ServiceWorker>,
client: JS<Client>
}
diff --git a/components/script/dom/servoparser/xml.rs b/components/script/dom/servoparser/xml.rs
index bcbfa6c4169..616263651c3 100644
--- a/components/script/dom/servoparser/xml.rs
+++ b/components/script/dom/servoparser/xml.rs
@@ -6,7 +6,7 @@
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{JS, MutNullableJS, Root};
use dom::bindings::str::DOMString;
use dom::bindings::trace::JSTraceable;
use dom::comment::Comment;
@@ -97,7 +97,7 @@ unsafe impl JSTraceable for XmlTokenizer<XmlTreeBuilder<JS<Node>, Sink>> {
struct Sink {
base_url: ServoUrl,
document: JS<Document>,
- script: MutNullableHeap<JS<HTMLScriptElement>>,
+ script: MutNullableJS<HTMLScriptElement>,
}
impl<'a> TreeSink for Sink {
diff --git a/components/script/dom/storageevent.rs b/components/script/dom/storageevent.rs
index 172a7be9ed8..9778976dc0f 100644
--- a/components/script/dom/storageevent.rs
+++ b/components/script/dom/storageevent.rs
@@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::StorageEventBinding;
use dom::bindings::codegen::Bindings::StorageEventBinding::StorageEventMethods;
use dom::bindings::error::Fallible;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root, RootedReference};
+use dom::bindings::js::{MutNullableJS, Root, RootedReference};
use dom::bindings::reflector::reflect_dom_object;
use dom::bindings::str::DOMString;
use dom::event::{Event, EventBubbles, EventCancelable};
@@ -23,7 +23,7 @@ pub struct StorageEvent {
old_value: Option<DOMString>,
new_value: Option<DOMString>,
url: DOMString,
- storage_area: MutNullableHeap<JS<Storage>>
+ storage_area: MutNullableJS<Storage>
}
@@ -39,7 +39,7 @@ impl StorageEvent {
old_value: old_value,
new_value: new_value,
url: url,
- storage_area: MutNullableHeap::new(storage_area)
+ storage_area: MutNullableJS::new(storage_area)
}
}
diff --git a/components/script/dom/touch.rs b/components/script/dom/touch.rs
index 32eeb24b6e1..9b4e61788d3 100644
--- a/components/script/dom/touch.rs
+++ b/components/script/dom/touch.rs
@@ -4,7 +4,7 @@
use dom::bindings::codegen::Bindings::TouchBinding;
use dom::bindings::codegen::Bindings::TouchBinding::TouchMethods;
-use dom::bindings::js::{JS, MutHeap, Root};
+use dom::bindings::js::{MutJS, Root};
use dom::bindings::num::Finite;
use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::eventtarget::EventTarget;
@@ -14,7 +14,7 @@ use dom::window::Window;
pub struct Touch {
reflector_: Reflector,
identifier: i32,
- target: MutHeap<JS<EventTarget>>,
+ target: MutJS<EventTarget>,
screen_x: f64,
screen_y: f64,
client_x: f64,
@@ -31,7 +31,7 @@ impl Touch {
Touch {
reflector_: Reflector::new(),
identifier: identifier,
- target: MutHeap::new(target),
+ target: MutJS::new(target),
screen_x: *screen_x,
screen_y: *screen_y,
client_x: *client_x,
diff --git a/components/script/dom/touchevent.rs b/components/script/dom/touchevent.rs
index 9b4b3a250d5..f20dc4dc012 100644
--- a/components/script/dom/touchevent.rs
+++ b/components/script/dom/touchevent.rs
@@ -6,7 +6,7 @@ use dom::bindings::codegen::Bindings::TouchEventBinding;
use dom::bindings::codegen::Bindings::TouchEventBinding::TouchEventMethods;
use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutHeap, Root};
+use dom::bindings::js::{MutJS, Root};
use dom::bindings::reflector::reflect_dom_object;
use dom::bindings::str::DOMString;
use dom::event::{EventBubbles, EventCancelable};
@@ -18,9 +18,9 @@ use std::cell::Cell;
#[dom_struct]
pub struct TouchEvent {
uievent: UIEvent,
- touches: MutHeap<JS<TouchList>>,
- target_touches: MutHeap<JS<TouchList>>,
- changed_touches: MutHeap<JS<TouchList>>,
+ touches: MutJS<TouchList>,
+ target_touches: MutJS<TouchList>,
+ changed_touches: MutJS<TouchList>,
alt_key: Cell<bool>,
meta_key: Cell<bool>,
ctrl_key: Cell<bool>,
@@ -33,9 +33,9 @@ impl TouchEvent {
target_touches: &TouchList) -> TouchEvent {
TouchEvent {
uievent: UIEvent::new_inherited(),
- touches: MutHeap::new(touches),
- target_touches: MutHeap::new(target_touches),
- changed_touches: MutHeap::new(changed_touches),
+ touches: MutJS::new(touches),
+ target_touches: MutJS::new(target_touches),
+ changed_touches: MutJS::new(changed_touches),
ctrl_key: Cell::new(false),
shift_key: Cell::new(false),
alt_key: Cell::new(false),
diff --git a/components/script/dom/treewalker.rs b/components/script/dom/treewalker.rs
index 1dc3d22f1cf..194cebf98cd 100644
--- a/components/script/dom/treewalker.rs
+++ b/components/script/dom/treewalker.rs
@@ -9,7 +9,7 @@ use dom::bindings::codegen::Bindings::NodeFilterBinding::NodeFilterConstants;
use dom::bindings::codegen::Bindings::TreeWalkerBinding;
use dom::bindings::codegen::Bindings::TreeWalkerBinding::TreeWalkerMethods;
use dom::bindings::error::Fallible;
-use dom::bindings::js::{JS, MutHeap};
+use dom::bindings::js::{JS, MutJS};
use dom::bindings::js::Root;
use dom::bindings::reflector::{Reflector, reflect_dom_object};
use dom::document::Document;
@@ -21,7 +21,7 @@ use std::rc::Rc;
pub struct TreeWalker {
reflector_: Reflector,
root_node: JS<Node>,
- current_node: MutHeap<JS<Node>>,
+ current_node: MutJS<Node>,
what_to_show: u32,
#[ignore_heap_size_of = "function pointers and Rc<T> are hard"]
filter: Filter
@@ -34,7 +34,7 @@ impl TreeWalker {
TreeWalker {
reflector_: Reflector::new(),
root_node: JS::from_ref(root_node),
- current_node: MutHeap::new(root_node),
+ current_node: MutJS::new(root_node),
what_to_show: what_to_show,
filter: filter
}
diff --git a/components/script/dom/uievent.rs b/components/script/dom/uievent.rs
index 289088b2977..b8c09a48994 100644
--- a/components/script/dom/uievent.rs
+++ b/components/script/dom/uievent.rs
@@ -7,8 +7,7 @@ use dom::bindings::codegen::Bindings::UIEventBinding;
use dom::bindings::codegen::Bindings::UIEventBinding::UIEventMethods;
use dom::bindings::error::Fallible;
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, RootedReference};
-use dom::bindings::js::Root;
+use dom::bindings::js::{MutNullableJS, Root, RootedReference};
use dom::bindings::reflector::reflect_dom_object;
use dom::bindings::str::DOMString;
use dom::event::{Event, EventBubbles, EventCancelable};
@@ -21,7 +20,7 @@ use std::default::Default;
#[dom_struct]
pub struct UIEvent {
event: Event,
- view: MutNullableHeap<JS<Window>>,
+ view: MutNullableJS<Window>,
detail: Cell<i32>
}
diff --git a/components/script/dom/url.rs b/components/script/dom/url.rs
index 2f3e3c3f923..cea4c898119 100644
--- a/components/script/dom/url.rs
+++ b/components/script/dom/url.rs
@@ -6,7 +6,7 @@ use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::BlobBinding::BlobMethods;
use dom::bindings::codegen::Bindings::URLBinding::{self, URLMethods};
use dom::bindings::error::{Error, ErrorResult, Fallible};
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
use dom::bindings::str::{DOMString, USVString};
use dom::blob::Blob;
@@ -30,7 +30,7 @@ pub struct URL {
url: DOMRefCell<ServoUrl>,
// https://url.spec.whatwg.org/#dom-url-searchparams
- search_params: MutNullableHeap<JS<URLSearchParams>>,
+ search_params: MutNullableJS<URLSearchParams>,
}
impl URL {
diff --git a/components/script/dom/webglframebuffer.rs b/components/script/dom/webglframebuffer.rs
index 02a767958e2..2f18362122d 100644
--- a/components/script/dom/webglframebuffer.rs
+++ b/components/script/dom/webglframebuffer.rs
@@ -7,7 +7,7 @@ use canvas_traits::CanvasMsg;
use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::WebGLFramebufferBinding;
use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants;
-use dom::bindings::js::{HeapGCValue, JS, Root};
+use dom::bindings::js::{JS, Root};
use dom::bindings::reflector::reflect_dom_object;
use dom::webglobject::WebGLObject;
use dom::webglrenderbuffer::WebGLRenderbuffer;
@@ -25,8 +25,6 @@ enum WebGLFramebufferAttachment {
Texture { texture: JS<WebGLTexture>, level: i32 },
}
-impl HeapGCValue for WebGLFramebufferAttachment {}
-
#[dom_struct]
pub struct WebGLFramebuffer {
webgl_object: WebGLObject,
diff --git a/components/script/dom/webglprogram.rs b/components/script/dom/webglprogram.rs
index 3f18c0e313b..ad33fc2f22f 100644
--- a/components/script/dom/webglprogram.rs
+++ b/components/script/dom/webglprogram.rs
@@ -6,7 +6,7 @@
use canvas_traits::CanvasMsg;
use dom::bindings::codegen::Bindings::WebGLProgramBinding;
use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::webglactiveinfo::WebGLActiveInfo;
@@ -27,8 +27,8 @@ pub struct WebGLProgram {
is_deleted: Cell<bool>,
link_called: Cell<bool>,
linked: Cell<bool>,
- fragment_shader: MutNullableHeap<JS<WebGLShader>>,
- vertex_shader: MutNullableHeap<JS<WebGLShader>>,
+ fragment_shader: MutNullableJS<WebGLShader>,
+ vertex_shader: MutNullableJS<WebGLShader>,
#[ignore_heap_size_of = "Defined in ipc-channel"]
renderer: IpcSender<CanvasMsg>,
}
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index 98b160095d5..828ebd256f8 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -13,7 +13,7 @@ use dom::bindings::conversions::{array_buffer_to_vec, array_buffer_view_data, ar
use dom::bindings::conversions::{array_buffer_view_to_vec, array_buffer_view_to_vec_checked};
use dom::bindings::error::{Error, Fallible};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, LayoutJS, MutNullableHeap, Root};
+use dom::bindings::js::{JS, LayoutJS, MutNullableJS, Root};
use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
use dom::bindings::str::DOMString;
use dom::event::{Event, EventBubbles, EventCancelable};
@@ -124,13 +124,13 @@ pub struct WebGLRenderingContext {
#[ignore_heap_size_of = "Defined in webrender_traits"]
last_error: Cell<Option<WebGLError>>,
texture_unpacking_settings: Cell<TextureUnpacking>,
- bound_framebuffer: MutNullableHeap<JS<WebGLFramebuffer>>,
- bound_renderbuffer: MutNullableHeap<JS<WebGLRenderbuffer>>,
- bound_texture_2d: MutNullableHeap<JS<WebGLTexture>>,
- bound_texture_cube_map: MutNullableHeap<JS<WebGLTexture>>,
- bound_buffer_array: MutNullableHeap<JS<WebGLBuffer>>,
- bound_buffer_element_array: MutNullableHeap<JS<WebGLBuffer>>,
- current_program: MutNullableHeap<JS<WebGLProgram>>,
+ bound_framebuffer: MutNullableJS<WebGLFramebuffer>,
+ bound_renderbuffer: MutNullableJS<WebGLRenderbuffer>,
+ bound_texture_2d: MutNullableJS<WebGLTexture>,
+ bound_texture_cube_map: MutNullableJS<WebGLTexture>,
+ bound_buffer_array: MutNullableJS<WebGLBuffer>,
+ bound_buffer_element_array: MutNullableJS<WebGLBuffer>,
+ current_program: MutNullableJS<WebGLProgram>,
#[ignore_heap_size_of = "Because it's small"]
current_vertex_attrib_0: Cell<(f32, f32, f32, f32)>,
#[ignore_heap_size_of = "Because it's small"]
@@ -159,13 +159,13 @@ impl WebGLRenderingContext {
canvas: JS::from_ref(canvas),
last_error: Cell::new(None),
texture_unpacking_settings: Cell::new(CONVERT_COLORSPACE),
- bound_framebuffer: MutNullableHeap::new(None),
- bound_texture_2d: MutNullableHeap::new(None),
- bound_texture_cube_map: MutNullableHeap::new(None),
- bound_buffer_array: MutNullableHeap::new(None),
- bound_buffer_element_array: MutNullableHeap::new(None),
- bound_renderbuffer: MutNullableHeap::new(None),
- current_program: MutNullableHeap::new(None),
+ bound_framebuffer: MutNullableJS::new(None),
+ bound_texture_2d: MutNullableJS::new(None),
+ bound_texture_cube_map: MutNullableJS::new(None),
+ bound_buffer_array: MutNullableJS::new(None),
+ bound_buffer_element_array: MutNullableJS::new(None),
+ bound_renderbuffer: MutNullableJS::new(None),
+ current_program: MutNullableJS::new(None),
current_vertex_attrib_0: Cell::new((0f32, 0f32, 0f32, 1f32)),
current_scissor: Cell::new((0, 0, size.width, size.height)),
current_clear_color: Cell::new((0.0, 0.0, 0.0, 0.0))
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index db6490b41fd..3cd48b46590 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -19,7 +19,7 @@ use dom::bindings::codegen::Bindings::WindowBinding::{ScrollBehavior, ScrollToOp
use dom::bindings::codegen::UnionTypes::RequestOrUSVString;
use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::num::Finite;
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::DomObject;
@@ -159,19 +159,19 @@ pub struct Window {
history_traversal_task_source: HistoryTraversalTaskSource,
#[ignore_heap_size_of = "task sources are hard"]
file_reading_task_source: FileReadingTaskSource,
- navigator: MutNullableHeap<JS<Navigator>>,
+ navigator: MutNullableJS<Navigator>,
#[ignore_heap_size_of = "channels are hard"]
image_cache_thread: ImageCacheThread,
#[ignore_heap_size_of = "channels are hard"]
image_cache_chan: ImageCacheChan,
- browsing_context: MutNullableHeap<JS<BrowsingContext>>,
- history: MutNullableHeap<JS<History>>,
- performance: MutNullableHeap<JS<Performance>>,
+ browsing_context: MutNullableJS<BrowsingContext>,
+ history: MutNullableJS<History>,
+ performance: MutNullableJS<Performance>,
navigation_start: u64,
navigation_start_precise: f64,
- screen: MutNullableHeap<JS<Screen>>,
- session_storage: MutNullableHeap<JS<Storage>>,
- local_storage: MutNullableHeap<JS<Storage>>,
+ screen: MutNullableJS<Screen>,
+ session_storage: MutNullableJS<Storage>,
+ local_storage: MutNullableJS<Storage>,
status: DOMRefCell<DOMString>,
/// For sending timeline markers. Will be ignored if
@@ -241,7 +241,7 @@ pub struct Window {
/// All the MediaQueryLists we need to update
media_query_lists: WeakMediaQueryListVec,
- test_runner: MutNullableHeap<JS<TestRunner>>,
+ test_runner: MutNullableJS<TestRunner>,
}
impl Window {
diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs
index 430757bce53..221d60c1570 100644
--- a/components/script/dom/workerglobalscope.rs
+++ b/components/script/dom/workerglobalscope.rs
@@ -10,7 +10,7 @@ use dom::bindings::codegen::Bindings::WorkerGlobalScopeBinding::WorkerGlobalScop
use dom::bindings::codegen::UnionTypes::RequestOrUSVString;
use dom::bindings::error::{Error, ErrorResult, Fallible, report_pending_exception};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutNullableHeap, Root};
+use dom::bindings::js::{MutNullableJS, Root};
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::DomObject;
use dom::bindings::str::DOMString;
@@ -73,8 +73,8 @@ pub struct WorkerGlobalScope {
closing: Option<Arc<AtomicBool>>,
#[ignore_heap_size_of = "Defined in js"]
runtime: Runtime,
- location: MutNullableHeap<JS<WorkerLocation>>,
- navigator: MutNullableHeap<JS<WorkerNavigator>>,
+ location: MutNullableJS<WorkerLocation>,
+ navigator: MutNullableJS<WorkerNavigator>,
#[ignore_heap_size_of = "Defined in ipc-channel"]
/// Optional `IpcSender` for sending the `DevtoolScriptControlMsg`
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index 2e1fcd465e8..578c8b7b822 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -14,7 +14,7 @@ use dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestRespo
use dom::bindings::conversions::ToJSValConvertible;
use dom::bindings::error::{Error, ErrorResult, Fallible};
use dom::bindings::inheritance::Castable;
-use dom::bindings::js::{JS, MutHeapJSVal, MutNullableHeap, Root};
+use dom::bindings::js::{JS, MutHeapJSVal, MutNullableJS, Root};
use dom::bindings::refcounted::Trusted;
use dom::bindings::reflector::{DomObject, reflect_dom_object};
use dom::bindings::str::{ByteString, DOMString, USVString, is_token};
@@ -122,8 +122,8 @@ pub struct XMLHttpRequest {
status_text: DOMRefCell<ByteString>,
response: DOMRefCell<ByteString>,
response_type: Cell<XMLHttpRequestResponseType>,
- response_xml: MutNullableHeap<JS<Document>>,
- response_blob: MutNullableHeap<JS<Blob>>,
+ response_xml: MutNullableJS<Document>,
+ response_blob: MutNullableJS<Blob>,
#[ignore_heap_size_of = "Defined in rust-mozjs"]
response_json: MutHeapJSVal,
#[ignore_heap_size_of = "Defined in hyper"]