From f35a870f5514d6a5aa5205d8926803767e1fa929 Mon Sep 17 00:00:00 2001 From: Patrick Shaughnessy Date: Tue, 10 Dec 2019 21:50:47 -0500 Subject: [PATCH 1/2] Took out the special mouseover cancel case --- components/script/dom/eventtarget.rs | 13 ++++++------- .../event-handler-processing-algorithm.html.ini | 13 ------------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index 12cf7d0253b..dc448b65501 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -227,14 +227,13 @@ impl CompiledEventListener { rooted!(in(*cx) let value = value); let value = value.handle(); - //Step 4 - let should_cancel = match event.type_() { - atom!("mouseover") => { - value.is_boolean() && value.to_boolean() == true - }, - _ => value.is_boolean() && value.to_boolean() == false, - }; + //Step 5 + let should_cancel = value.is_boolean() && value.to_boolean() == false; + if should_cancel { + // spec says to set the cancelled flag directly + // here, not just to prevent default; + // can that ever make a difference? event.PreventDefault(); } } diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-processing-algorithm.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-processing-algorithm.html.ini index 4940ff4ac62..656089c1f0d 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-processing-algorithm.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-processing-algorithm.html.ini @@ -3,16 +3,3 @@ [beforeunload listener returning null cancels event] bug: https://github.com/servo/servo/issues/10787 expected: FAIL - - [mouseover listener returning false cancels event (using Event)] - expected: FAIL - - [mouseover listener returning false cancels event (using MouseEvent)] - expected: FAIL - - [mouseover listener returning true doesn't cancel event (using Event)] - expected: FAIL - - [mouseover listener returning true doesn't cancel event (using MouseEvent)] - expected: FAIL - From e501eaaa5b43961883ef8ef1427790f6c9bb1804 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Wed, 11 Dec 2019 08:59:05 +0100 Subject: [PATCH 2/2] Add `FIXME` to the new comment asking wether code below it is right --- components/script/dom/eventtarget.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index dc448b65501..ea259a6d2d7 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -231,7 +231,7 @@ impl CompiledEventListener { let should_cancel = value.is_boolean() && value.to_boolean() == false; if should_cancel { - // spec says to set the cancelled flag directly + // FIXME: spec says to set the cancelled flag directly // here, not just to prevent default; // can that ever make a difference? event.PreventDefault();