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

Side by Side Diff: remoting/webapp/base/js/base.js

Issue 917093003: Shorten Closure template notation from Array.<*> to Array<*>. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove cvox 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/base/js/auth_dialog.js ('k') | remoting/webapp/base/js/ipc.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 * @fileoverview 6 * @fileoverview
7 * A module that contains basic utility components and methods for the 7 * A module that contains basic utility components and methods for the
8 * chromoting project 8 * chromoting project
9 * 9 *
10 */ 10 */
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 base.Disposable = function() {}; 61 base.Disposable = function() {};
62 base.Disposable.prototype.dispose = function() {}; 62 base.Disposable.prototype.dispose = function() {};
63 63
64 /** 64 /**
65 * @constructor 65 * @constructor
66 * @param {...base.Disposable} var_args 66 * @param {...base.Disposable} var_args
67 * @implements {base.Disposable} 67 * @implements {base.Disposable}
68 */ 68 */
69 base.Disposables = function(var_args) { 69 base.Disposables = function(var_args) {
70 /** 70 /**
71 * @type {Array.<base.Disposable>} 71 * @type {Array<base.Disposable>}
72 * @private 72 * @private
73 */ 73 */
74 this.disposables_ = Array.prototype.slice.call(arguments, 0); 74 this.disposables_ = Array.prototype.slice.call(arguments, 0);
75 }; 75 };
76 76
77 base.Disposables.prototype.dispose = function() { 77 base.Disposables.prototype.dispose = function() {
78 for (var i = 0; i < this.disposables_.length; i++) { 78 for (var i = 0; i < this.disposables_.length; i++) {
79 this.disposables_[i].dispose(); 79 this.disposables_[i].dispose();
80 } 80 }
81 this.disposables_ = null; 81 this.disposables_ = null;
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 base.isAppsV2_ = 158 base.isAppsV2_ =
159 Boolean(manifest && manifest.app && manifest.app.background); 159 Boolean(manifest && manifest.app && manifest.app.background);
160 } 160 }
161 return base.isAppsV2_; 161 return base.isAppsV2_;
162 }; 162 };
163 163
164 /** 164 /**
165 * Joins the |url| with optional query parameters defined in |opt_params| 165 * Joins the |url| with optional query parameters defined in |opt_params|
166 * See unit test for usage. 166 * See unit test for usage.
167 * @param {string} url 167 * @param {string} url
168 * @param {Object.<string>=} opt_params 168 * @param {Object<string>=} opt_params
169 * @return {string} 169 * @return {string}
170 */ 170 */
171 base.urlJoin = function(url, opt_params) { 171 base.urlJoin = function(url, opt_params) {
172 if (!opt_params) { 172 if (!opt_params) {
173 return url; 173 return url;
174 } 174 }
175 var queryParameters = []; 175 var queryParameters = [];
176 for (var key in opt_params) { 176 for (var key in opt_params) {
177 queryParameters.push(encodeURIComponent(key) + "=" + 177 queryParameters.push(encodeURIComponent(key) + "=" +
178 encodeURIComponent(opt_params[key])); 178 encodeURIComponent(opt_params[key]));
179 } 179 }
180 return url + '?' + queryParameters.join('&'); 180 return url + '?' + queryParameters.join('&');
181 }; 181 };
182 182
183 183
184 /** 184 /**
185 * @return {Object.<string, string>} The URL parameters. 185 * @return {Object<string, string>} The URL parameters.
186 */ 186 */
187 base.getUrlParameters = function() { 187 base.getUrlParameters = function() {
188 var result = {}; 188 var result = {};
189 var parts = window.location.search.substring(1).split('&'); 189 var parts = window.location.search.substring(1).split('&');
190 for (var i = 0; i < parts.length; i++) { 190 for (var i = 0; i < parts.length; i++) {
191 var pair = parts[i].split('='); 191 var pair = parts[i].split('=');
192 result[pair[0]] = decodeURIComponent(pair[1]); 192 result[pair[0]] = decodeURIComponent(pair[1]);
193 } 193 }
194 return result; 194 return result;
195 }; 195 };
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 * var smokeDetector = new SmokeDetector(); 357 * var smokeDetector = new SmokeDetector();
358 * smokeDetector.addEventListener('alarm', listenerObj.someCallback) 358 * smokeDetector.addEventListener('alarm', listenerObj.someCallback)
359 * 359 *
360 */ 360 */
361 361
362 /** 362 /**
363 * Helper interface for the EventSource. 363 * Helper interface for the EventSource.
364 * @constructor 364 * @constructor
365 */ 365 */
366 base.EventEntry = function() { 366 base.EventEntry = function() {
367 /** @type {Array.<function():void>} */ 367 /** @type {Array<function():void>} */
368 this.listeners = []; 368 this.listeners = [];
369 }; 369 };
370 370
371 371
372 /** @interface */ 372 /** @interface */
373 base.EventSource = function() {}; 373 base.EventSource = function() {};
374 374
375 /** 375 /**
376 * Add a listener |fn| to listen to |type| event. 376 * Add a listener |fn| to listen to |type| event.
377 * @param {string} type 377 * @param {string} type
378 * @param {function(?=):void} fn 378 * @param {function(?=):void} fn
379 */ 379 */
380 base.EventSource.prototype.addEventListener = function(type, fn) {}; 380 base.EventSource.prototype.addEventListener = function(type, fn) {};
381 381
382 /** 382 /**
383 * Remove a listener |fn| to listen to |type| event. 383 * Remove a listener |fn| to listen to |type| event.
384 * @param {string} type 384 * @param {string} type
385 * @param {function(?=):void} fn 385 * @param {function(?=):void} fn
386 */ 386 */
387 base.EventSource.prototype.removeEventListener = function(type, fn) {}; 387 base.EventSource.prototype.removeEventListener = function(type, fn) {};
388 388
389 389
390 /** 390 /**
391 * @constructor 391 * @constructor
392 * Since this class is implemented as a mixin, the constructor may not be 392 * Since this class is implemented as a mixin, the constructor may not be
393 * called. All initializations should be done in defineEvents. 393 * called. All initializations should be done in defineEvents.
394 * @implements {base.EventSource} 394 * @implements {base.EventSource}
395 */ 395 */
396 base.EventSourceImpl = function() { 396 base.EventSourceImpl = function() {
397 /** @type {Object.<string, base.EventEntry>} */ 397 /** @type {Object<string, base.EventEntry>} */
398 this.eventMap_; 398 this.eventMap_;
399 }; 399 };
400 400
401 /** 401 /**
402 * @param {base.EventSourceImpl} obj 402 * @param {base.EventSourceImpl} obj
403 * @param {string} type 403 * @param {string} type
404 */ 404 */
405 base.EventSourceImpl.isDefined = function(obj, type) { 405 base.EventSourceImpl.isDefined = function(obj, type) {
406 base.debug.assert(Boolean(obj.eventMap_), 406 base.debug.assert(Boolean(obj.eventMap_),
407 "The object doesn't support events"); 407 "The object doesn't support events");
408 base.debug.assert(Boolean(obj.eventMap_[type]), 'Event <' + type + 408 base.debug.assert(Boolean(obj.eventMap_[type]), 'Event <' + type +
409 '> is undefined for the current object'); 409 '> is undefined for the current object');
410 }; 410 };
411 411
412 base.EventSourceImpl.prototype = { 412 base.EventSourceImpl.prototype = {
413 /** 413 /**
414 * Define |events| for this event source. 414 * Define |events| for this event source.
415 * @param {Array.<string>} events 415 * @param {Array<string>} events
416 */ 416 */
417 defineEvents: function(events) { 417 defineEvents: function(events) {
418 base.debug.assert(!Boolean(this.eventMap_), 418 base.debug.assert(!Boolean(this.eventMap_),
419 'defineEvents can only be called once.'); 419 'defineEvents can only be called once.');
420 this.eventMap_ = {}; 420 this.eventMap_ = {};
421 events.forEach( 421 events.forEach(
422 /** 422 /**
423 * @this {base.EventSourceImpl} 423 * @this {base.EventSourceImpl}
424 * @param {string} type 424 * @param {string} type
425 */ 425 */
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 */ 621 */
622 base.resizeWindowToContent = function() { 622 base.resizeWindowToContent = function() {
623 var appWindow = chrome.app.window.current(); 623 var appWindow = chrome.app.window.current();
624 var outerBounds = appWindow.outerBounds; 624 var outerBounds = appWindow.outerBounds;
625 var borderY = outerBounds.height - appWindow.innerBounds.height; 625 var borderY = outerBounds.height - appWindow.innerBounds.height;
626 appWindow.resizeTo(outerBounds.width, document.body.clientHeight + borderY); 626 appWindow.resizeTo(outerBounds.width, document.body.clientHeight + borderY);
627 // Sometimes, resizing the window causes its position to be reset to (0, 0), 627 // Sometimes, resizing the window causes its position to be reset to (0, 0),
628 // so restore it explicitly. 628 // so restore it explicitly.
629 appWindow.moveTo(outerBounds.left, outerBounds.top); 629 appWindow.moveTo(outerBounds.left, outerBounds.top);
630 }; 630 };
OLDNEW
« no previous file with comments | « remoting/webapp/base/js/auth_dialog.js ('k') | remoting/webapp/base/js/ipc.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698