| Index: chrome/browser/resources/hotword/manager.js
|
| diff --git a/chrome/browser/resources/hotword/manager.js b/chrome/browser/resources/hotword/manager.js
|
| index 7315bbe7af58cc5aa2728dc62a6b466cc1e13e84..43a7bb9e976f7b09b0bb783ed892182f64ea8c0d 100644
|
| --- a/chrome/browser/resources/hotword/manager.js
|
| +++ b/chrome/browser/resources/hotword/manager.js
|
| @@ -2,14 +2,51 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -'use strict';
|
| +(function() {
|
| + 'use strict';
|
|
|
| -/**
|
| - * @fileoverview This extension provides hotword triggering capabilites to
|
| - * Chrome.
|
| - *
|
| - * This extension contains all the JavaScript for loading and managing the
|
| - * hotword detector. The hotword detector and language model data will be
|
| - * provided by a shared module loaded from the web store.
|
| - */
|
| + /**
|
| + * @fileoverview This extension provides hotword triggering capabilites to
|
| + * Chrome.
|
| + *
|
| + * This extension contains all the JavaScript for loading and managing the
|
| + * hotword detector. The hotword detector and language model data will be
|
| + * provided by a shared module loaded from the web store.
|
| + *
|
| + * IMPORTANT! Whenever adding new events, the extension version number MUST be
|
| + * incremented.
|
| + */
|
|
|
| + // Hotwording state.
|
| + var stateManager = new hotword.StateManager();
|
| +
|
| + // Detect Chrome startup and make sure we get a chance to run.
|
| + chrome.runtime.onStartup.addListener(function() {
|
| + stateManager.updateStatus();
|
| + });
|
| +
|
| + // Detect when hotword settings have changed.
|
| + chrome.hotwordPrivate.onEnabledChanged.addListener(function() {
|
| + stateManager.updateStatus();
|
| + });
|
| +
|
| + // Detect when the shared module containing the NaCL module and language model
|
| + // is installed.
|
| + chrome.management.onInstalled.addListener(function(info) {
|
| + if (info.id == hotword.constants.SHARED_MODULE_ID)
|
| + chrome.runtime.reload();
|
| + });
|
| +
|
| + // Detect when a session has requested to be started and stopped.
|
| + chrome.hotwordPrivate.onHotwordSessionRequested.addListener(function() {
|
| + // TODO(amistry): This event should change state depending on whether the
|
| + // user has enabled always-on hotwording. But for now, always signal the
|
| + // start of a hotwording session. This allows this extension to work with
|
| + // the app launcher in the current state.
|
| + chrome.hotwordPrivate.setHotwordSessionState(true, function() {});
|
| + });
|
| +
|
| + chrome.hotwordPrivate.onHotwordSessionStopped.addListener(function() {
|
| + chrome.hotwordPrivate.setHotwordSessionState(false, function() {});
|
| + });
|
| +}());
|
|
|