Chromium Code Reviews| Index: chrome/browser/resources/chromeos/chromevox/cvox2/background/next_earcons.js |
| diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/next_earcons.js b/chrome/browser/resources/chromeos/chromevox/cvox2/background/next_earcons.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..b50621304bc16740d14ad89ce4ea50926e21f2de |
| --- /dev/null |
| +++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/next_earcons.js |
| @@ -0,0 +1,115 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +/** |
| + * @fileoverview Earcons library that uses EarconEngine to play back |
| + * auditory cues. |
| + * |
|
Peter Lundblad
2015/09/29 09:27:34
nit: empty line
dmazzoni
2015/10/01 20:41:43
Done.
|
| + */ |
| + |
| + |
| +goog.provide('NextEarcons'); |
| + |
| +goog.require('EarconEngine'); |
| +goog.require('cvox.AbstractEarcons'); |
| + |
| + |
| +/** |
| + * @constructor |
| + * @extends {cvox.AbstractEarcons} |
| + */ |
| +NextEarcons = function() { |
| + cvox.AbstractEarcons.call(this); |
| + |
| + /** |
| + * The ChromeVox Next earcon engine. |
|
Peter Lundblad
2015/09/29 09:27:34
nit: redundant.
dmazzoni
2015/10/01 20:41:43
Done.
|
| + * @type {EarconEngine} |
| + * @private |
| + */ |
| + this.engine_ = new EarconEngine(); |
| +}; |
|
Peter Lundblad
2015/09/29 09:27:34
The enabled flag is not initialized from the prefs
dmazzoni
2015/10/13 23:07:03
Moved to AbstractEarcons instead.
|
| + |
| + |
| +NextEarcons.prototype = { |
|
Peter Lundblad
2015/09/29 09:27:34
nit: no need for double line break.
dmazzoni
2015/10/01 20:41:43
Done.
|
| + /** |
| + * @return {string} The human-readable name of the earcon set. |
| + */ |
| + getName: function() { |
| + return 'ChromeVox Next earcons'; |
| + }, |
| + |
| + /** |
| + * @override |
| + */ |
| + playEarcon: function(earcon) { |
| + if (!this.enabled) { |
| + return; |
| + } |
| + console.log('Earcon ' + earcon); |
| + |
| + switch (earcon) { |
| + case cvox.Earcon.ALERT_MODAL: |
| + case cvox.Earcon.ALERT_NONMODAL: |
| + this.engine_.onAlert(); |
| + break; |
| + case cvox.Earcon.BUTTON: |
| + this.engine_.onButton(); |
| + break; |
| + case cvox.Earcon.CHECK_OFF: |
| + this.engine_.onCheckOff(); |
| + break; |
| + case cvox.Earcon.CHECK_ON: |
| + this.engine_.onCheckOn(); |
| + break; |
| + case cvox.Earcon.EDITABLE_TEXT: |
| + this.engine_.onTextField(); |
| + break; |
| + case cvox.Earcon.INVALID_KEYPRESS: |
| + break; |
|
Peter Lundblad
2015/09/29 09:27:34
Can you add a comment explaining why this is not h
dmazzoni
2015/10/01 20:41:43
Oops, I meant to map this one to onWrap().
|
| + case cvox.Earcon.LINK: |
| + this.engine_.onLink(); |
| + break; |
| + case cvox.Earcon.LISTBOX: |
| + this.engine_.onSelect(); |
| + break; |
| + case cvox.Earcon.LIST_ITEM: |
| + case cvox.Earcon.LONG_DESC: |
| + case cvox.Earcon.MATH: |
| + case cvox.Earcon.OBJECT_CLOSE: |
| + case cvox.Earcon.OBJECT_ENTER: |
| + case cvox.Earcon.OBJECT_EXIT: |
| + case cvox.Earcon.OBJECT_OPEN: |
| + case cvox.Earcon.OBJECT_SELECT: |
| + break; |
|
Peter Lundblad
2015/09/29 09:27:34
Can you add a comment explaining why these are not
dmazzoni
2015/10/01 20:41:43
Done.
|
| + case cvox.Earcon.PAGE_FINISH_LOADING: |
| + this.engine_.cancelProgress(); |
| + break; |
| + case cvox.Earcon.PAGE_START_LOADING: |
| + // TODO(dmazzoni): only when the page has focus. |
| + this.engine_.startProgress(); |
| + break; |
| + case cvox.Earcon.POP_UP_BUTTON: |
| + this.engine_.onPopUpButton(); |
| + break; |
| + case cvox.Earcon.RECOVER_FOCUS: |
|
Peter Lundblad
2015/09/29 09:27:34
Can you add a comment explaining why this is not h
dmazzoni
2015/10/01 20:41:43
Done.
|
| + break; |
| + case cvox.Earcon.SELECTION: |
| + this.engine_.onSelection(); |
| + break; |
| + case cvox.Earcon.SELECTION_REVERSE: |
| + this.engine_.onSelectionReverse(); |
| + break; |
| + case cvox.Earcon.SKIP: |
| + this.engine_.onSkim(); |
| + break; |
| + case cvox.Earcon.SLIDER: |
| + this.engine_.onSlider(); |
| + break; |
| + case cvox.Earcon.WRAP: |
| + case cvox.Earcon.WRAP_EDGE: |
| + this.engine_.onWrap(); |
| + break; |
| + } |
| + } |
| +}; |