aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/macros.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/macros.rs')
-rw-r--r--components/script/dom/macros.rs10
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)
+ }
}
)
);