Auto merge of #9456 - g-k:global-resize-event, r=KiChjang

Add onresize handler to GlobalEventHandlers

Rebased: https://github.com/servo/servo/pull/8006

Fixes #7996

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9456)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-01-30 08:00:40 +05:30
commit ae67f94b80
7 changed files with 64 additions and 15 deletions

View file

@ -162,6 +162,24 @@ impl HTMLElementMethods for HTMLElement {
}
}
// https://html.spec.whatwg.org/multipage/#handler-onresize
fn GetOnresize(&self) -> Option<Rc<EventHandlerNonNull>> {
if self.is_body_or_frameset() {
window_from_node(self).GetOnload()
} else {
self.upcast::<EventTarget>().get_event_handler_common("resize")
}
}
// https://html.spec.whatwg.org/multipage/#handler-onresize
fn SetOnresize(&self, listener: Option<Rc<EventHandlerNonNull>>) {
if self.is_body_or_frameset() {
window_from_node(self).SetOnresize(listener);
} else {
self.upcast::<EventTarget>().set_event_handler_common("resize", listener)
}
}
// https://html.spec.whatwg.org/multipage/#dom-click
fn Click(&self) {
if let Some(i) = self.downcast::<HTMLInputElement>() {

View file

@ -333,6 +333,7 @@ macro_rules! error_event_handler(
macro_rules! global_event_handlers(
() => (
event_handler!(load, GetOnload, SetOnload);
event_handler!(resize, GetOnresize, SetOnresize);
global_event_handlers!(NoOnload);
);

View file

@ -34,6 +34,7 @@ interface GlobalEventHandlers {
attribute EventHandler onreset;
attribute EventHandler onsubmit;
attribute EventHandler ontoggle;
attribute EventHandler onresize;
};
[NoInterfaceObject]