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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sources/ThreadsSidebarPane.js

Issue 2916743002: [DevTools] Introduce Common.List used as a backend for list controls (Closed)
Patch Set: addressed comments Created 3 years, 6 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
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 * @implements {SDK.SDKModelObserver<!SDK.DebuggerModel>} 5 * @implements {SDK.SDKModelObserver<!SDK.DebuggerModel>}
6 * @implements {UI.ListDelegate<!SDK.DebuggerModel>} 6 * @implements {UI.ListDelegate<!SDK.DebuggerModel>}
7 */ 7 */
8 Sources.ThreadsSidebarPane = class extends UI.VBox { 8 Sources.ThreadsSidebarPane = class extends UI.VBox {
9 constructor() { 9 constructor() {
10 super(true); 10 super(true);
11 this.registerRequiredCSS('sources/threadsSidebarPane.css'); 11 this.registerRequiredCSS('sources/threadsSidebarPane.css');
12 12
13 /** @type {!UI.ListModel<!SDK.DebuggerModel>} */
14 this._items = new UI.ListModel();
13 /** @type {!UI.ListControl<!SDK.DebuggerModel>} */ 15 /** @type {!UI.ListControl<!SDK.DebuggerModel>} */
14 this._list = new UI.ListControl(this, UI.ListMode.NonViewport); 16 this._list = new UI.ListControl(this._items, this, UI.ListMode.NonViewport);
15 this.contentElement.appendChild(this._list.element); 17 this.contentElement.appendChild(this._list.element);
16 18
17 UI.context.addFlavorChangeListener(SDK.Target, this._targetFlavorChanged, th is); 19 UI.context.addFlavorChangeListener(SDK.Target, this._targetFlavorChanged, th is);
18 SDK.targetManager.observeModels(SDK.DebuggerModel, this); 20 SDK.targetManager.observeModels(SDK.DebuggerModel, this);
19 } 21 }
20 22
21 /** 23 /**
22 * @return {boolean} 24 * @return {boolean}
23 */ 25 */
24 static shouldBeShown() { 26 static shouldBeShown() {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 toElement.classList.add('selected'); 101 toElement.classList.add('selected');
100 if (to) 102 if (to)
101 UI.context.setFlavor(SDK.Target, to.target()); 103 UI.context.setFlavor(SDK.Target, to.target());
102 } 104 }
103 105
104 /** 106 /**
105 * @override 107 * @override
106 * @param {!SDK.DebuggerModel} debuggerModel 108 * @param {!SDK.DebuggerModel} debuggerModel
107 */ 109 */
108 modelAdded(debuggerModel) { 110 modelAdded(debuggerModel) {
109 this._list.pushItem(debuggerModel); 111 this._items.pushItem(debuggerModel);
110 var currentTarget = UI.context.flavor(SDK.Target); 112 var currentTarget = UI.context.flavor(SDK.Target);
111 if (currentTarget === debuggerModel.target()) 113 if (currentTarget === debuggerModel.target())
112 this._list.selectItem(debuggerModel); 114 this._list.selectItem(debuggerModel);
113 } 115 }
114 116
115 /** 117 /**
116 * @override 118 * @override
117 * @param {!SDK.DebuggerModel} debuggerModel 119 * @param {!SDK.DebuggerModel} debuggerModel
118 */ 120 */
119 modelRemoved(debuggerModel) { 121 modelRemoved(debuggerModel) {
120 this._list.removeItem(debuggerModel); 122 this._items.removeItem(debuggerModel);
121 } 123 }
122 124
123 /** 125 /**
124 * @param {!Common.Event} event 126 * @param {!Common.Event} event
125 */ 127 */
126 _targetFlavorChanged(event) { 128 _targetFlavorChanged(event) {
127 var target = /** @type {!SDK.Target} */ (event.data); 129 var target = /** @type {!SDK.Target} */ (event.data);
128 var debuggerModel = target.model(SDK.DebuggerModel); 130 var debuggerModel = target.model(SDK.DebuggerModel);
129 if (debuggerModel) 131 if (debuggerModel)
130 this._list.selectItem(debuggerModel); 132 this._list.selectItem(debuggerModel);
131 } 133 }
132 }; 134 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698