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

Side by Side Diff: ui/webui/resources/js/load_time_data.js

Issue 2597013002: Run clang-format on ui/webui/resources (Closed)
Patch Set: remove cr_shared_menu.js Created 3 years, 12 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 /** 5 /**
6 * @fileoverview This file defines a singleton which provides access to all data 6 * @fileoverview This file defines a singleton which provides access to all data
7 * that is available as soon as the page's resources are loaded (before DOM 7 * that is available as soon as the page's resources are loaded (before DOM
8 * content has finished loading). This data includes both localized strings and 8 * content has finished loading). This data includes both localized strings and
9 * any data that is important to have ready from a very early stage (e.g. things 9 * any data that is important to have ready from a very early stage (e.g. things
10 * that must be displayed right away). 10 * that must be displayed right away).
11 */ 11 */
12 12
13 /** @type {!LoadTimeData} */ var loadTimeData; 13 /** @type {!LoadTimeData} */ var loadTimeData;
14 14
15 // Expose this type globally as a temporary work around until 15 // Expose this type globally as a temporary work around until
16 // https://github.com/google/closure-compiler/issues/544 is fixed. 16 // https://github.com/google/closure-compiler/issues/544 is fixed.
17 /** @constructor */ 17 /** @constructor */
18 function LoadTimeData() {} 18 function LoadTimeData(){}
19 19
20 (function() { 20 (function() {
21 'use strict'; 21 'use strict';
22 22
23 LoadTimeData.prototype = { 23 LoadTimeData.prototype = {
24 /** 24 /**
25 * Sets the backing object. 25 * Sets the backing object.
26 * 26 *
27 * Note that there is no getter for |data_| to discourage abuse of the form: 27 * Note that there is no getter for |data_| to discourage abuse of the form:
28 * 28 *
29 * var value = loadTimeData.data()['key']; 29 * var value = loadTimeData.data()['key'];
30 * 30 *
31 * @param {Object} value The de-serialized page data. 31 * @param {Object} value The de-serialized page data.
32 */ 32 */
33 set data(value) { 33 set data(value) {
34 expect(!this.data_, 'Re-setting data.'); 34 expect(!this.data_, 'Re-setting data.');
35 this.data_ = value; 35 this.data_ = value;
36 }, 36 },
37 37
38 /** 38 /**
39 * Returns a JsEvalContext for |data_|. 39 * Returns a JsEvalContext for |data_|.
40 * @returns {JsEvalContext} 40 * @returns {JsEvalContext}
41 */ 41 */
42 createJsEvalContext: function() { 42 createJsEvalContext: function() { return new JsEvalContext(this.data_); },
43 return new JsEvalContext(this.data_);
44 },
45 43
46 /** 44 /**
47 * @param {string} id An ID of a value that might exist. 45 * @param {string} id An ID of a value that might exist.
48 * @return {boolean} True if |id| is a key in the dictionary. 46 * @return {boolean} True if |id| is a key in the dictionary.
49 */ 47 */
50 valueExists: function(id) { 48 valueExists: function(id) { return id in this.data_; },
51 return id in this.data_;
52 },
53 49
54 /** 50 /**
55 * Fetches a value, expecting that it exists. 51 * Fetches a value, expecting that it exists.
56 * @param {string} id The key that identifies the desired value. 52 * @param {string} id The key that identifies the desired value.
57 * @return {*} The corresponding value. 53 * @return {*} The corresponding value.
58 */ 54 */
59 getValue: function(id) { 55 getValue: function(id) {
60 expect(this.data_, 'No data. Did you remember to include strings.js?'); 56 expect(this.data_, 'No data. Did you remember to include strings.js?');
61 var value = this.data_[id]; 57 var value = this.data_[id];
62 expect(typeof value != 'undefined', 'Could not find value for ' + id); 58 expect(typeof value != 'undefined', 'Could not find value for ' + id);
(...skipping 18 matching lines...) Expand all
81 * @param {...(string|number)} var_args The extra values to include in the 77 * @param {...(string|number)} var_args The extra values to include in the
82 * formatted output. 78 * formatted output.
83 * @return {string} The formatted string. 79 * @return {string} The formatted string.
84 */ 80 */
85 getStringF: function(id, var_args) { 81 getStringF: function(id, var_args) {
86 var value = this.getString(id); 82 var value = this.getString(id);
87 if (!value) 83 if (!value)
88 return ''; 84 return '';
89 85
90 var varArgs = arguments; 86 var varArgs = arguments;
91 return value.replace(/\$[$1-9]/g, function(m) { 87 return value.replace(
92 return m == '$$' ? '$' : varArgs[m[1]]; 88 /\$[$1-9]/g, function(m) { return m == '$$' ? '$' : varArgs[m[1]]; });
93 });
94 }, 89 },
95 90
96 /** 91 /**
97 * As above, but also makes sure that the value is a boolean. 92 * As above, but also makes sure that the value is a boolean.
98 * @param {string} id The key that identifies the desired boolean. 93 * @param {string} id The key that identifies the desired boolean.
99 * @return {boolean} The corresponding boolean value. 94 * @return {boolean} The corresponding boolean value.
100 */ 95 */
101 getBoolean: function(id) { 96 getBoolean: function(id) {
102 var value = this.getValue(id); 97 var value = this.getValue(id);
103 expectIsType(id, value, 'boolean'); 98 expectIsType(id, value, 'boolean');
(...skipping 10 matching lines...) Expand all
114 expectIsType(id, value, 'number'); 109 expectIsType(id, value, 'number');
115 expect(value == Math.floor(value), 'Number isn\'t integer: ' + value); 110 expect(value == Math.floor(value), 'Number isn\'t integer: ' + value);
116 return /** @type {number} */ (value); 111 return /** @type {number} */ (value);
117 }, 112 },
118 113
119 /** 114 /**
120 * Override values in loadTimeData with the values found in |replacements|. 115 * Override values in loadTimeData with the values found in |replacements|.
121 * @param {Object} replacements The dictionary object of keys to replace. 116 * @param {Object} replacements The dictionary object of keys to replace.
122 */ 117 */
123 overrideValues: function(replacements) { 118 overrideValues: function(replacements) {
124 expect(typeof replacements == 'object', 119 expect(
125 'Replacements must be a dictionary object.'); 120 typeof replacements == 'object',
121 'Replacements must be a dictionary object.');
126 for (var key in replacements) { 122 for (var key in replacements) {
127 this.data_[key] = replacements[key]; 123 this.data_[key] = replacements[key];
128 } 124 }
129 } 125 }
130 }; 126 };
131 127
132 /** 128 /**
133 * Checks condition, displays error message if expectation fails. 129 * Checks condition, displays error message if expectation fails.
134 * @param {*} condition The condition to check for truthiness. 130 * @param {*} condition The condition to check for truthiness.
135 * @param {string} message The message to display if the check fails. 131 * @param {string} message The message to display if the check fails.
136 */ 132 */
137 function expect(condition, message) { 133 function expect(condition, message) {
138 if (!condition) { 134 if (!condition) {
139 console.error('Unexpected condition on ' + document.location.href + ': ' + 135 console.error(
140 message); 136 'Unexpected condition on ' + document.location.href + ': ' + message);
141 } 137 }
142 } 138 }
143 139
144 /** 140 /**
145 * Checks that the given value has the given type. 141 * Checks that the given value has the given type.
146 * @param {string} id The id of the value (only used for error message). 142 * @param {string} id The id of the value (only used for error message).
147 * @param {*} value The value to check the type on. 143 * @param {*} value The value to check the type on.
148 * @param {string} type The type we expect |value| to be. 144 * @param {string} type The type we expect |value| to be.
149 */ 145 */
150 function expectIsType(id, value, type) { 146 function expectIsType(id, value, type) {
151 expect(typeof value == type, '[' + value + '] (' + id + 147 expect(
152 ') is not a ' + type); 148 typeof value == type, '[' + value + '] (' + id + ') is not a ' + type);
153 } 149 }
154 150
155 expect(!loadTimeData, 'should only include this file once'); 151 expect(!loadTimeData, 'should only include this file once');
156 loadTimeData = new LoadTimeData; 152 loadTimeData = new LoadTimeData;
157 })(); 153 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698