Commit 345a2054 authored by Anastasia Helfinstein's avatar Anastasia Helfinstein Committed by Commit Bot

[Switch Access] Initialize FocusRingManager when needed

Instead of doing nothing if the focus ring manager hasn't yet been
initialized, initialize it.

Fixes a bug where there's no focus ring when the feature is enabled.

TBR=dtseng@chromium.org

AX-Relnotes: n/a.
Bug: None
Change-Id: I5cb3c4f7e837b5d0c6ffbdd969fc4594b9359b1b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2264880Reviewed-by: default avatarAnastasia Helfinstein <anastasi@google.com>
Commit-Queue: Anastasia Helfinstein <anastasi@google.com>
Cr-Commit-Position: refs/heads/master@{#782010}
parent 472c30e6
......@@ -25,7 +25,9 @@ class FocusRingManager {
}
static initialize() {
FocusRingManager.instance = new FocusRingManager();
if (!FocusRingManager.instance) {
FocusRingManager.instance = new FocusRingManager();
}
}
/**
......@@ -33,10 +35,10 @@ class FocusRingManager {
* @param {!string} color
*/
static setColor(color) {
const manager = FocusRingManager.instance;
if (!manager) {
return;
if (!FocusRingManager.instance) {
FocusRingManager.initialize();
}
const manager = FocusRingManager.instance;
if (manager.colorPattern_.test(color) !== true) {
console.error(SwitchAccess.error(
......@@ -54,10 +56,10 @@ class FocusRingManager {
* @param {!SAChildNode} node
*/
static setFocusedNode(node) {
const manager = FocusRingManager.instance;
if (!manager) {
return;
if (!FocusRingManager.instance) {
FocusRingManager.initialize();
}
const manager = FocusRingManager.instance;
if (node instanceof BackButtonNode) {
const backButton = /** @type {!BackButtonNode} */ (node);
......@@ -116,11 +118,10 @@ class FocusRingManager {
/** Clears all focus rings. */
static clearAll() {
const manager = FocusRingManager.instance;
if (!manager) {
return;
if (!FocusRingManager.instance) {
FocusRingManager.initialize();
}
const manager = FocusRingManager.instance;
manager.rings_.forEach((ring) => ring.rects = []);
manager.updateFocusRings_();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment