fune/servo/components/script/dom/xmlhttprequesteventtarget.rs
Anthony Ramine 6953aa403a servo: Merge #7606 - Move the type_id fields to DOMClass (from nox:move-typeid); r=jdm
Cc @michaelwu.

Source-Repo: https://github.com/servo/servo
Source-Revision: d5ee58caf269779e86b2efc50ddf37d3e4eba9b9
2015-09-13 11:53:42 -06:00

61 lines
2.1 KiB
Rust

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
use dom::bindings::codegen::Bindings::XMLHttpRequestEventTargetBinding::XMLHttpRequestEventTargetMethods;
use dom::bindings::codegen::InheritTypes::EventTargetCast;
use dom::bindings::codegen::InheritTypes::XMLHttpRequestEventTargetDerived;
use dom::eventtarget::{EventTarget, EventTargetTypeId};
#[derive(Copy, Clone, PartialEq)]
pub enum XMLHttpRequestEventTargetTypeId {
XMLHttpRequest,
XMLHttpRequestUpload,
}
#[dom_struct]
pub struct XMLHttpRequestEventTarget {
eventtarget: EventTarget,
}
impl XMLHttpRequestEventTarget {
pub fn new_inherited() -> XMLHttpRequestEventTarget {
XMLHttpRequestEventTarget {
eventtarget: EventTarget::new_inherited()
}
}
}
impl XMLHttpRequestEventTargetDerived for EventTarget {
fn is_xmlhttprequesteventtarget(&self) -> bool {
match *self.type_id() {
EventTargetTypeId::XMLHttpRequestEventTarget(_) => true,
_ => false
}
}
}
impl XMLHttpRequestEventTargetMethods for XMLHttpRequestEventTarget {
// https://xhr.spec.whatwg.org/#handler-xhr-onloadstart
event_handler!(loadstart, GetOnloadstart, SetOnloadstart);
// https://xhr.spec.whatwg.org/#handler-xhr-onprogress
event_handler!(progress, GetOnprogress, SetOnprogress);
// https://xhr.spec.whatwg.org/#handler-xhr-onabort
event_handler!(abort, GetOnabort, SetOnabort);
// https://xhr.spec.whatwg.org/#handler-xhr-onerror
event_handler!(error, GetOnerror, SetOnerror);
// https://xhr.spec.whatwg.org/#handler-xhr-onload
event_handler!(load, GetOnload, SetOnload);
// https://xhr.spec.whatwg.org/#handler-xhr-ontimeout
event_handler!(timeout, GetOntimeout, SetOntimeout);
// https://xhr.spec.whatwg.org/#handler-xhr-onloadend
event_handler!(loadend, GetOnloadend, SetOnloadend);
}