diff options
author | Gregory Terzian <gterzian@users.noreply.github.com> | 2018-03-18 13:20:24 +0800 |
---|---|---|
committer | Gregory Terzian <gterzian@users.noreply.github.com> | 2018-05-05 19:14:36 +0800 |
commit | 427eaed535dfdeaf735a40e3cb82ad7077aa86c5 (patch) | |
tree | cc723041b13093541e8d5986b74bbd02e1c920a6 /components/script/dom/event.rs | |
parent | a1d1b187102b340ba65955f2c4f1131c8276d050 (diff) | |
download | servo-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.rs | 9 |
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. } |