[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;
-  }
-}