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,18 +25,20 @@ class FocusRingManager { ...@@ -25,18 +25,20 @@ class FocusRingManager {
} }
static initialize() { static initialize() {
if (!FocusRingManager.instance) {
FocusRingManager.instance = new FocusRingManager(); FocusRingManager.instance = new FocusRingManager();
} }
}
/** /**
* Sets the focus ring color. * Sets the focus ring color.
* @param {!string} color * @param {!string} color
*/ */
static setColor(color) { static setColor(color) {
const manager = FocusRingManager.instance; if (!FocusRingManager.instance) {
if (!manager) { FocusRingManager.initialize();
return;
} }
const manager = FocusRingManager.instance;
if (manager.colorPattern_.test(color) !== true) { if (manager.colorPattern_.test(color) !== true) {
console.error(SwitchAccess.error( console.error(SwitchAccess.error(
...@@ -54,10 +56,10 @@ class FocusRingManager { ...@@ -54,10 +56,10 @@ class FocusRingManager {
* @param {!SAChildNode} node * @param {!SAChildNode} node
*/ */
static setFocusedNode(node) { static setFocusedNode(node) {
const manager = FocusRingManager.instance; if (!FocusRingManager.instance) {
if (!manager) { FocusRingManager.initialize();
return;
} }
const manager = FocusRingManager.instance;
if (node instanceof BackButtonNode) { if (node instanceof BackButtonNode) {
const backButton = /** @type {!BackButtonNode} */ (node); const backButton = /** @type {!BackButtonNode} */ (node);
...@@ -116,11 +118,10 @@ class FocusRingManager { ...@@ -116,11 +118,10 @@ class FocusRingManager {
/** Clears all focus rings. */ /** Clears all focus rings. */
static clearAll() { static clearAll() {
const manager = FocusRingManager.instance; if (!FocusRingManager.instance) {
if (!manager) { FocusRingManager.initialize();
return;
} }
const manager = FocusRingManager.instance;
manager.rings_.forEach((ring) => ring.rects = []); manager.rings_.forEach((ring) => ring.rects = []);
manager.updateFocusRings_(); 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