Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2017 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. | |
| 4 | |
| 5 /** | |
| 6 * @fileoverview Class that manages the addition and removal of WebUI | |
| 7 * listeners. | |
| 8 */ | |
| 9 | |
| 10 /** | |
| 11 * Create a WebUIListenerTracker to track a set of Web UI listeners. | |
| 12 * @constructor | |
| 13 */ | |
| 14 function WebUIListenerTracker() { | |
|
dpapad
2017/06/15 00:19:18
The policy we've been following so far is to move
| |
| 15 /** | |
| 16 * The Web UI listeners being tracked. | |
| 17 * @private {!Array<!WebUIListener>} | |
| 18 */ | |
| 19 this.listeners_ = []; | |
| 20 } | |
| 21 | |
| 22 WebUIListenerTracker.prototype = { | |
| 23 /** | |
| 24 * Adds a WebUI listener to the array of listeners being tracked, which | |
| 25 * will be removed when removeAll() is called. | |
| 26 * Do not use this method if the listener will be removed manually. | |
| 27 * @param {string} eventName The event to listen to. | |
| 28 * @param {!Function} callback The callback to run when the event is fired. | |
| 29 */ | |
| 30 add: function(eventName, callback) { | |
| 31 this.listeners_.push(cr.addWebUIListener(eventName, callback)); | |
| 32 }, | |
| 33 | |
| 34 /** | |
| 35 * Removes all Web UI listeners that are currently being tracked. | |
| 36 */ | |
| 37 removeAll: function() { | |
| 38 while (this.listeners_.length > 0) { | |
| 39 cr.removeWebUIListener(this.listeners_.pop()); | |
| 40 } | |
| 41 }, | |
| 42 }; | |
| OLD | NEW |