diff options
Diffstat (limited to 'src/components/script/dom/bindings/js.rs')
-rw-r--r-- | src/components/script/dom/bindings/js.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/components/script/dom/bindings/js.rs b/src/components/script/dom/bindings/js.rs index 8ed125f74ee..8c33333e3cf 100644 --- a/src/components/script/dom/bindings/js.rs +++ b/src/components/script/dom/bindings/js.rs @@ -41,6 +41,7 @@ use dom::bindings::utils::{Reflector, Reflectable, cx_for_dom_object}; use dom::node::Node; +use dom::xmlhttprequest::{XMLHttpRequest, TrustedXHRAddress}; use js::jsapi::{JSObject, JS_AddObjectRoot, JS_RemoveObjectRoot}; use layout_interface::TrustedNodeAddress; use script_task::StackRoots; @@ -141,6 +142,15 @@ impl JS<Node> { } } +impl JS<XMLHttpRequest> { + pub unsafe fn from_trusted_xhr_address(inner: TrustedXHRAddress) -> JS<XMLHttpRequest> { + let TrustedXHRAddress(addr) = inner; + JS { + ptr: RefCell::new(addr as *mut XMLHttpRequest) + } + } +} + impl<T: Reflectable> JS<T> { /// Create a new JS-owned value wrapped from a raw Rust pointer. pub unsafe fn from_raw(raw: *mut T) -> JS<T> { |