diff --git a/Libraries/LibWeb/HTML/Focus.cpp b/Libraries/LibWeb/HTML/Focus.cpp index 0fbc17e696..d55645a217 100644 --- a/Libraries/LibWeb/HTML/Focus.cpp +++ b/Libraries/LibWeb/HTML/Focus.cpp @@ -44,7 +44,7 @@ static void run_focus_update_steps(Vector> old_chain, Vector // pop the last entry from old chain and the last entry from new chain and redo this step. while (!old_chain.is_empty() && !new_chain.is_empty() - && &old_chain.last() == &new_chain.last()) { + && old_chain.last() == new_chain.last()) { (void)old_chain.take_last(); (void)new_chain.take_last(); } diff --git a/Tests/LibWeb/Text/expected/focus-chain.txt b/Tests/LibWeb/Text/expected/focus-chain.txt new file mode 100644 index 0000000000..d8b0cedbf0 --- /dev/null +++ b/Tests/LibWeb/Text/expected/focus-chain.txt @@ -0,0 +1,30 @@ +== div3 focus +DIV#3 received focus event, target: DIV#3, currentTarget: DIV#3 +DIV#3 received focusin event, target: DIV#3, currentTarget: DIV#3 +DIV#2 received focusin event, target: DIV#3, currentTarget: DIV#2 +DIV#1 received focusin event, target: DIV#3, currentTarget: DIV#1 +window received focusin event, target: DIV#3, currentTarget: window +== div5 focus +DIV#3 received blur event, target: DIV#3, currentTarget: DIV#3 +DIV#3 received focusout event, target: DIV#3, currentTarget: DIV#3 +DIV#2 received focusout event, target: DIV#3, currentTarget: DIV#2 +DIV#1 received focusout event, target: DIV#3, currentTarget: DIV#1 +window received focusout event, target: DIV#3, currentTarget: window +DIV#5 received focus event, target: DIV#5, currentTarget: DIV#5 +DIV#5 received focusin event, target: DIV#5, currentTarget: DIV#5 +DIV#4 received focusin event, target: DIV#5, currentTarget: DIV#4 +DIV#1 received focusin event, target: DIV#5, currentTarget: DIV#1 +window received focusin event, target: DIV#5, currentTarget: window +== div1 focus +DIV#5 received blur event, target: DIV#5, currentTarget: DIV#5 +DIV#5 received focusout event, target: DIV#5, currentTarget: DIV#5 +DIV#4 received focusout event, target: DIV#5, currentTarget: DIV#4 +DIV#1 received focusout event, target: DIV#5, currentTarget: DIV#1 +window received focusout event, target: DIV#5, currentTarget: window +DIV#1 received focus event, target: DIV#1, currentTarget: DIV#1 +DIV#1 received focusin event, target: DIV#1, currentTarget: DIV#1 +window received focusin event, target: DIV#1, currentTarget: window +== window focus +DIV#1 received blur event, target: DIV#1, currentTarget: DIV#1 +DIV#1 received focusout event, target: DIV#1, currentTarget: DIV#1 +window received focusout event, target: DIV#1, currentTarget: window diff --git a/Tests/LibWeb/Text/expected/wpt-import/dom/events/shadow-relatedTarget.txt b/Tests/LibWeb/Text/expected/wpt-import/dom/events/shadow-relatedTarget.txt index 40cea574ad..bb871948af 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/dom/events/shadow-relatedTarget.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/dom/events/shadow-relatedTarget.txt @@ -2,6 +2,6 @@ Harness status: OK Found 2 tests -2 Fail -Fail relatedTarget should not leak at capturing phase, at window object. -Fail relatedTarget should not leak at target. \ No newline at end of file +2 Pass +Pass relatedTarget should not leak at capturing phase, at window object. +Pass relatedTarget should not leak at target. \ No newline at end of file diff --git a/Tests/LibWeb/Text/input/focus-chain.html b/Tests/LibWeb/Text/input/focus-chain.html new file mode 100644 index 0000000000..8120aff51c --- /dev/null +++ b/Tests/LibWeb/Text/input/focus-chain.html @@ -0,0 +1,55 @@ + +
+
+
+
+
+
+
+
+ +