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

Side by Side Diff: chrome/browser/resources/chromeos/chromevox/speech_rules/math_simple_store.js

Issue 924083004: Shorten Closure template notation from Array.<*> to Array<*> in cvox. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview Rule stores for the basic components of math expressions: 6 * @fileoverview Rule stores for the basic components of math expressions:
7 * Unicode symbols and functions. 7 * Unicode symbols and functions.
8 * 8 *
9 * The idea of these stores is to provide a more efficient data structure to 9 * The idea of these stores is to provide a more efficient data structure to
10 * look up rules in the background page than the usual flat array of rules 10 * look up rules in the background page than the usual flat array of rules
(...skipping 16 matching lines...) Expand all
27 goog.base(this); 27 goog.base(this);
28 }; 28 };
29 goog.inherits(cvox.MathSimpleStore, cvox.MathStore); 29 goog.inherits(cvox.MathSimpleStore, cvox.MathStore);
30 30
31 31
32 /** 32 /**
33 * Turns a domain mapping from its JSON representation containing simple strings 33 * Turns a domain mapping from its JSON representation containing simple strings
34 * only into a list of speech rules. 34 * only into a list of speech rules.
35 * @param {string} name Name for the rules. 35 * @param {string} name Name for the rules.
36 * @param {string} str String for precondition and constraints. 36 * @param {string} str String for precondition and constraints.
37 * @param {Object.<string, Object.<string, string>>} mapping Simple string 37 * @param {Object<string, Object<string, string>>} mapping Simple string
38 * mapping. 38 * mapping.
39 */ 39 */
40 cvox.MathSimpleStore.prototype.defineRulesFromMappings = function( 40 cvox.MathSimpleStore.prototype.defineRulesFromMappings = function(
41 name, str, mapping) { 41 name, str, mapping) {
42 for (var domain in mapping) { 42 for (var domain in mapping) {
43 for (var style in mapping[domain]) { 43 for (var style in mapping[domain]) {
44 var content = mapping[domain][style]; 44 var content = mapping[domain][style];
45 var cstr = 'self::text() = "' + str + '"'; 45 var cstr = 'self::text() = "' + str + '"';
46 var rule = this.defineRule( 46 var rule = this.defineRule(
47 name, domain + '.' + style, '[t] "' + content + '"', 47 name, domain + '.' + style, '[t] "' + content + '"',
48 'self::text()', cstr); 48 'self::text()', cstr);
49 } 49 }
50 } 50 }
51 }; 51 };
52 52
53 53
54 /** 54 /**
55 * A compound store for simple Math objects. 55 * A compound store for simple Math objects.
56 * @constructor 56 * @constructor
57 */ 57 */
58 cvox.MathCompoundStore = function() { 58 cvox.MathCompoundStore = function() {
59 /** 59 /**
60 * A set of efficient substores. 60 * A set of efficient substores.
61 * @type {Object.<string, cvox.MathStore>} 61 * @type {Object<string, cvox.MathStore>}
62 * @private 62 * @private
63 */ 63 */
64 this.subStores_ = {}; 64 this.subStores_ = {};
65 }; 65 };
66 goog.addSingletonGetter(cvox.MathCompoundStore); 66 goog.addSingletonGetter(cvox.MathCompoundStore);
67 67
68 68
69 /** 69 /**
70 * Function creates a rule store in the compound store for a particular string, 70 * Function creates a rule store in the compound store for a particular string,
71 * and populates it with a set of rules. 71 * and populates it with a set of rules.
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 } 135 }
136 return rule.action.components 136 return rule.action.components
137 .map(function(comp) { 137 .map(function(comp) {
138 return comp.content.slice(1, -1);}) 138 return comp.content.slice(1, -1);})
139 .join(' '); 139 .join(' ');
140 }; 140 };
141 141
142 142
143 /** 143 /**
144 * Get a set of all dynamic constraint values. 144 * Get a set of all dynamic constraint values.
145 * @return {!Object.<cvox.SpeechRule.DynamicCstrAttrib, Array.<string>>} The 145 * @return {!Object<cvox.SpeechRule.DynamicCstrAttrib, Array<string>>} The
146 * object with all annotations. 146 * object with all annotations.
147 */ 147 */
148 cvox.MathCompoundStore.prototype.getDynamicConstraintValues = function() { 148 cvox.MathCompoundStore.prototype.getDynamicConstraintValues = function() {
149 var newCstr = {}; 149 var newCstr = {};
150 for (var store in this.subStores_) { 150 for (var store in this.subStores_) {
151 var cstr = this.subStores_[store].getDynamicConstraintValues(); 151 var cstr = this.subStores_[store].getDynamicConstraintValues();
152 for (var key in cstr) { 152 for (var key in cstr) {
153 var set = newCstr[key]; 153 var set = newCstr[key];
154 if (set) { 154 if (set) {
155 newCstr[key] = cvox.MathUtil.union(set, cstr[key]); 155 newCstr[key] = cvox.MathUtil.union(set, cstr[key]);
(...skipping 16 matching lines...) Expand all
172 cvox.MathSimpleStore.parseUnicode_ = function(number) { 172 cvox.MathSimpleStore.parseUnicode_ = function(number) {
173 var keyValue = parseInt(number, 16); 173 var keyValue = parseInt(number, 16);
174 if (keyValue < 0x10000) { 174 if (keyValue < 0x10000) {
175 return String.fromCharCode(keyValue); 175 return String.fromCharCode(keyValue);
176 } 176 }
177 keyValue -= 0x10000; 177 keyValue -= 0x10000;
178 var hiSurrogate = (keyValue >> 10) + 0xD800; 178 var hiSurrogate = (keyValue >> 10) + 0xD800;
179 var lowSurrogate = (keyValue & 0x3FF) + 0xDC00; 179 var lowSurrogate = (keyValue & 0x3FF) + 0xDC00;
180 return String.fromCharCode(hiSurrogate, lowSurrogate); 180 return String.fromCharCode(hiSurrogate, lowSurrogate);
181 }; 181 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698