[ChromeVox] Remove extra class ChromeTtsBase
This change is a pure refactor.
AX-Relnotes: n/a.
Bug: 138992
Test: cq
Change-Id: I7a54437d0ddd0b0254fbcc16de8830ff4c74b07c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4044622
Reviewed-by: Akihiro Ota <akihiroota@chromium.org>
Commit-Queue: Anastasia Helfinstein <anastasi@google.com>
Auto-Submit: Anastasia Helfinstein <anastasi@google.com>
Cr-Commit-Position: refs/heads/main@{#1074866}
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/BUILD.gn b/chrome/browser/resources/chromeos/accessibility/chromevox/BUILD.gn
index cbfe12d..280115d 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/BUILD.gn
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/BUILD.gn
@@ -143,7 +143,6 @@
"common/role_type.js",
"common/spannable.js",
"common/tree_dumper.js",
- "common/tts_base.js",
"common/tts_interface.js",
"common/tts_types.js",
"learn_mode/learn_mode.js",
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/tts_background.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/tts_background.js
index eac102af..78bb406 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/tts_background.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/tts_background.js
@@ -8,12 +8,12 @@
*/
import {constants} from '../../common/constants.js';
+import {AbstractTts} from '../common/abstract_tts.js';
import {BridgeConstants} from '../common/bridge_constants.js';
import {BridgeHelper} from '../common/bridge_helper.js';
import {CompositeTts} from '../common/composite_tts.js';
import {Msgs} from '../common/msgs.js';
import {PanelCommand, PanelCommandType} from '../common/panel_command.js';
-import {ChromeTtsBase} from '../common/tts_base.js';
import {TtsCapturingEventListener, TtsInterface} from '../common/tts_interface.js';
import * as ttsTypes from '../common/tts_types.js';
@@ -108,7 +108,7 @@
/**
* This class is the default implementation for TTS in the background context.
*/
-export class PrimaryTts extends ChromeTtsBase {
+export class PrimaryTts extends AbstractTts {
constructor() {
super();
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/common/abstract_tts.js b/chrome/browser/resources/chromeos/accessibility/chromevox/common/abstract_tts.js
index 4a1cb82..8e3fb438 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/common/abstract_tts.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/common/abstract_tts.js
@@ -12,6 +12,15 @@
import * as ttsTypes from './tts_types.js';
/**
+ * @typedef {{
+ * pitch: number,
+ * rate: number,
+ * volume: number,
+ * }}
+ */
+let PropertyValues;
+
+/**
* Creates a new instance.
* @implements {TtsInterface}
*/
@@ -23,39 +32,67 @@
* Default value for TTS properties.
* Note that these as well as the subsequent properties might be different
* on different host platforms (like Chrome, Android, etc.).
- * @type {{pitch : number,
- * rate: number,
- * volume: number}}
- * @protected
+ * @protected {PropertyValues}
*/
- this.propertyDefault = {'rate': 0.5, 'pitch': 0.5, 'volume': 0.5};
+ this.propertyDefault;
/**
* Min value for TTS properties.
- * @type {{pitch : number,
- * rate: number,
- * volume: number}}
- * @protected
+ * @protected {PropertyValues}
*/
- this.propertyMin = {'rate': 0.0, 'pitch': 0.0, 'volume': 0.0};
+ this.propertyMin;
/**
* Max value for TTS properties.
- * @type {{pitch : number,
- * rate: number,
- * volume: number}}
- * @protected
+ * @protected {PropertyValues}
*/
- this.propertyMax = {'rate': 1.0, 'pitch': 1.0, 'volume': 1.0};
+ this.propertyMax;
/**
* Step value for TTS properties.
- * @type {{pitch : number,
- * rate: number,
- * volume: number}}
- * @protected
+ * @protected {PropertyValues}
*/
- this.propertyStep = {'rate': 0.1, 'pitch': 0.1, 'volume': 0.1};
+ this.propertyStep;
+
+ this.init_();
+ }
+
+ /** @private */
+ init_() {
+ const pitchDefault = 1;
+ const pitchMin = 0.2;
+ const pitchMax = 2.0;
+ const pitchStep = 0.1;
+
+ const rateDefault = 1;
+ const rateMin = 0.2;
+ const rateMax = 5.0;
+ const rateStep = 0.1;
+
+ const volumeDefault = 1;
+ const volumeMin = 0.2;
+ const volumeMax = 1.0;
+ const volumeStep = 0.1;
+
+ this.propertyDefault = {
+ pitch: pitchDefault,
+ rate: rateDefault,
+ volume: volumeDefault,
+ };
+
+ this.propertyMin = {
+ pitch: pitchMin,
+ rate: rateMin,
+ volume: volumeMin,
+ };
+
+ this.propertyMax = {
+ pitch: pitchMax,
+ rate: rateMax,
+ volume: volumeMax,
+ };
+
+ this.propertyStep = {rate: rateStep, pitch: pitchStep, volume: volumeStep};
if (AbstractTts.substitutionDictionaryRegexp_ === undefined) {
// Create an expression that matches all words in the substitution
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/common/tts_base.js b/chrome/browser/resources/chromeos/accessibility/chromevox/common/tts_base.js
deleted file mode 100644
index d0a68e8..0000000
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/common/tts_base.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2014 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-/**
- * @fileoverview A base class for Tts living on Chrome platforms.
- *
- */
-import {AbstractTts} from './abstract_tts.js';
-
-export class ChromeTtsBase extends AbstractTts {
- constructor() {
- super();
- this.propertyDefault['pitch'] = 1;
- this.propertyMin['pitch'] = 0.2;
- this.propertyMax['pitch'] = 2.0;
-
- this.propertyDefault['rate'] = 1;
- this.propertyMin['rate'] = 0.2;
- this.propertyMax['rate'] = 5.0;
-
- this.propertyDefault['volume'] = 1;
- this.propertyMin['volume'] = 0.2;
- this.propertyMax['volume'] = 1.0;
- }
-}