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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/components/DOMBreakpointsSidebarPane.js

Issue 2900843002: DevTools: remove BreakpointsSidebarPaneBase and breakpointsList.css (Closed)
Patch Set: remove the base, and also rebase 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 /* 1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 13 matching lines...) Expand all
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 /** 31 /**
32 * @implements {UI.ContextFlavorListener} 32 * @implements {UI.ContextFlavorListener}
33 */ 33 */
34 Components.DOMBreakpointsSidebarPane = class extends Components.BreakpointsSideb arPaneBase { 34 Components.DOMBreakpointsSidebarPane = class extends UI.VBox {
35 constructor() { 35 constructor() {
36 super(); 36 super(true);
37 this.registerRequiredCSS('components/breakpointsList.css'); 37 this.registerRequiredCSS('components/breakpointsList.css');
38 this.listElement.classList.add('dom-breakpoints-list'); 38 this.registerRequiredCSS('components/domBreakpointsSidebarPane.css');
39
40 this._listElement = createElementWithClass('ol', 'breakpoint-list');
dgozman 2017/05/30 21:53:39 While we are here, let's change ol to div.
luoe 2017/05/31 03:09:24 Done.
41 this._emptyElement = this.contentElement.createChild('div', 'gray-info-messa ge');
42 this._emptyElement.textContent = Common.UIString('No Breakpoints');
39 43
40 /** @type {!Map<!SDK.DOMDebuggerModel.DOMBreakpoint, !Components.DOMBreakpoi ntsSidebarPane.Item>} */ 44 /** @type {!Map<!SDK.DOMDebuggerModel.DOMBreakpoint, !Components.DOMBreakpoi ntsSidebarPane.Item>} */
41 this._items = new Map(); 45 this._items = new Map();
42 SDK.targetManager.addModelListener( 46 SDK.targetManager.addModelListener(
43 SDK.DOMDebuggerModel, SDK.DOMDebuggerModel.Events.DOMBreakpointAdded, th is._breakpointAdded, this); 47 SDK.DOMDebuggerModel, SDK.DOMDebuggerModel.Events.DOMBreakpointAdded, th is._breakpointAdded, this);
44 SDK.targetManager.addModelListener( 48 SDK.targetManager.addModelListener(
45 SDK.DOMDebuggerModel, SDK.DOMDebuggerModel.Events.DOMBreakpointToggled, this._breakpointToggled, this); 49 SDK.DOMDebuggerModel, SDK.DOMDebuggerModel.Events.DOMBreakpointToggled, this._breakpointToggled, this);
46 SDK.targetManager.addModelListener( 50 SDK.targetManager.addModelListener(
47 SDK.DOMDebuggerModel, SDK.DOMDebuggerModel.Events.DOMBreakpointsRemoved, this._breakpointsRemoved, this); 51 SDK.DOMDebuggerModel, SDK.DOMDebuggerModel.Events.DOMBreakpointsRemoved, this._breakpointsRemoved, this);
48 52
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 114
111 /** 115 /**
112 * @param {!Common.Event} event 116 * @param {!Common.Event} event
113 */ 117 */
114 _breakpointsRemoved(event) { 118 _breakpointsRemoved(event) {
115 var breakpoints = /** @type {!Array<!SDK.DOMDebuggerModel.DOMBreakpoint>} */ (event.data); 119 var breakpoints = /** @type {!Array<!SDK.DOMDebuggerModel.DOMBreakpoint>} */ (event.data);
116 for (var breakpoint of breakpoints) { 120 for (var breakpoint of breakpoints) {
117 var item = this._items.get(breakpoint); 121 var item = this._items.get(breakpoint);
118 if (item) { 122 if (item) {
119 this._items.delete(breakpoint); 123 this._items.delete(breakpoint);
120 this.removeListElement(item.element); 124 this._listElement.removeChild(item.element);
121 } 125 }
122 } 126 }
127 if (!this._listElement.firstChild && this._listElement.parentElement === thi s.contentElement)
128 this.contentElement.replaceChild(this._emptyElement, this._listElement);
dgozman 2017/05/30 21:53:39 Just toggle a hidden class and leave them both in
luoe 2017/05/31 03:09:24 Done. Yeah, that's simpler.
123 } 129 }
124 130
125 /** 131 /**
126 * @param {!SDK.DOMDebuggerModel.DOMBreakpoint} breakpoint 132 * @param {!SDK.DOMDebuggerModel.DOMBreakpoint} breakpoint
127 */ 133 */
128 _addBreakpoint(breakpoint) { 134 _addBreakpoint(breakpoint) {
129 var element = createElement('li'); 135 var element = createElement('li');
130 element.addEventListener('contextmenu', this._contextMenu.bind(this, breakpo int), true); 136 element.addEventListener('contextmenu', this._contextMenu.bind(this, breakpo int), true);
131 137
132 var checkboxLabel = UI.CheckboxLabel.create('', breakpoint.enabled); 138 var checkboxLabel = UI.CheckboxLabel.create('', breakpoint.enabled);
(...skipping 10 matching lines...) Expand all
143 labelElement.appendChild(linkifiedNode); 149 labelElement.appendChild(linkifiedNode);
144 150
145 var description = createElement('div'); 151 var description = createElement('div');
146 description.textContent = Components.DOMBreakpointsSidebarPane.BreakpointTyp eLabels.get(breakpoint.type); 152 description.textContent = Components.DOMBreakpointsSidebarPane.BreakpointTyp eLabels.get(breakpoint.type);
147 labelElement.appendChild(description); 153 labelElement.appendChild(description);
148 154
149 var item = {breakpoint: breakpoint, element: element, checkbox: checkboxElem ent}; 155 var item = {breakpoint: breakpoint, element: element, checkbox: checkboxElem ent};
150 element._item = item; 156 element._item = item;
151 this._items.set(breakpoint, item); 157 this._items.set(breakpoint, item);
152 158
153 var currentElement = this.listElement.firstChild; 159 var currentElement = this._listElement.firstChild;
154 while (currentElement) { 160 while (currentElement) {
155 if (currentElement._item && currentElement._item.breakpoint.type < breakpo int.type) 161 if (currentElement._item && currentElement._item.breakpoint.type < breakpo int.type)
156 break; 162 break;
157 currentElement = currentElement.nextSibling; 163 currentElement = currentElement.nextSibling;
158 } 164 }
159 this.addListElement(element, currentElement); 165 this._listElement.insertBefore(element, currentElement);
166 if (this._emptyElement.parentElement === this.contentElement)
167 this.contentElement.replaceChild(this._listElement, this._emptyElement);
160 } 168 }
161 169
162 /** 170 /**
163 * @param {!SDK.DOMDebuggerModel.DOMBreakpoint} breakpoint 171 * @param {!SDK.DOMDebuggerModel.DOMBreakpoint} breakpoint
164 * @param {!Event} event 172 * @param {!Event} event
165 */ 173 */
166 _contextMenu(breakpoint, event) { 174 _contextMenu(breakpoint, event) {
167 var contextMenu = new UI.ContextMenu(event); 175 var contextMenu = new UI.ContextMenu(event);
168 contextMenu.appendItem(Common.UIString.capitalize('Remove ^breakpoint'), () => { 176 contextMenu.appendItem(Common.UIString.capitalize('Remove ^breakpoint'), () => {
169 breakpoint.domDebuggerModel.removeDOMBreakpoint(breakpoint.node, breakpoin t.type); 177 breakpoint.domDebuggerModel.removeDOMBreakpoint(breakpoint.node, breakpoin t.type);
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 274
267 var breakpointsMenu = contextMenu.appendSubMenuItem(Common.UIString('Break o n...')); 275 var breakpointsMenu = contextMenu.appendSubMenuItem(Common.UIString('Break o n...'));
268 for (var key in SDK.DOMDebuggerModel.DOMBreakpoint.Type) { 276 for (var key in SDK.DOMDebuggerModel.DOMBreakpoint.Type) {
269 var type = SDK.DOMDebuggerModel.DOMBreakpoint.Type[key]; 277 var type = SDK.DOMDebuggerModel.DOMBreakpoint.Type[key];
270 var label = Components.DOMBreakpointsSidebarPane.BreakpointTypeNouns.get(t ype); 278 var label = Components.DOMBreakpointsSidebarPane.BreakpointTypeNouns.get(t ype);
271 breakpointsMenu.appendCheckboxItem( 279 breakpointsMenu.appendCheckboxItem(
272 label, toggleBreakpoint.bind(null, type), domDebuggerModel.hasDOMBreak point(node, type)); 280 label, toggleBreakpoint.bind(null, type), domDebuggerModel.hasDOMBreak point(node, type));
273 } 281 }
274 } 282 }
275 }; 283 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698