diff options
Diffstat (limited to 'components/script/dom/bindings')
-rw-r--r-- | components/script/dom/bindings/codegen/Configuration.py | 3 | ||||
-rw-r--r-- | components/script/dom/bindings/js.rs | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py index 835bcbe4774..9a1120769c8 100644 --- a/components/script/dom/bindings/codegen/Configuration.py +++ b/components/script/dom/bindings/codegen/Configuration.py @@ -233,7 +233,8 @@ class Descriptor(DescriptorProvider): # them as having a concrete descendant. self.concrete = (not self.interface.isCallback() and not self.interface.isNamespace() and - not self.interface.getExtendedAttribute("Abstract")) + not self.interface.getExtendedAttribute("Abstract") and + not spiderMonkeyInterface) self.hasUnforgeableMembers = (self.concrete and any(MemberIsUnforgeable(m, self) for m in self.interface.members)) diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index 50cae7e1f04..1fd127b3b28 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -270,6 +270,12 @@ impl MutHeapJSVal { debug_assert!(thread_state::get().is_script()); unsafe { (*self.val.get()).get() } } + + /// Get the underlying unsafe pointer to the contained value. + pub unsafe fn get_unsafe(&self) -> *mut JSVal { + debug_assert!(thread_state::get().is_script()); + (*self.val.get()).get_unsafe() + } } |