Index: chrome/browser/resources/app_list/plugin_manager.js |
diff --git a/chrome/browser/resources/app_list/plugin_manager.js b/chrome/browser/resources/app_list/plugin_manager.js |
index eeb3823b77315bfef06836cee6ebcb7767f355a6..b6407b6557daf66f59375d60fdf62e2da9124ad1 100644 |
--- a/chrome/browser/resources/app_list/plugin_manager.js |
+++ b/chrome/browser/resources/app_list/plugin_manager.js |
@@ -16,9 +16,8 @@ cr.define('speech', function() { |
var PluginState = { |
UNINITIALIZED: 0, |
LOADED: 1, |
- SAMPLING_RATE_READY: 2, |
- READY: 3, |
- RECOGNIZING: 4 |
+ READY: 2, |
+ RECOGNIZING: 3 |
}; |
/** |
@@ -35,7 +34,7 @@ cr.define('speech', function() { |
/** |
* The regexp pattern of the hotword recognition result. |
*/ |
- var recognitionPattern = /^HotwordFiredEvent:/; |
+ var recognitionPattern = /^(HotwordFiredEvent:|hotword)/; |
/** |
* @constructor |
@@ -67,17 +66,13 @@ cr.define('speech', function() { |
* @private |
*/ |
PluginManager.prototype.onMessage_ = function(messageEvent) { |
- if (this.state == PluginState.LOADED) { |
- if (messageEvent.data == 'stopped') |
- this.state = PluginState.SAMPLING_RATE_READY; |
- return; |
- } |
- |
if (messageEvent.data == 'audio') { |
- if (this.state < PluginState.READY) |
- this.onReady_(this); |
+ var wasNotReady = this.state < PluginState.READY; |
this.state = PluginState.RECOGNIZING; |
- } else if (messageEvent.data == 'stopped') { |
+ if (wasNotReady) |
+ this.onReady_(this); |
+ } else if (messageEvent.data == 'stopped' && |
+ this.state == PluginState.RECOGNIZING) { |
this.state = PluginState.READY; |
} else if (recognitionPattern.exec(messageEvent.data)) { |
this.onRecognized_(); |