summaryrefslogtreecommitdiffstats
path: root/devtools/client/shared/components/test/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/shared/components/test/chrome')
-rw-r--r--devtools/client/shared/components/test/chrome/test_list_keyboard.html23
-rw-r--r--devtools/client/shared/components/test/chrome/test_notification_box_04.html2
-rw-r--r--devtools/client/shared/components/test/chrome/test_notification_box_05.html2
-rw-r--r--devtools/client/shared/components/test/chrome/test_tree-view_01.html25
-rw-r--r--devtools/client/shared/components/test/chrome/test_tree_14.html22
5 files changed, 68 insertions, 6 deletions
diff --git a/devtools/client/shared/components/test/chrome/test_list_keyboard.html b/devtools/client/shared/components/test/chrome/test_list_keyboard.html
index 7558404ed2..f350c1241c 100644
--- a/devtools/client/shared/components/test/chrome/test_list_keyboard.html
+++ b/devtools/client/shared/components/test/chrome/test_list_keyboard.html
@@ -76,6 +76,27 @@ window.onload = function() {
el.focus();
}
+ function getExpectedActiveElementForFinalShiftTab() {
+ if (!SpecialPowers.getBoolPref("dom.disable_tab_focus_to_root_element")) {
+ return listEl.ownerDocument.documentElement;
+ }
+
+ // When tab focus mode is applied, the "Run Chrome Tests" button is not
+ // focusable, so this Shift+Tab moves the focus to a Chrome UI element
+ // instead of the "Run Chrome Tests" button, which makes the focus to
+ // move to a browsing context that has a different top level browsing context
+ // than the current browsing context. Since top level browsing contexts are
+ // different, the activeElement in the old document is not cleared. Also
+ // this is only the case when e10s is enabled.
+ if (SpecialPowers.getBoolPref("accessibility.tabfocus_applies_to_xul") &&
+ SpecialPowers.Services.appinfo.browserTabsRemoteAutostart) {
+ return listEl;
+ }
+
+ // <body>
+ return defaultFocus;
+ }
+
const tests = [{
name: "Test default List state. Keyboard focus is set to document body by default.",
state: { current: null, active: null },
@@ -246,7 +267,7 @@ window.onload = function() {
synthesizeKey("KEY_Tab", { shiftKey: true });
},
state: { current: 0, active: null },
- activeElement: listEl.ownerDocument.documentElement,
+ activeElement: getExpectedActiveElementForFinalShiftTab(),
}];
for (const test of tests) {
diff --git a/devtools/client/shared/components/test/chrome/test_notification_box_04.html b/devtools/client/shared/components/test/chrome/test_notification_box_04.html
index 07ad9af25c..fde11a7bff 100644
--- a/devtools/client/shared/components/test/chrome/test_notification_box_04.html
+++ b/devtools/client/shared/components/test/chrome/test_notification_box_04.html
@@ -43,7 +43,7 @@ window.onload = async function () {
null,
PriorityLevels.PRIORITY_INFO_LOW,
[mdnLinkButton],
- (e) => false,
+ () => false,
);
const linkNode = notificationNode.querySelector(
diff --git a/devtools/client/shared/components/test/chrome/test_notification_box_05.html b/devtools/client/shared/components/test/chrome/test_notification_box_05.html
index b3a4e96378..10d6b8971f 100644
--- a/devtools/client/shared/components/test/chrome/test_notification_box_05.html
+++ b/devtools/client/shared/components/test/chrome/test_notification_box_05.html
@@ -42,7 +42,7 @@ window.onload = async function () {
null,
PriorityLevels.PRIORITY_INFO_LOW,
[],
- (e) => false,
+ () => false,
);
// Ensure close button is not present
diff --git a/devtools/client/shared/components/test/chrome/test_tree-view_01.html b/devtools/client/shared/components/test/chrome/test_tree-view_01.html
index 0acae4c1dc..7a97dfa917 100644
--- a/devtools/client/shared/components/test/chrome/test_tree-view_01.html
+++ b/devtools/client/shared/components/test/chrome/test_tree-view_01.html
@@ -63,6 +63,26 @@ window.onload = function() {
el.focus();
}
+ function getExpectedActiveElementForFinalShiftTab() {
+ if (!SpecialPowers.getBoolPref("dom.disable_tab_focus_to_root_element")) {
+ return treeViewEl.ownerDocument.documentElement;
+ }
+
+ // When tab focus mode is applied, the "Run Chrome Tests" button is not
+ // focusable, so this Shift+Tab moves the focus to a Chrome UI element
+ // instead of the "Run Chrome Tests" button, which makes the focus to
+ // move to a browsing context that has a different top level browsing context
+ // than the current browsing context. Since top level browsing contexts are
+ // different, the activeElement in the old document is not cleared. Also
+ // this is only the case when e10s is enabled.
+ if (SpecialPowers.getBoolPref("accessibility.tabfocus_applies_to_xul") &&
+ SpecialPowers.Services.appinfo.browserTabsRemoteAutostart) {
+ return treeViewEl;
+ }
+
+ return treeViewEl.ownerDocument.body;
+ }
+
const tests = [{
name: "Test default TreeView state. Keyboard focus is set to document " +
"body by default.",
@@ -255,8 +275,9 @@ window.onload = function() {
synthesizeKey("KEY_Tab", { shiftKey: true });
},
state: { selected: "/B", active: null },
- activeElement: treeViewEl.ownerDocument.documentElement,
- }];
+ activeElement: getExpectedActiveElementForFinalShiftTab(),
+ }
+ ];
for (const test of tests) {
const { action, event, state, name } = test;
diff --git a/devtools/client/shared/components/test/chrome/test_tree_14.html b/devtools/client/shared/components/test/chrome/test_tree_14.html
index d68d87d6c5..65557b167c 100644
--- a/devtools/client/shared/components/test/chrome/test_tree_14.html
+++ b/devtools/client/shared/components/test/chrome/test_tree_14.html
@@ -82,6 +82,26 @@ window.onload = async function() {
},
};
+ function getExpectedActiveElementForFinalShiftTab() {
+ if (!SpecialPowers.getBoolPref("dom.disable_tab_focus_to_root_element")) {
+ return document.documentElement;
+ }
+
+ // When tab focus mode is applied, the "Run Chrome Tests" button is not
+ // focusable, so this Shift+Tab moves the focus to a Chrome UI element
+ // instead of the "Run Chrome Tests" button, which makes the focus to
+ // move to a browsing context that has a different top level browsing context
+ // than the current browsing context. Since top level browsing contexts are
+ // different, the activeElement in the old document is not cleared. Also
+ // this is only the case when e10s is enabled.
+ if (SpecialPowers.getBoolPref("accessibility.tabfocus_applies_to_xul") &&
+ SpecialPowers.Services.appinfo.browserTabsRemoteAutostart) {
+ return "tree";
+ }
+
+ return document.body;
+ }
+
const tests = [{
name: "Test default Tree props. Keyboard focus is set to document body by default.",
props: { focused: undefined, active: undefined },
@@ -204,7 +224,7 @@ window.onload = async function() {
synthesizeKey("KEY_Tab", { shiftKey: true });
},
props: { focused: "A", active: null },
- activeElement: document.documentElement,
+ activeElement: getExpectedActiveElementForFinalShiftTab(),
}];
for (const test of tests) {