OLD | NEW |
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 * @constructor | 6 * @constructor |
7 * @implements {WebInspector.TargetManager.Observer} | 7 * @implements {WebInspector.TargetManager.Observer} |
8 * @param {!Element} selectElement | 8 * @param {!Element} selectElement |
9 * @param {!Element} elementToHide | 9 * @param {!Element} elementToHide |
10 */ | 10 */ |
11 WebInspector.TargetsComboBoxController = function(selectElement, elementToHide) | 11 WebInspector.TargetsComboBoxController = function(selectElement, elementToHide) |
12 { | 12 { |
13 elementToHide.classList.add("hidden"); | 13 elementToHide.classList.add("hidden"); |
14 selectElement.addEventListener("change", this._onComboBoxSelectionChange.bin
d(this), false); | 14 selectElement.addEventListener("change", this._onComboBoxSelectionChange.bin
d(this), false); |
15 this._selectElement = selectElement; | 15 this._selectElement = selectElement; |
16 this._elementToHide = elementToHide; | 16 this._elementToHide = elementToHide; |
17 /** @type {!Map.<!WebInspector.Target, !Element>} */ | 17 /** @type {!Map.<!WebInspector.Target, !Element>} */ |
18 this._targetToOption = new Map(); | 18 this._targetToOption = new Map(); |
19 | 19 |
20 WebInspector.context.addFlavorChangeListener(WebInspector.Target, this._targ
etChangedExternally, this); | 20 WebInspector.context.addFlavorChangeListener(WebInspector.Target, this._targ
etChangedExternally, this); |
| 21 WebInspector.targetManager.addEventListener(WebInspector.TargetManager.Event
s.NameChanged, this._targetNameChanged, this); |
21 WebInspector.targetManager.observeTargets(this, WebInspector.Target.Capabili
ty.JS); | 22 WebInspector.targetManager.observeTargets(this, WebInspector.Target.Capabili
ty.JS); |
22 } | 23 } |
23 | 24 |
24 WebInspector.TargetsComboBoxController.prototype = { | 25 WebInspector.TargetsComboBoxController.prototype = { |
25 | 26 |
26 /** | 27 /** |
27 * @override | 28 * @override |
28 * @param {!WebInspector.Target} target | 29 * @param {!WebInspector.Target} target |
29 */ | 30 */ |
30 targetAdded: function(target) | 31 targetAdded: function(target) |
(...skipping 12 matching lines...) Expand all Loading... |
43 * @override | 44 * @override |
44 * @param {!WebInspector.Target} target | 45 * @param {!WebInspector.Target} target |
45 */ | 46 */ |
46 targetRemoved: function(target) | 47 targetRemoved: function(target) |
47 { | 48 { |
48 var option = this._targetToOption.remove(target); | 49 var option = this._targetToOption.remove(target); |
49 this._selectElement.removeChild(option); | 50 this._selectElement.removeChild(option); |
50 this._updateVisibility(); | 51 this._updateVisibility(); |
51 }, | 52 }, |
52 | 53 |
| 54 /** |
| 55 * @param {!WebInspector.Event} event |
| 56 */ |
| 57 _targetNameChanged: function(event) |
| 58 { |
| 59 var target = /** @type {!WebInspector.Target} */ (event.data); |
| 60 var option = this._targetToOption.get(target); |
| 61 option.text = target.name(); |
| 62 }, |
| 63 |
53 _onComboBoxSelectionChange: function() | 64 _onComboBoxSelectionChange: function() |
54 { | 65 { |
55 var selectedOption = this._selectElement[this._selectElement.selectedInd
ex]; | 66 var selectedOption = this._selectElement[this._selectElement.selectedInd
ex]; |
56 if (!selectedOption) | 67 if (!selectedOption) |
57 return; | 68 return; |
58 | 69 |
59 WebInspector.context.setFlavor(WebInspector.Target, selectedOption.__tar
get); | 70 WebInspector.context.setFlavor(WebInspector.Target, selectedOption.__tar
get); |
60 }, | 71 }, |
61 | 72 |
62 _updateVisibility: function() | 73 _updateVisibility: function() |
(...skipping 16 matching lines...) Expand all Loading... |
79 | 90 |
80 /** | 91 /** |
81 * @param {!Element} option | 92 * @param {!Element} option |
82 */ | 93 */ |
83 _select: function(option) | 94 _select: function(option) |
84 { | 95 { |
85 this._selectElement.selectedIndex = Array.prototype.indexOf.call(/** @ty
pe {?} */ (this._selectElement), option); | 96 this._selectElement.selectedIndex = Array.prototype.indexOf.call(/** @ty
pe {?} */ (this._selectElement), option); |
86 } | 97 } |
87 | 98 |
88 } | 99 } |
OLD | NEW |