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

Side by Side Diff: remoting/webapp/crd/js/typecheck.js

Issue 888323002: Improve HRD first run experience (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ready for Checkin Created 5 years, 10 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
« no previous file with comments | « remoting/webapp/crd/js/remoting.js ('k') | remoting/webapp/js_proto/chrome_proto.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 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 * Get the |key| attribute in the given |dict| and verify that it is an 6 * Get the |key| attribute in the given |dict| and verify that it is an
7 * array value. 7 * array value.
8 * 8 *
9 * If the attribute is not an array, then an exception will be thrown unless 9 * If the attribute is not an array, then an exception will be thrown unless
10 * a default value is specified in |opt_default|. 10 * a default value is specified in |opt_default|.
(...skipping 23 matching lines...) Expand all
34 * If the attribute is not a boolean, then an exception will be thrown unless 34 * If the attribute is not a boolean, then an exception will be thrown unless
35 * a default value is specified in |opt_default|. 35 * a default value is specified in |opt_default|.
36 * 36 *
37 * @param {Object.<string,*>} dict The dictionary containing the |key| 37 * @param {Object.<string,*>} dict The dictionary containing the |key|
38 * @param {string} key The key to typecheck in the |dict|. 38 * @param {string} key The key to typecheck in the |dict|.
39 * @param {boolean=} opt_default The value to return if the key is not a bool. 39 * @param {boolean=} opt_default The value to return if the key is not a bool.
40 * @return {boolean} The |key| attribute value as a boolean. 40 * @return {boolean} The |key| attribute value as a boolean.
41 */ 41 */
42 function getBooleanAttr(dict, key, opt_default) { 42 function getBooleanAttr(dict, key, opt_default) {
43 var value = /** @type {boolean} */ (dict[key]); 43 var value = /** @type {boolean} */ (dict[key]);
44 if (typeof value != 'boolean') { 44 if (value == 'true' || value == 'false') {
45 return (value == 'true');
46 }
47 if (typeof value !== 'boolean') {
45 if (opt_default === undefined) { 48 if (opt_default === undefined) {
46 throw 'Invalid data type for ' + key + 49 throw 'Invalid data type for ' + key +
47 ' (expected: boolean, actual: ' + typeof value + ')'; 50 ' (expected: boolean, actual: ' + typeof value + ')';
48 } else { 51 } else {
49 return opt_default; 52 return opt_default;
50 } 53 }
51 } 54 }
52 return value; 55 return value;
53 } 56 }
54 57
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 * @param {string} jsonString The JSON string to parse. 139 * @param {string} jsonString The JSON string to parse.
137 * @return {Object} The JSON object created from the |jsonString|. 140 * @return {Object} The JSON object created from the |jsonString|.
138 */ 141 */
139 function getJsonObjectFromString(jsonString) { 142 function getJsonObjectFromString(jsonString) {
140 var value = base.jsonParseSafe(jsonString); 143 var value = base.jsonParseSafe(jsonString);
141 if (typeof value != 'object') { 144 if (typeof value != 'object') {
142 throw 'Invalid data type (expected: Object, actual: ' + typeof value + ')'; 145 throw 'Invalid data type (expected: Object, actual: ' + typeof value + ')';
143 } 146 }
144 return value; 147 return value;
145 } 148 }
OLDNEW
« no previous file with comments | « remoting/webapp/crd/js/remoting.js ('k') | remoting/webapp/js_proto/chrome_proto.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698