diff options
author | bors-servo <release+servo@mozilla.com> | 2014-05-03 05:37:15 -0400 |
---|---|---|
committer | bors-servo <release+servo@mozilla.com> | 2014-05-03 05:37:15 -0400 |
commit | 812d70942f74c793afabb8ff4fc120e92d586aaf (patch) | |
tree | 1f792563f5335843a20434c4d5268c46ad9501fd /src | |
parent | 53777807f96e64c64f1ef995f54e630122856366 (diff) | |
parent | 599d76fa6ef6135c17cf9579bbb05e153b1b7ec9 (diff) | |
download | servo-812d70942f74c793afabb8ff4fc120e92d586aaf.tar.gz servo-812d70942f74c793afabb8ff4fc120e92d586aaf.zip |
auto merge of #2295 : Ms2ger/servo/JSCLASS_DOM_GLOBAL, r=jdm
It seems unlikely that this will ever be hit, but potentially hard to
figure out if it ever is hit.
Diffstat (limited to 'src')
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 10 | ||||
-rw-r--r-- | src/components/script/dom/bindings/utils.rs | 2 |
2 files changed, 5 insertions, 7 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 4833b1ab632..cb3fc862c64 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -1444,7 +1444,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" @@ -2024,10 +2024,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); @@ -4272,7 +4270,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}', diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs index 61e1e0213d9..417d4c434c2 100644 --- a/src/components/script/dom/bindings/utils.rs +++ b/src/components/script/dom/bindings/utils.rs @@ -207,7 +207,7 @@ pub struct DOMJSClass { pub fn GetProtoOrIfaceArray(global: *JSObject) -> **JSObject { unsafe { - /*assert ((*JS_GetClass(global)).flags & JSCLASS_DOM_GLOBAL) != 0;*/ + assert!(((*JS_GetClass(global)).flags & JSCLASS_DOM_GLOBAL) != 0); JS_GetReservedSlot(global, DOM_PROTOTYPE_SLOT).to_private() as **JSObject } } |