OLD | NEW |
---|---|
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 (function() { | 5 (function() { |
6 'use strict'; | 6 'use strict'; |
7 | 7 |
8 /** | 8 /** |
9 * @fileoverview This extension provides hotword triggering capabilites to | 9 * @fileoverview This extension provides hotword triggering capabilites to |
10 * Chrome. | 10 * Chrome. |
11 * | 11 * |
12 * This extension contains all the JavaScript for loading and managing the | 12 * This extension contains all the JavaScript for loading and managing the |
13 * hotword detector. The hotword detector and language model data will be | 13 * hotword detector. The hotword detector and language model data will be |
14 * provided by a shared module loaded from the web store. | 14 * provided by a shared module loaded from the web store. |
15 * | 15 * |
16 * IMPORTANT! Whenever adding new events, the extension version number MUST be | 16 * IMPORTANT! Whenever adding new events, the extension version number MUST be |
17 * incremented. | 17 * incremented. |
18 */ | 18 */ |
19 | 19 |
20 // Hotwording state. | 20 // Hotwording state. |
21 var stateManager = new hotword.StateManager(); | 21 var stateManager = new hotword.StateManager(); |
22 var pageAudioManager = new hotword.PageAudioManager(stateManager); | |
22 | 23 |
23 // Detect Chrome startup and make sure we get a chance to run. | 24 // Detect Chrome startup and make sure we get a chance to run. |
24 chrome.runtime.onStartup.addListener(function() { | 25 chrome.runtime.onStartup.addListener(function() { |
25 stateManager.updateStatus(); | 26 stateManager.updateStatus(); |
26 }); | 27 }); |
27 | 28 |
28 // Detect when hotword settings have changed. | 29 // Detect when hotword settings have changed. |
29 chrome.hotwordPrivate.onEnabledChanged.addListener(function() { | 30 chrome.hotwordPrivate.onEnabledChanged.addListener(function() { |
30 stateManager.updateStatus(); | 31 stateManager.updateStatus(); |
31 }); | 32 }); |
32 | 33 |
33 // Detect when the shared module containing the NaCL module and language model | 34 // Detect when the shared module containing the NaCL module and language model |
34 // is installed. | 35 // is installed. |
35 chrome.management.onInstalled.addListener(function(info) { | 36 chrome.management.onInstalled.addListener(function(info) { |
36 if (info.id == hotword.constants.SHARED_MODULE_ID) | 37 if (info.id == hotword.constants.SHARED_MODULE_ID) |
37 chrome.runtime.reload(); | 38 chrome.runtime.reload(); |
Dan Beam
2014/10/09 22:43:58
revert
| |
38 }); | 39 }); |
39 | 40 |
40 // Detect when a session has requested to be started and stopped. | 41 // Detect when a session has requested to be started and stopped. |
41 chrome.hotwordPrivate.onHotwordSessionRequested.addListener(function() { | 42 chrome.hotwordPrivate.onHotwordSessionRequested.addListener(function() { |
42 // TODO(amistry): This event should change state depending on whether the | 43 // TODO(amistry): This event should change state depending on whether the |
43 // user has enabled always-on hotwording. But for now, always signal the | 44 // user has enabled always-on hotwording. But for now, always signal the |
44 // start of a hotwording session. This allows this extension to work with | 45 // start of a hotwording session. This allows this extension to work with |
45 // the app launcher in the current state. | 46 // the app launcher in the current state. |
46 stateManager.startSession( | 47 stateManager.startSession( |
47 hotword.constants.SessionSource.LAUNCHER, | 48 hotword.constants.SessionSource.LAUNCHER, |
48 function() { | 49 function() { |
49 chrome.hotwordPrivate.setHotwordSessionState(true, function() {}); | 50 chrome.hotwordPrivate.setHotwordSessionState(true, function() {}); |
51 }, | |
52 function() { | |
53 chrome.hotwordPrivate.notifyHotwordRecognition('search', | |
54 function() {}); | |
50 }); | 55 }); |
51 }); | 56 }); |
52 | 57 |
53 chrome.hotwordPrivate.onHotwordSessionStopped.addListener(function() { | 58 chrome.hotwordPrivate.onHotwordSessionStopped.addListener(function() { |
54 stateManager.stopSession(hotword.constants.SessionSource.LAUNCHER); | 59 stateManager.stopSession(hotword.constants.SessionSource.LAUNCHER); |
55 chrome.hotwordPrivate.setHotwordSessionState(false, function() {}); | 60 chrome.hotwordPrivate.setHotwordSessionState(false, function() {}); |
56 }); | 61 }); |
57 }()); | 62 }()); |
OLD | NEW |