diff options
Diffstat (limited to 'src/components/script/dom/bindings/codegen/CodegenRust.py')
-rw-r--r-- | src/components/script/dom/bindings/codegen/CodegenRust.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/components/script/dom/bindings/codegen/CodegenRust.py b/src/components/script/dom/bindings/codegen/CodegenRust.py index 58e805a0c19..17001fd734a 100644 --- a/src/components/script/dom/bindings/codegen/CodegenRust.py +++ b/src/components/script/dom/bindings/codegen/CodegenRust.py @@ -1757,7 +1757,8 @@ def CreateBindingJSObject(descriptor, parent=None): assert not descriptor.createGlobal create += """ let js_info = aScope.deref().page().js_info(); -let handler = js_info.get_ref().dom_static.proxy_handlers.deref().get(&(PrototypeList::id::%s as uint)); +let mut handlers = js_info.get_ref().dom_static.proxy_handlers.deref().borrow_mut(); +let handler = handlers.get(&(PrototypeList::id::%s as uint)); let mut private = PrivateValue(squirrel_away_unique(aObject) as *libc::c_void); let obj = with_compartment(aCx, proto, || { NewProxyObject(aCx, *handler, @@ -2080,7 +2081,8 @@ class CGDefineDOMInterfaceMethod(CGAbstractMethod): getPrototypeOf: None, trace: Some(%s) }; -js_info.dom_static.proxy_handlers.insert(PrototypeList::id::%s as uint, +let mut handlers = js_info.dom_static.proxy_handlers.deref().borrow_mut(); +handlers.insert(PrototypeList::id::%s as uint, CreateProxyHandler(&traps, &Class as *_ as *_)); """ % (FINALIZE_HOOK_NAME, |