aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/event.rs12
-rw-r--r--components/script/dom/webidls/Event.webidl1
2 files changed, 13 insertions, 0 deletions
diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs
index fc18036bfc7..914cf279278 100644
--- a/components/script/dom/event.rs
+++ b/components/script/dom/event.rs
@@ -297,6 +297,18 @@ impl EventMethods for Event {
self.cancelable.get()
}
+ // https://dom.spec.whatwg.org/#dom-event-returnvalue
+ fn ReturnValue(&self) -> bool {
+ self.canceled.get() == EventDefault::Allowed
+ }
+
+ // https://dom.spec.whatwg.org/#dom-event-returnvalue
+ fn SetReturnValue(&self, val: bool) {
+ if !val {
+ self.PreventDefault();
+ }
+ }
+
// https://dom.spec.whatwg.org/#dom-event-timestamp
fn TimeStamp(&self) -> u64 {
self.timestamp
diff --git a/components/script/dom/webidls/Event.webidl b/components/script/dom/webidls/Event.webidl
index 6c7861ecc6e..1a6fd8e4a5c 100644
--- a/components/script/dom/webidls/Event.webidl
+++ b/components/script/dom/webidls/Event.webidl
@@ -26,6 +26,7 @@ interface Event {
readonly attribute boolean bubbles;
[Pure]
readonly attribute boolean cancelable;
+ attribute boolean returnValue; // historical
void preventDefault();
[Pure]
readonly attribute boolean defaultPrevented;