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

Side by Side Diff: chrome/browser/resources/hotword/page_audio_manager.js

Issue 658393003: Fix some straight-forward closure compiler errors. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove the @class annotation. Created 6 years, 2 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 cr.define('hotword', function() { 5 cr.define('hotword', function() {
6 'use strict'; 6 'use strict';
7 7
8 /** 8 /**
9 * Class used to manage the interaction between hotwording and the 9 * Class used to manage the interaction between hotwording and the
10 * NTP/google.com. Injects a content script to interact with NTP/google.com 10 * NTP/google.com. Injects a content script to interact with NTP/google.com
11 * and updates the global hotwording state based on interaction with those 11 * and updates the global hotwording state based on interaction with those
12 * pages. 12 * pages.
13 * @param {!hotword.StateManager} stateManager 13 * @param {!hotword.StateManager} stateManager
14 * @constructor 14 * @constructor
15 * @struct
16 */ 15 */
17 function PageAudioManager(stateManager) { 16 function PageAudioManager(stateManager) {
18 /** 17 /**
19 * Manager of global hotwording state. 18 * Manager of global hotwording state.
20 * @private {!hotword.StateManager} 19 * @private {!hotword.StateManager}
21 */ 20 */
22 this.stateManager_ = stateManager; 21 this.stateManager_ = stateManager;
23 22
24 /** 23 /**
25 * Mapping between tab ID and port that is connected from the injected 24 * Mapping between tab ID and port that is connected from the injected
26 * content script. 25 * content script.
27 * @private {!Object.<number, chrome.runtime.Port>} 26 * @private {!Object.<number, Port>}
28 */ 27 */
29 this.portMap_ = {}; 28 this.portMap_ = {};
30 29
31 /** 30 /**
32 * Chrome event listeners. Saved so that they can be de-registered when 31 * Chrome event listeners. Saved so that they can be de-registered when
33 * hotwording is disabled. 32 * hotwording is disabled.
34 */ 33 */
35 this.connectListener_ = this.handleConnect_.bind(this); 34 this.connectListener_ = this.handleConnect_.bind(this);
36 this.tabCreatedListener_ = this.handleCreatedTab_.bind(this); 35 this.tabCreatedListener_ = this.handleCreatedTab_.bind(this);
37 this.tabUpdatedListener_ = this.handleUpdatedTab_.bind(this); 36 this.tabUpdatedListener_ = this.handleUpdatedTab_.bind(this);
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 * active tab. 300 * active tab.
302 * @private 301 * @private
303 */ 302 */
304 hotwordTriggered_: function() { 303 hotwordTriggered_: function() {
305 this.findCurrentTab_(function(tab) { 304 this.findCurrentTab_(function(tab) {
306 if (tab) 305 if (tab)
307 this.sendClient_(CommandToPage.HOTWORD_VOICE_TRIGGER, tab.id); 306 this.sendClient_(CommandToPage.HOTWORD_VOICE_TRIGGER, tab.id);
308 }); 307 });
309 }, 308 },
310 309
311 /* 310 /**
312 * Starts hotwording. 311 * Starts hotwording.
313 * @private 312 * @private
314 */ 313 */
315 startHotwording_: function() { 314 startHotwording_: function() {
316 this.stateManager_.startSession( 315 this.stateManager_.startSession(
317 hotword.constants.SessionSource.NTP, 316 hotword.constants.SessionSource.NTP,
318 function() { 317 function() {
319 this.sendAllClients_(CommandToPage.HOTWORD_STARTED); 318 this.sendAllClients_(CommandToPage.HOTWORD_STARTED);
320 }.bind(this), 319 }.bind(this),
321 this.hotwordTriggered_.bind(this)); 320 this.hotwordTriggered_.bind(this));
322 }, 321 },
323 322
324 /* 323 /**
325 * Starts hotwording if the currently active tab is eligible for hotwording 324 * Starts hotwording if the currently active tab is eligible for hotwording
326 * (i.e. google.com). 325 * (i.e. google.com).
327 * @private 326 * @private
328 */ 327 */
329 startHotwordingIfEligible_: function() { 328 startHotwordingIfEligible_: function() {
330 this.findCurrentTab_(function(tab) { 329 this.findCurrentTab_(function(tab) {
331 if (!tab) { 330 if (!tab) {
332 this.stopHotwording_(); 331 this.stopHotwording_();
333 return; 332 return;
334 } 333 }
335 if (this.isEligibleUrl_(tab.url)) 334 if (this.isEligibleUrl_(tab.url))
336 this.startHotwording_(); 335 this.startHotwording_();
337 }); 336 });
338 }, 337 },
339 338
340 /* 339 /**
341 * Stops hotwording. 340 * Stops hotwording.
342 * @private 341 * @private
343 */ 342 */
344 stopHotwording_: function() { 343 stopHotwording_: function() {
345 this.stateManager_.stopSession(hotword.constants.SessionSource.NTP); 344 this.stateManager_.stopSession(hotword.constants.SessionSource.NTP);
346 this.sendAllClients_(CommandToPage.HOTWORD_ENDED); 345 this.sendAllClients_(CommandToPage.HOTWORD_ENDED);
347 }, 346 },
348 347
349 /* 348 /**
350 * Stops hotwording if the currently active tab is not eligible for 349 * Stops hotwording if the currently active tab is not eligible for
351 * hotwording (i.e. google.com). 350 * hotwording (i.e. google.com).
352 * @private 351 * @private
353 */ 352 */
354 stopHotwordingIfIneligibleTab_: function() { 353 stopHotwordingIfIneligibleTab_: function() {
355 this.findCurrentTab_(function(tab) { 354 this.findCurrentTab_(function(tab) {
356 if (!tab) { 355 if (!tab) {
357 this.stopHotwording_(); 356 this.stopHotwording_();
358 return; 357 return;
359 } 358 }
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 this.stopHotwording_(); 425 this.stopHotwording_();
427 this.disconnectAllClients_(); 426 this.disconnectAllClients_();
428 } 427 }
429 } 428 }
430 }; 429 };
431 430
432 return { 431 return {
433 PageAudioManager: PageAudioManager 432 PageAudioManager: PageAudioManager
434 }; 433 };
435 }); 434 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/hotword/nacl_manager.js ('k') | chrome/browser/resources/hotword/state_manager.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698