Implement historical returnValue attribute for Event interface

This commit is contained in:
Patrick Ngai 2019-02-24 23:58:51 +08:00
parent 427003210b
commit fcadff7bad
6 changed files with 13 additions and 42 deletions

View file

@ -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

View file

@ -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;

View file

@ -1,4 +0,0 @@
[Event-defaultPrevented.html]
[returnValue should change defaultPrevented if cancelable is true.]
expected: FAIL

View file

@ -1,19 +0,0 @@
[Event-returnValue.html]
[When an event is created, returnValue should be initialized to true.]
expected: FAIL
[preventDefault() should not change returnValue if cancelable is false.]
expected: FAIL
[returnValue=false should have no effect if cancelable is false.]
expected: FAIL
[preventDefault() should change returnValue if cancelable is true.]
expected: FAIL
[initEvent should unset returnValue.]
expected: FAIL
[returnValue=true should have no effect once the canceled flag was set.]
expected: FAIL

View file

@ -1,7 +0,0 @@
[EventTarget-dispatchEvent-returnvalue.html]
[Return value of EventTarget.dispatchEvent() affected by preventDefault().]
expected: FAIL
[Return value of EventTarget.dispatchEvent() affected by returnValue.]
expected: FAIL

View file

@ -872,9 +872,6 @@
[Event interface: operation composedPath()]
expected: FAIL
[Event interface: attribute returnValue]
expected: FAIL
[Event interface: attribute composed]
expected: FAIL
@ -887,9 +884,6 @@
[Event interface: document.createEvent("Event") must inherit property "composedPath()" with the proper type]
expected: FAIL
[Event interface: document.createEvent("Event") must inherit property "returnValue" with the proper type]
expected: FAIL
[Event interface: document.createEvent("Event") must inherit property "composed" with the proper type]
expected: FAIL
@ -899,9 +893,6 @@
[Event interface: new Event("foo") must inherit property "composedPath()" with the proper type]
expected: FAIL
[Event interface: new Event("foo") must inherit property "returnValue" with the proper type]
expected: FAIL
[Event interface: new Event("foo") must inherit property "composed" with the proper type]
expected: FAIL
@ -914,9 +905,6 @@
[Event interface: new CustomEvent("foo") must inherit property "composedPath()" with the proper type]
expected: FAIL
[Event interface: new CustomEvent("foo") must inherit property "returnValue" with the proper type]
expected: FAIL
[Event interface: new CustomEvent("foo") must inherit property "composed" with the proper type]
expected: FAIL