Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Unified Diff: third_party/WebKit/LayoutTests/imported/wpt/html/editing/focus/processing-model/focus-fixup-rule-one-no-dialogs.html

Issue 2590903002: Import wpt@009111410a1099e85d4027a679985975757ceb4d (Closed)
Patch Set: Modify TestExpectations or download new baselines for tests. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/imported/wpt/html/editing/focus/processing-model/focus-fixup-rule-one-no-dialogs.html
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/html/editing/focus/processing-model/focus-fixup-rule-one-no-dialogs.html b/third_party/WebKit/LayoutTests/imported/wpt/html/editing/focus/processing-model/focus-fixup-rule-one-no-dialogs.html
index dab9c5751476de64945cc8db8a1e7763f5d93026..d8171abc715990a9e752c2d974acdfd7ecd34fc2 100644
--- a/third_party/WebKit/LayoutTests/imported/wpt/html/editing/focus/processing-model/focus-fixup-rule-one-no-dialogs.html
+++ b/third_party/WebKit/LayoutTests/imported/wpt/html/editing/focus/processing-model/focus-fixup-rule-one-no-dialogs.html
@@ -3,6 +3,7 @@
<title>Focus fixup rule one (no &lt;dialog>s involved)</title>
<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
<link rel="help" href="https://html.spec.whatwg.org/multipage/interaction.html#focus-fixup-rule-one">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/forms.html#attr-fieldset-disabled">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
@@ -10,13 +11,16 @@
<button id="button1">Button 1</button>
<button id="button2">Button 2</button>
<button id="button3">Button 3</button>
+ <fieldset id="fieldset1"><button id="button4">Button 4</button></fieldset>
+ <fieldset id="fieldset2" disabled><legend><button id="button5">Button 5</button></legend></fieldset>
<div id="div" tabindex="0">Div</div>
+ <div id="editable" contenteditable=true>editor</div>
</div>
<script>
"use strict";
-async_test(t => {
+test(() => {
const button = document.querySelector("#button1");
button.focus();
@@ -56,6 +60,30 @@ test(() => {
}, "Removing the active element from the DOM");
test(() => {
+ const fieldset = document.querySelector("#fieldset1");
+ const button = document.querySelector("#button4");
+ button.focus();
+ assert_equals(document.activeElement, button, "Sanity check: the button must start focused");
+
+ fieldset.disabled = true;
+
+ assert_not_equals(document.activeElement, button, "After disabling ancestor fieldset, the button must no longer be focused");
+ assert_equals(document.activeElement, document.body, "After disabling ancestor fieldset, the body must be focused");
+}, "Disabling <fieldset> affects its descendants");
+
+test(() => {
+ const fieldset = document.querySelector("#fieldset2");
+ const button = document.querySelector("#button5");
+ button.focus();
+ assert_equals(document.activeElement, button, "Sanity check: the button must start focused");
+
+ fieldset.insertBefore(document.createElement("legend"), fieldset.firstChild);
+
+ assert_not_equals(document.activeElement, button, "After changing a legend element, the button must no longer be focused");
+ assert_equals(document.activeElement, document.body, "After changing a legend element, the body must be focused");
+}, "Changing the first legend element in disabled <fieldset>");
+
+test(() => {
const div = document.querySelector("#div");
div.focus();
@@ -68,4 +96,14 @@ test(() => {
}, "Removing the tabindex attribute from a div");
+test(() => {
+ const div = document.querySelector("#editable");
+ div.focus();
+ assert_equals(document.activeElement, div, "Sanity check: the div must start focused");
+
+ div.contentEditable = false;
+
+ assert_not_equals(document.activeElement, div, "After disabling contentEditable, the div must no longer be focused");
+ assert_equals(document.activeElement, document.body, "After disabling contentEditable, the body must be focused");
+}, "Disabling contenteditable");
</script>

Powered by Google App Engine
This is Rietveld 408576698