aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/bindings/codegen/CodegenRust.py
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2014-05-03 10:37:46 +0200
committerMs2ger <ms2ger@gmail.com>2014-05-03 10:37:46 +0200
commit599d76fa6ef6135c17cf9579bbb05e153b1b7ec9 (patch)
tree729321d323ae18aeefb199e9d0fde913d7191b7b /src/components/script/dom/bindings/codegen/CodegenRust.py
parenta6f235e285034f8e1f9dd96f143a55056aef0029 (diff)
downloadservo-599d76fa6ef6135c17cf9579bbb05e153b1b7ec9.tar.gz
servo-599d76fa6ef6135c17cf9579bbb05e153b1b7ec9.zip
Add JSCLASS_DOM_GLOBAL to DOM global classes, and assert it is used.
It seems unlikely that this will ever be hit, but potentially hard to figure out if it ever is hit.
Diffstat (limited to 'src/components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r--src/components/script/dom/bindings/codegen/CodegenRust.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py
index ab1bd83ea5e..443967afeed 100644
--- a/src/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/src/components/script/dom/bindings/codegen/CodegenRust.py
@@ -1455,7 +1455,7 @@ class CGDOMJSClass(CGThing):
def define(self):
traceHook = "Some(%s)" % TRACE_HOOK_NAME
if self.descriptor.createGlobal:
- flags = "JSCLASS_IS_GLOBAL"
+ flags = "JSCLASS_IS_GLOBAL | JSCLASS_DOM_GLOBAL"
slots = "JSCLASS_GLOBAL_SLOT_COUNT + 1"
else:
flags = "0"
@@ -2035,10 +2035,8 @@ class CGGetPerInterfaceObject(CGAbstractMethod):
wrapper and aGlobal is the sandbox's global.
*/
- /* Make sure our global is sane. Hopefully we can remove this sometime */
- /*if ((*JS_GetClass(aGlobal)).flags & JSCLASS_DOM_GLOBAL) == 0 {
- return ptr::null();
- }*/
+ assert!(((*JS_GetClass(aGlobal)).flags & JSCLASS_DOM_GLOBAL) != 0);
+
/* Check to see whether the interface objects are already installed */
let protoOrIfaceArray: *mut *JSObject = GetProtoOrIfaceArray(aGlobal) as *mut *JSObject;
let cachedObject: *JSObject = *protoOrIfaceArray.offset(%s as int);
@@ -4282,7 +4280,7 @@ class CGBindingRoot(CGThing):
'dom::bindings::utils::{CreateDOMGlobal, CreateInterfaceObjects2}',
'dom::bindings::utils::{ConstantSpec, cx_for_dom_object, Default}',
'dom::bindings::utils::{dom_object_slot, DOM_OBJECT_SLOT, DOMClass}',
- 'dom::bindings::utils::{DOMJSClass}',
+ 'dom::bindings::utils::{DOMJSClass, JSCLASS_DOM_GLOBAL}',
'dom::bindings::utils::{FindEnumStringIndex, GetArrayIndexFromId}',
'dom::bindings::utils::{GetPropertyOnPrototype, GetProtoOrIfaceArray}',
'dom::bindings::utils::{HasPropertyOnPrototype, IntVal}',