11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright (c) 2014 The Chromium Authors. All rights reserved. 21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be 31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file. 41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccicr.define('hotword.constants', function() { 61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci'use strict'; 71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** 91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Hotword data shared module extension's ID. 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @const {string} 111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivar SHARED_MODULE_ID = 'lccekmodgklaepjeofjdjpbminllajkg'; 131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** 151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Path to shared module data. 161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @const {string} 171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivar SHARED_MODULE_ROOT = '_modules/' + SHARED_MODULE_ID; 191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** 211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Time to wait for expected messages, in milliseconds. 221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @enum {number} 231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivar TimeoutMs = { 251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci SHORT: 200, 261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci NORMAL: 500, 271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci LONG: 2000 281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * The URL of the files used by the plugin. 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @enum {string} 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivar File = { 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci RECOGNIZER_CONFIG: 'hotword.data', 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Errors emitted by the NaClManager. 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @enum {string} 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivar Error = { 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci NACL_CRASH: 'nacl_crash', 441320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TIMEOUT: 'timeout', 451320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 461320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 471320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** 481320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Event types supported by NaClManager. 491320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @enum {string} 501320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 511320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivar Event = { 521320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci READY: 'ready', 531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TRIGGER: 'trigger', 541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci ERROR: 'error', 551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** 581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Messages for communicating with the NaCl recognizer plugin. These must match 591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * constants in <google3>/hotword_plugin.c 601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @enum {string} 611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivar NaClPlugin = { 631320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci RESTART: 'r', 641320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci SAMPLE_RATE_PREFIX: 'h', 651320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MODEL_PREFIX: 'm', 661320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci STOP: 's', 671320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci REQUEST_MODEL: 'model', 681320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MODEL_LOADED: 'model_loaded', 691320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci READY_FOR_AUDIO: 'audio', 701320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci STOPPED: 'stopped', 711320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci HOTWORD_DETECTED: 'hotword', 721320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci MS_CONFIGURED: 'ms_configured' 731320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 741320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 751320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** 761320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * Source of a hotwording session request. 771320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @enum {string} 781320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 791320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivar SessionSource = { 801320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci LAUNCHER: 'launcher' 811320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 821320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 831320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci/** 841320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * The browser UI language. 851320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci * @const {string} 861320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci */ 871320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivar UI_LANGUAGE = (chrome.i18n && chrome.i18n.getUILanguage) ? 881320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci chrome.i18n.getUILanguage() : ''; 891320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 901320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccireturn { 911320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci SHARED_MODULE_ID: SHARED_MODULE_ID, 921320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci SHARED_MODULE_ROOT: SHARED_MODULE_ROOT, 931320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci TimeoutMs: TimeoutMs, 941320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci File: File, 951320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci Error: Error, 961320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci Event: Event, 971320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci NaClPlugin: NaClPlugin, 981320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci SessionSource: SessionSource, 991320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci UI_LANGUAGE: UI_LANGUAGE 1001320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}; 1011320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 1021320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}); 103