Fix some of the remove-event-handler problems

This commit is contained in:
Patrick Shaughnessy 2020-01-30 14:27:30 -05:00
parent 6d220d02de
commit 2874c62d35
2 changed files with 9 additions and 10 deletions

View file

@ -404,9 +404,15 @@ impl EventTarget {
});
match idx {
Some(idx) => {
entries[idx].listener =
EventListenerType::Inline(listener.unwrap_or(InlineEventListener::Null));
Some(idx) => match listener {
// Replace if there's something to replace with,
// but remove entirely if there isn't.
Some(listener) => {
entries[idx].listener = EventListenerType::Inline(listener);
},
None => {
entries.remove(idx);
},
},
None => {
if let Some(listener) = listener {

View file

@ -1,10 +1,3 @@
[event-handler-removal.window.html]
[Event handler set through content attribute should be deactivated when the content attribute is removed.]
expected: FAIL
[Event handler set through IDL should be deactivated when the IDL attribute is set to null.]
expected: FAIL
[Event handler set through content attribute should be removed when they are set to null.]
expected: FAIL