Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / resources / chromeos / chromevox / common / nav_math_description.js
blobe76c6886804da3c2e4f77a9681339cdd8353fe1c
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
3 // found in the LICENSE file.
5 /**
6  * @fileoverview A subclass of the navigation description container
7  * specialising on math objects.
8  *
9  */
12 goog.provide('cvox.NavMathDescription');
14 goog.require('cvox.NavDescription');
17 /**
18  * Class specialising navigation descriptions for mathematics.
19  * @param {{context: (undefined|string),
20  *          text: (string),
21  *          userValue: (undefined|string),
22  *          annotation: (undefined|string),
23  *          earcons: (undefined|Array<cvox.Earcon>),
24  *          personality: (undefined|Object),
25  *          hint: (undefined|string),
26  *          category: (undefined|string),
27  *          domain: (undefined|string),
28  *          style: (undefined|string)}} kwargs The arguments for
29  * the specialised math navigationdescription. See arguments of nav
30  * description plus the following:
31  * domain Domain for translation.
32  * style Style for translation.
33  * @constructor
34  * @extends {cvox.NavDescription}
35  */
36 cvox.NavMathDescription = function(kwargs) {
37   goog.base(this, kwargs);
39   var newPersonality = this.personality ? this.personality : {};
40   var mathDescr = new Object();
42   mathDescr['domain'] = kwargs.domain ? kwargs.domain : '';
43   // TODO (sorge) Collate and document styles in an enum structure.
44   mathDescr['style'] = kwargs.style ? kwargs.style : '';
45   newPersonality['math'] = mathDescr;
46   this.personality = newPersonality;
48 goog.inherits(cvox.NavMathDescription, cvox.NavDescription);