OLD | NEW |
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 * The global object. | 6 * The global object. |
7 * @type {!Object} | 7 * @type {!Object} |
8 * @const | 8 * @const |
9 */ | 9 */ |
10 var global = this; | 10 var global = this; |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 * Helper function for defineProperty that returns the getter to use for the | 102 * Helper function for defineProperty that returns the getter to use for the |
103 * property. | 103 * property. |
104 * @param {string} name The name of the property. | 104 * @param {string} name The name of the property. |
105 * @param {PropertyKind} kind The kind of the property. | 105 * @param {PropertyKind} kind The kind of the property. |
106 * @return {function():*} The getter for the property. | 106 * @return {function():*} The getter for the property. |
107 */ | 107 */ |
108 function getGetter(name, kind) { | 108 function getGetter(name, kind) { |
109 switch (kind) { | 109 switch (kind) { |
110 case PropertyKind.JS: | 110 case PropertyKind.JS: |
111 var privateName = name + '_'; | 111 var privateName = name + '_'; |
112 return function() { return this[privateName]; }; | 112 return function() { |
| 113 return this[privateName]; |
| 114 }; |
113 case PropertyKind.ATTR: | 115 case PropertyKind.ATTR: |
114 var attributeName = getAttributeName(name); | 116 var attributeName = getAttributeName(name); |
115 return function() { return this.getAttribute(attributeName); }; | 117 return function() { |
| 118 return this.getAttribute(attributeName); |
| 119 }; |
116 case PropertyKind.BOOL_ATTR: | 120 case PropertyKind.BOOL_ATTR: |
117 var attributeName = getAttributeName(name); | 121 var attributeName = getAttributeName(name); |
118 return function() { return this.hasAttribute(attributeName); }; | 122 return function() { |
| 123 return this.hasAttribute(attributeName); |
| 124 }; |
119 } | 125 } |
120 | 126 |
121 // TODO(dbeam): replace with assertNotReached() in assert.js when I can coax | 127 // TODO(dbeam): replace with assertNotReached() in assert.js when I can coax |
122 // the browser/unit tests to preprocess this file through grit. | 128 // the browser/unit tests to preprocess this file through grit. |
123 throw 'not reached'; | 129 throw 'not reached'; |
124 } | 130 } |
125 | 131 |
126 /** | 132 /** |
127 * Helper function for defineProperty that returns the setter of the right | 133 * Helper function for defineProperty that returns the setter of the right |
128 * kind. | 134 * kind. |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 } | 213 } |
208 | 214 |
209 /** | 215 /** |
210 * Counter for use with createUid | 216 * Counter for use with createUid |
211 */ | 217 */ |
212 var uidCounter = 1; | 218 var uidCounter = 1; |
213 | 219 |
214 /** | 220 /** |
215 * @return {number} A new unique ID. | 221 * @return {number} A new unique ID. |
216 */ | 222 */ |
217 function createUid() { return uidCounter++; } | 223 function createUid() { |
| 224 return uidCounter++; |
| 225 } |
218 | 226 |
219 /** | 227 /** |
220 * Returns a unique ID for the item. This mutates the item so it needs to be | 228 * Returns a unique ID for the item. This mutates the item so it needs to be |
221 * an object | 229 * an object |
222 * @param {!Object} item The item to get the unique ID for. | 230 * @param {!Object} item The item to get the unique ID for. |
223 * @return {number} The unique ID for the item. | 231 * @return {number} The unique ID for the item. |
224 */ | 232 */ |
225 function getUid(item) { | 233 function getUid(item) { |
226 if (item.hasOwnProperty('uid')) | 234 if (item.hasOwnProperty('uid')) |
227 return item.uid; | 235 return item.uid; |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 makePublic: makePublic, | 441 makePublic: makePublic, |
434 PropertyKind: PropertyKind, | 442 PropertyKind: PropertyKind, |
435 | 443 |
436 // C++ <-> JS communication related methods. | 444 // C++ <-> JS communication related methods. |
437 addWebUIListener: addWebUIListener, | 445 addWebUIListener: addWebUIListener, |
438 removeWebUIListener: removeWebUIListener, | 446 removeWebUIListener: removeWebUIListener, |
439 sendWithPromise: sendWithPromise, | 447 sendWithPromise: sendWithPromise, |
440 webUIListenerCallback: webUIListenerCallback, | 448 webUIListenerCallback: webUIListenerCallback, |
441 webUIResponse: webUIResponse, | 449 webUIResponse: webUIResponse, |
442 | 450 |
443 get doc() { return document; }, | 451 get doc() { |
| 452 return document; |
| 453 }, |
444 | 454 |
445 /** Whether we are using a Mac or not. */ | 455 /** Whether we are using a Mac or not. */ |
446 get isMac() { return /Mac/.test(navigator.platform); }, | 456 get isMac() { |
| 457 return /Mac/.test(navigator.platform); |
| 458 }, |
447 | 459 |
448 /** Whether this is on the Windows platform or not. */ | 460 /** Whether this is on the Windows platform or not. */ |
449 get isWindows() { return /Win/.test(navigator.platform); }, | 461 get isWindows() { |
| 462 return /Win/.test(navigator.platform); |
| 463 }, |
450 | 464 |
451 /** Whether this is on chromeOS or not. */ | 465 /** Whether this is on chromeOS or not. */ |
452 get isChromeOS() { return /CrOS/.test(navigator.userAgent); }, | 466 get isChromeOS() { |
| 467 return /CrOS/.test(navigator.userAgent); |
| 468 }, |
453 | 469 |
454 /** Whether this is on vanilla Linux (not chromeOS). */ | 470 /** Whether this is on vanilla Linux (not chromeOS). */ |
455 get isLinux() { return /Linux/.test(navigator.userAgent); }, | 471 get isLinux() { |
| 472 return /Linux/.test(navigator.userAgent); |
| 473 }, |
456 | 474 |
457 /** Whether this is on Android. */ | 475 /** Whether this is on Android. */ |
458 get isAndroid() { return /Android/.test(navigator.userAgent); }, | 476 get isAndroid() { |
| 477 return /Android/.test(navigator.userAgent); |
| 478 }, |
459 | 479 |
460 /** Whether this is on iOS. */ | 480 /** Whether this is on iOS. */ |
461 get isIOS() { return /iPad|iPhone|iPod/.test(navigator.platform); } | 481 get isIOS() { |
| 482 return /iPad|iPhone|iPod/.test(navigator.platform); |
| 483 } |
462 }; | 484 }; |
463 }(); | 485 }(); |
OLD | NEW |