diff options
author | Ms2ger <ms2ger@gmail.com> | 2014-12-24 16:55:38 +0100 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-12-24 17:17:40 +0100 |
commit | 919f2217f0b67290b8dafd7d9ce53547f61f3d08 (patch) | |
tree | 927712352a056b1780caf7c644b7bc9f642edee2 /components/script/dom | |
parent | 57c520d8cfc447489504c06a0509999364a15a70 (diff) | |
download | servo-919f2217f0b67290b8dafd7d9ce53547f61f3d08.tar.gz servo-919f2217f0b67290b8dafd7d9ce53547f61f3d08.zip |
Implement dummy getOwnPropertyNames and enumerate traps.
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 7 | ||||
-rw-r--r-- | components/script/dom/bindings/proxyhandler.rs | 12 | ||||
-rw-r--r-- | components/script/dom/browsercontext.rs | 6 |
3 files changed, 19 insertions, 6 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 03efd2b59f5..e3a455d63c8 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -2094,15 +2094,15 @@ let traps = ProxyTraps { getPropertyDescriptor: Some(getPropertyDescriptor), getOwnPropertyDescriptor: Some(getOwnPropertyDescriptor), defineProperty: Some(%s), - getOwnPropertyNames: ptr::null(), + getOwnPropertyNames: Some(getOwnPropertyNames_), delete_: Some(delete_), - enumerate: ptr::null(), + enumerate: Some(enumerate_), has: None, hasOwn: Some(hasOwn), get: Some(get), set: None, - keys: ptr::null(), + keys: None, iterate: None, call: None, @@ -4532,6 +4532,7 @@ class CGBindingRoot(CGThing): 'dom::bindings::proxyhandler::{_obj_toString, defineProperty_}', 'dom::bindings::proxyhandler::{FillPropertyDescriptor, GetExpandoObject}', 'dom::bindings::proxyhandler::{delete_, getPropertyDescriptor}', + 'dom::bindings::proxyhandler::{getOwnPropertyNames_, enumerate_}', 'dom::bindings::str::ByteString', 'page::JSPageInfo', 'libc', diff --git a/components/script/dom/bindings/proxyhandler.rs b/components/script/dom/bindings/proxyhandler.rs index bbfb7118b76..0d77ff63cdd 100644 --- a/components/script/dom/bindings/proxyhandler.rs +++ b/components/script/dom/bindings/proxyhandler.rs @@ -16,6 +16,7 @@ use js::glue::GetProxyExtra; use js::glue::{GetObjectProto, GetObjectParent, SetProxyExtra, GetProxyHandler}; use js::glue::InvokeGetOwnPropertyDescriptor; use js::glue::RUST_js_GetErrorMessage; +use js::glue::AutoIdVector; use js::{JSPROP_GETTER, JSPROP_ENUMERATE, JSPROP_READONLY, JSRESOLVE_QUALIFIED}; use libc; @@ -130,3 +131,14 @@ pub fn FillPropertyDescriptor(desc: &mut JSPropertyDescriptor, obj: *mut JSObjec desc.setter = None; desc.shortid = 0; } + +pub unsafe extern fn getOwnPropertyNames_(_cx: *mut JSContext, + _obj: *mut JSObject, + _v: *mut AutoIdVector) -> bool { + true +} + +pub unsafe extern fn enumerate_(_cx: *mut JSContext, _obj: *mut JSObject, + _v: *mut AutoIdVector) -> bool { + true +} diff --git a/components/script/dom/browsercontext.rs b/components/script/dom/browsercontext.rs index 3391da89fea..ed987f3a687 100644 --- a/components/script/dom/browsercontext.rs +++ b/components/script/dom/browsercontext.rs @@ -84,15 +84,15 @@ static PROXY_HANDLER: ProxyTraps = ProxyTraps { getPropertyDescriptor: None, getOwnPropertyDescriptor: None, defineProperty: None, - getOwnPropertyNames: 0 as *const u8, + getOwnPropertyNames: None, delete_: None, - enumerate: 0 as *const u8, + enumerate: None, has: None, hasOwn: None, get: None, set: None, - keys: 0 as *const u8, + keys: None, iterate: None, call: None, |