Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(378)

Unified Diff: chrome/browser/resources/chromeos/chromevox/chromevox/background/options.js

Issue 2445003002: Reland: Make ChromeVox Next the default ChromeVox experience (Closed)
Patch Set: speculative fixes Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/chromeos/chromevox/chromevox/background/options.js
diff --git a/chrome/browser/resources/chromeos/chromevox/chromevox/background/options.js b/chrome/browser/resources/chromeos/chromevox/chromevox/background/options.js
index 7adedde18c0c39f1d67881cbe78d163a67bcee9b..f4e2e0ceffd829321ab5dbd11e33eae9d834a0a9 100644
--- a/chrome/browser/resources/chromeos/chromevox/chromevox/background/options.js
+++ b/chrome/browser/resources/chromeos/chromevox/chromevox/background/options.js
@@ -61,7 +61,6 @@ cvox.OptionsPage.TEXT_TO_KEYCODE = {
cvox.OptionsPage.init = function() {
cvox.OptionsPage.prefs = chrome.extension.getBackgroundPage().prefs;
cvox.OptionsPage.populateKeyMapSelect();
- cvox.OptionsPage.addKeys();
cvox.OptionsPage.populateVoicesSelect();
cvox.BrailleTable.getAll(function(tables) {
/** @type {!Array<cvox.BrailleTable.Table>} */
@@ -94,13 +93,6 @@ cvox.OptionsPage.init = function() {
$('version').textContent =
chrome.app.getDetails().version;
}
-
- $('useNext').addEventListener('change', function(evt) {
- var checked = evt.target.checked;
- var background =
- chrome.extension.getBackgroundPage().ChromeVoxState.instance;
- background.toggleNext(checked);
- }, true);
};
/**
@@ -141,191 +133,6 @@ cvox.OptionsPage.populateKeyMapSelect = function() {
};
/**
- * Add the input elements for the key bindings to the container element
- * in the page. They're sorted in order of description.
- */
-cvox.OptionsPage.addKeys = function() {
- var container = $('keysContainer');
- var keyMap = cvox.OptionsPage.prefs.getKeyMap();
-
- cvox.OptionsPage.prevTime = new Date().getTime();
- cvox.OptionsPage.keyCount = 0;
- container.addEventListener('keypress', goog.bind(function(evt) {
- if (evt.target.id == 'cvoxKey') {
- return;
- }
- this.keyCount++;
- var currentTime = new Date().getTime();
- if (currentTime - this.prevTime > 1000 || this.keyCount > 2) {
- if (document.activeElement.id == 'toggleKeyPrefix') {
- this.keySequence = new cvox.KeySequence(evt, false);
- this.keySequence.keys['ctrlKey'][0] = true;
- } else {
- this.keySequence = new cvox.KeySequence(evt, true);
- }
-
- this.keyCount = 1;
- } else {
- this.keySequence.addKeyEvent(evt);
- }
-
- var keySeqStr = cvox.KeyUtil.keySequenceToString(this.keySequence, true);
- var announce = keySeqStr.replace(/\+/g,
- ' ' + Msgs.getMsg('then') + ' ');
- announce = announce.replace(/>/g,
- ' ' + Msgs.getMsg('followed_by') + ' ');
- announce = announce.replace('Cvox',
- ' ' + Msgs.getMsg('modifier_key') + ' ');
-
- // TODO(dtseng): Only basic conflict detection; it does not speak the
- // conflicting command. Nor does it detect prefix conflicts like Cvox+L vs
- // Cvox+L>L.
- if (cvox.OptionsPage.prefs.setKey(document.activeElement.id,
- this.keySequence)) {
- document.activeElement.value = keySeqStr;
- } else {
- announce = Msgs.getMsg('key_conflict', [announce]);
- }
- cvox.OptionsPage.speak(announce, cvox.QueueMode.QUEUE);
- this.prevTime = currentTime;
-
- evt.preventDefault();
- evt.stopPropagation();
- }, cvox.OptionsPage), true);
-
- var categories = cvox.CommandStore.categories();
- for (var i = 0; i < categories.length; i++) {
- // Braille bindings can't be customized, so don't include them.
- if (categories[i] == 'braille') {
- continue;
- }
- var headerElement = document.createElement('h3');
- headerElement.className = 'i18n';
- headerElement.setAttribute('msgid', categories[i]);
- headerElement.id = categories[i];
- container.appendChild(headerElement);
- var commands = cvox.CommandStore.commandsForCategory(categories[i]);
- for (var j = 0; j < commands.length; j++) {
- var command = commands[j];
- // TODO: Someday we may want to have more than one key
- // mapped to a command, so we'll need to figure out how to display
- // that. For now, just take the first key.
- var keySeqObj = keyMap.keyForCommand(command)[0];
-
- // Explicitly skip toggleChromeVox in ChromeOS.
- if (command == 'toggleChromeVox' &&
- cvox.PlatformUtil.matchesPlatform(cvox.PlatformFilter.CHROMEOS)) {
- continue;
- }
-
- var inputElement = document.createElement('input');
- inputElement.type = 'text';
- inputElement.className = 'key active-key';
- inputElement.id = command;
-
- var displayedCombo;
- if (keySeqObj != null) {
- displayedCombo = cvox.KeyUtil.keySequenceToString(keySeqObj, true);
- } else {
- displayedCombo = '';
- }
- inputElement.value = displayedCombo;
-
- // Don't allow the user to change the sticky mode or stop speaking key.
- if (command == 'toggleStickyMode' || command == 'stopSpeech') {
- inputElement.disabled = true;
- }
- var message = cvox.CommandStore.messageForCommand(command);
- if (!message) {
- // TODO(dtseng): missing message id's.
- message = command;
- }
-
- var labelElement = document.createElement('label');
- labelElement.className = 'i18n';
- labelElement.setAttribute('msgid', message);
- labelElement.setAttribute('for', inputElement.id);
-
- var divElement = document.createElement('div');
- divElement.className = 'key-container';
- container.appendChild(divElement);
- divElement.appendChild(inputElement);
- divElement.appendChild(labelElement);
- }
- var brElement = document.createElement('br');
- container.appendChild(brElement);
- }
-
- if ($('cvoxKey') == null) {
- // Add the cvox key field
- var inputElement = document.createElement('input');
- inputElement.type = 'text';
- inputElement.className = 'key';
- inputElement.id = 'cvoxKey';
-
- var labelElement = document.createElement('label');
- labelElement.className = 'i18n';
- labelElement.setAttribute('msgid', 'options_cvox_modifier_key');
- labelElement.setAttribute('for', 'cvoxKey');
-
- var modifierSectionSibling =
- $('modifier_keys').nextSibling;
- var modifierSectionParent = modifierSectionSibling.parentNode;
- modifierSectionParent.insertBefore(labelElement, modifierSectionSibling);
- modifierSectionParent.insertBefore(inputElement, labelElement);
- var cvoxKey = $('cvoxKey');
- cvoxKey.value = localStorage['cvoxKey'];
-
- cvoxKey.addEventListener('keydown', function(evt) {
- if (!this.modifierSeq_) {
- this.modifierCount_ = 0;
- this.modifierSeq_ = new cvox.KeySequence(evt, false);
- } else {
- this.modifierSeq_.addKeyEvent(evt);
- }
-
- // Never allow non-modified keys.
- if (!this.modifierSeq_.isAnyModifierActive()) {
- // Indicate error and instructions excluding tab.
- if (evt.keyCode != 9) {
- cvox.OptionsPage.speak(
- Msgs.getMsg('modifier_entry_error'),
- cvox.QueueMode.FLUSH, {});
- }
- this.modifierSeq_ = null;
- } else {
- this.modifierCount_++;
- }
-
- // Don't trap tab or shift.
- if (!evt.shiftKey && evt.keyCode != 9) {
- evt.preventDefault();
- evt.stopPropagation();
- }
- }, true);
-
- cvoxKey.addEventListener('keyup', function(evt) {
- if (this.modifierSeq_) {
- this.modifierCount_--;
-
- if (this.modifierCount_ == 0) {
- var modifierStr =
- cvox.KeyUtil.keySequenceToString(this.modifierSeq_, true, true);
- evt.target.value = modifierStr;
- cvox.OptionsPage.speak(
- Msgs.getMsg('modifier_entry_set', [modifierStr]),
- cvox.QueueMode.QUEUE);
- localStorage['cvoxKey'] = modifierStr;
- this.modifierSeq_ = null;
- }
- evt.preventDefault();
- evt.stopPropagation();
- }
- }, true);
- }
-};
-
-/**
* Populates the voices select with options.
*/
cvox.OptionsPage.populateVoicesSelect = function() {
@@ -530,8 +337,6 @@ cvox.OptionsPage.reset = function() {
cvox.OptionsPage.updateStatus_(announce);
cvox.OptionsPage.prefs.switchToKeyMap(id);
- $('keysContainer').innerHTML = '';
- cvox.OptionsPage.addKeys();
Msgs.addTranslatedMessagesToDom(document);
};
@@ -560,19 +365,6 @@ cvox.OptionsPage.hidePlatformSpecifics = function() {
/**
- * Calls a {@code cvox.TtsInterface.speak} method in the background page to
- * speak an utterance. See that method for further details.
- * @param {string} textString The string of text to be spoken.
- * @param {cvox.QueueMode} queueMode The queue mode to use.
- * @param {Object=} properties Speech properties to use for this utterance.
- */
-cvox.OptionsPage.speak = function(textString, queueMode, properties) {
- var speak =
- /** @type Function} */ (chrome.extension.getBackgroundPage()['speak']);
- speak.apply(null, arguments);
-};
-
-/**
* @return {cvox.BrailleTranslatorManager}
*/
cvox.OptionsPage.getBrailleTranslatorManager = function() {

Powered by Google App Engine
This is Rietveld 408576698