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

Side by Side Diff: chrome/browser/resources/chromeos/chromevox/testing/mock_tts.js

Issue 880063002: Ensure WebView notifies desktop automation on creation, destruction, and change (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix leaks? 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 * Mock tts class. 6 * Mock tts class.
7 * @constructor 7 * @constructor
8 * @extends {cvox.TtsInterface} 8 * @extends {cvox.TtsInterface}
9 */ 9 */
10 var MockTts = function() { 10 var MockTts = function() {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 if (opt_exact) 106 if (opt_exact)
107 return actualText === expectedText; 107 return actualText === expectedText;
108 return actualText.indexOf(expectedText) != -1; 108 return actualText.indexOf(expectedText) != -1;
109 }; 109 };
110 110
111 this.expectations_.push(expectation); 111 this.expectations_.push(expectation);
112 112
113 // Process any idleUtterances. 113 // Process any idleUtterances.
114 this.idleUtterances_.forEach(function(utterance) { 114 this.idleUtterances_.forEach(function(utterance) {
115 this.process_(utterance, true); 115 this.process_(utterance, true);
116 }); 116 }.bind(this));
117 }, 117 },
118 118
119 /** 119 /**
120 * @param {string} textString Utterance to match against callbacks. 120 * @param {string} textString Utterance to match against callbacks.
121 * @param {boolean=} opt_manual True if called outside of tts.speak. 121 * @param {boolean=} opt_manual True if called outside of tts.speak.
122 * @private 122 * @private
123 */ 123 */
124 process_: function(textString, opt_manual) { 124 process_: function(textString, opt_manual) {
125 if (this.expectations_.length == 0) { 125 if (this.expectations_.length == 0) {
126 if (!opt_manual) 126 if (!opt_manual)
127 this.idleUtterances_.push(textString); 127 this.idleUtterances_.push(textString);
128 return; 128 return;
129 } 129 }
130 130
131 var allUtterances = this.idleUtterances_.concat([textString]); 131 var allUtterances = this.idleUtterances_.concat([textString]);
132 var targetExpectation = this.expectations_.shift(); 132 var targetExpectation = this.expectations_.shift();
133 if (allUtterances.some(targetExpectation.predicate)) { 133 if (allUtterances.some(targetExpectation.predicate)) {
134 this.idleUtterances_.length = 0; 134 this.idleUtterances_.length = 0;
135 if (targetExpectation.endCallback) 135 if (targetExpectation.endCallback)
136 targetExpectation.endCallback(); 136 targetExpectation.endCallback();
137 var nextExpectation = this.expectations_[0]; 137 var nextExpectation = this.expectations_[0];
138 if (nextExpectation && nextExpectation.startCallback) 138 if (nextExpectation && nextExpectation.startCallback)
139 nextExpectation.startCallback(); 139 nextExpectation.startCallback();
140 } else { 140 } else {
141 this.expectations_.unshift(targetExpectation); 141 this.expectations_.unshift(targetExpectation);
142 } 142 }
143 }, 143 },
144 }; 144 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698