aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/event.rs
diff options
context:
space:
mode:
authorGregory Terzian <gterzian@users.noreply.github.com>2018-03-18 13:20:24 +0800
committerGregory Terzian <gterzian@users.noreply.github.com>2018-05-05 19:14:36 +0800
commit427eaed535dfdeaf735a40e3cb82ad7077aa86c5 (patch)
treecc723041b13093541e8d5986b74bbd02e1c920a6 /components/script/dom/event.rs
parenta1d1b187102b340ba65955f2c4f1131c8276d050 (diff)
downloadservo-427eaed535dfdeaf735a40e3cb82ad7077aa86c5.tar.gz
servo-427eaed535dfdeaf735a40e3cb82ad7077aa86c5.zip
beforeunload and unload infrastructure
Diffstat (limited to 'components/script/dom/event.rs')
-rw-r--r--components/script/dom/event.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs
index 607469ca6bd..aab86758e23 100644
--- a/components/script/dom/event.rs
+++ b/components/script/dom/event.rs
@@ -482,7 +482,14 @@ fn invoke(window: Option<&Window>,
event.current_target.set(Some(object));
// Step 5.
- inner_invoke(window, object, event, &listeners);
+ if inner_invoke(window, object, event, &listeners) {
+ // <https://html.spec.whatwg.org/multipage/#unload-a-document>
+ // Step 9.
+ // Required to establish the 'salvageable' state of document as part of unloading.
+ if event.canceled.get() != EventDefault::Prevented {
+ event.mark_as_handled();
+ }
+ }
// TODO: step 6.
}