diff options
Diffstat (limited to 'components/script/dom/macros.rs')
-rw-r--r-- | components/script/dom/macros.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/components/script/dom/macros.rs b/components/script/dom/macros.rs index f2174bdd552..04dd205ed91 100644 --- a/components/script/dom/macros.rs +++ b/components/script/dom/macros.rs @@ -354,11 +354,17 @@ macro_rules! define_event_handler( macro_rules! define_window_owned_event_handler( ($handler: ident, $event_type: ident, $getter: ident, $setter: ident) => ( fn $getter(&self) -> Option<::std::rc::Rc<$handler>> { - window_from_node(self).$getter() + if document_from_node(self).has_browsing_context() { + window_from_node(self).$getter() + } else { + None + } } fn $setter(&self, listener: Option<::std::rc::Rc<$handler>>) { - window_from_node(self).$setter(listener) + if document_from_node(self).has_browsing_context() { + window_from_node(self).$setter(listener) + } } ) ); |