1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// found in the LICENSE file. 4cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 5cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 6cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @fileoverview Bridge that sends earcon messages from content scripts or 7cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * other pages to the main background page. 8cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * 9cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 10cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 11cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 12cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.provide('cvox.ChromeEarcons'); 13cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 14cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.require('cvox.AbstractEarcons'); 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.require('cvox.ExtensionBridge'); 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.require('cvox.HostFactory'); 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @constructor 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @extends {cvox.AbstractEarcons} 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 23cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.ChromeEarcons = function() { 24cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) goog.base(this); 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)goog.inherits(cvox.ChromeEarcons, cvox.AbstractEarcons); 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 28cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 29cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 30cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @override 31cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 32cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.ChromeEarcons.prototype.playEarcon = function(earcon) { 33cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) goog.base(this, 'playEarcon', earcon); 34cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) if (!this.enabled) { 35cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return; 36cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 37cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 38cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) cvox.ExtensionBridge.send({ 39cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'target': 'EARCON', 40cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'action': 'play', 41cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'earcon': earcon}); 42cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 43cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 44cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 45cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)/** 46cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) * @override 47cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) */ 48cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.ChromeEarcons.prototype.toggle = function() { 49cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) goog.base(this, 'toggle'); 50cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) cvox.ChromeVox.host.sendToBackgroundPage({ 51cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'target': 'Prefs', 52cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'action': 'setPref', 53cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'pref': 'earcons', 54cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'value': this.enabled 55cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) }); 56cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) if (!this.enabled) { 57cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) cvox.ChromeVox.host.sendToBackgroundPage({ 58cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'target': 'Prefs', 59cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'action': 'setPref', 60cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'pref': 'useVerboseMode', 61cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 'value': true 62cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) }); 63cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) } 64cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) return this.enabled; 65cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)}; 66cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 67cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 68cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)cvox.HostFactory.earconsConstructor = cvox.ChromeEarcons; 69