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