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

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

Issue 2493373002: DevTools: rename WebInspector into modules. (Closed)
Patch Set: for bots Created 4 years, 1 month 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 10 matching lines...) Expand all
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
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 * @implements {WebInspector.ContextFlavorListener} 31 * @implements {UI.ContextFlavorListener}
32 * @unrestricted 32 * @unrestricted
33 */ 33 */
34 WebInspector.DOMBreakpointsSidebarPane = class extends WebInspector.BreakpointsS idebarPaneBase { 34 Components.DOMBreakpointsSidebarPane = class extends Components.BreakpointsSideb arPaneBase {
35 constructor() { 35 constructor() {
36 super(); 36 super();
37 this._domBreakpointsSetting = WebInspector.settings.createLocalSetting('domB reakpoints', []); 37 this._domBreakpointsSetting = Common.settings.createLocalSetting('domBreakpo ints', []);
38 this.listElement.classList.add('dom-breakpoints-list'); 38 this.listElement.classList.add('dom-breakpoints-list');
39 39
40 /** @type {!Map<string, !Element>} */ 40 /** @type {!Map<string, !Element>} */
41 this._breakpointElements = new Map(); 41 this._breakpointElements = new Map();
42 42
43 WebInspector.targetManager.addModelListener( 43 SDK.targetManager.addModelListener(
44 WebInspector.DOMModel, WebInspector.DOMModel.Events.NodeRemoved, this._n odeRemoved, this); 44 SDK.DOMModel, SDK.DOMModel.Events.NodeRemoved, this._nodeRemoved, this);
45 this._update(); 45 this._update();
46 } 46 }
47 47
48 /** 48 /**
49 * @param {!WebInspector.DebuggerPausedDetails} details 49 * @param {!SDK.DebuggerPausedDetails} details
50 * @return {!Element} 50 * @return {!Element}
51 */ 51 */
52 static createBreakpointHitMessage(details) { 52 static createBreakpointHitMessage(details) {
53 var messageWrapper = createElement('span'); 53 var messageWrapper = createElement('span');
54 var mainElement = messageWrapper.createChild('div', 'status-main'); 54 var mainElement = messageWrapper.createChild('div', 'status-main');
55 mainElement.appendChild(WebInspector.Icon.create('smallicon-info', 'status-i con')); 55 mainElement.appendChild(UI.Icon.create('smallicon-info', 'status-icon'));
56 var auxData = /** @type {!Object} */ (details.auxData); 56 var auxData = /** @type {!Object} */ (details.auxData);
57 mainElement.appendChild(createTextNode( 57 mainElement.appendChild(createTextNode(
58 String.sprintf('Paused on %s', WebInspector.DOMBreakpointsSidebarPane.Br eakpointTypeNouns[auxData['type']]))); 58 String.sprintf('Paused on %s', Components.DOMBreakpointsSidebarPane.Brea kpointTypeNouns[auxData['type']])));
59 59
60 var domModel = WebInspector.DOMModel.fromTarget(details.target()); 60 var domModel = SDK.DOMModel.fromTarget(details.target());
61 if (domModel) { 61 if (domModel) {
62 var subElement = messageWrapper.createChild('div', 'status-sub monospace') ; 62 var subElement = messageWrapper.createChild('div', 'status-sub monospace') ;
63 var node = domModel.nodeForId(auxData['nodeId']); 63 var node = domModel.nodeForId(auxData['nodeId']);
64 var linkifiedNode = WebInspector.DOMPresentationUtils.linkifyNodeReference (node); 64 var linkifiedNode = Components.DOMPresentationUtils.linkifyNodeReference(n ode);
65 subElement.appendChild(linkifiedNode); 65 subElement.appendChild(linkifiedNode);
66 66
67 var targetNode = auxData['targetNodeId'] ? domModel.nodeForId(auxData['tar getNodeId']) : null; 67 var targetNode = auxData['targetNodeId'] ? domModel.nodeForId(auxData['tar getNodeId']) : null;
68 var targetNodeLink = targetNode ? WebInspector.DOMPresentationUtils.linkif yNodeReference(targetNode) : ''; 68 var targetNodeLink = targetNode ? Components.DOMPresentationUtils.linkifyN odeReference(targetNode) : '';
69 var message; 69 var message;
70 if (auxData.type === WebInspector.DOMBreakpointsSidebarPane.BreakpointType s.SubtreeModified) { 70 if (auxData.type === Components.DOMBreakpointsSidebarPane.BreakpointTypes. SubtreeModified) {
71 if (auxData['insertion']) 71 if (auxData['insertion'])
72 message = targetNode === node ? 'Child %s added' : 'Descendant %s adde d'; 72 message = targetNode === node ? 'Child %s added' : 'Descendant %s adde d';
73 else 73 else
74 message = 'Descendant %s removed'; 74 message = 'Descendant %s removed';
75 subElement.appendChild(createElement('br')); 75 subElement.appendChild(createElement('br'));
76 subElement.appendChild(WebInspector.formatLocalized(message, [targetNode Link])); 76 subElement.appendChild(UI.formatLocalized(message, [targetNodeLink]));
77 } 77 }
78 } 78 }
79 return messageWrapper; 79 return messageWrapper;
80 } 80 }
81 81
82 /** 82 /**
83 * @param {!WebInspector.DOMNode} node 83 * @param {!SDK.DOMNode} node
84 * @param {!WebInspector.ContextMenu} contextMenu 84 * @param {!UI.ContextMenu} contextMenu
85 * @param {boolean} createSubMenu 85 * @param {boolean} createSubMenu
86 */ 86 */
87 populateNodeContextMenu(node, contextMenu, createSubMenu) { 87 populateNodeContextMenu(node, contextMenu, createSubMenu) {
88 if (node.pseudoType()) 88 if (node.pseudoType())
89 return; 89 return;
90 90
91 var nodeBreakpoints = this._nodeBreakpoints(node); 91 var nodeBreakpoints = this._nodeBreakpoints(node);
92 92
93 /** 93 /**
94 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type 94 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type
95 * @this {WebInspector.DOMBreakpointsSidebarPane} 95 * @this {Components.DOMBreakpointsSidebarPane}
96 */ 96 */
97 function toggleBreakpoint(type) { 97 function toggleBreakpoint(type) {
98 if (!nodeBreakpoints.has(type)) 98 if (!nodeBreakpoints.has(type))
99 this._setBreakpoint(node, type, true); 99 this._setBreakpoint(node, type, true);
100 else 100 else
101 this._removeBreakpoint(node, type); 101 this._removeBreakpoint(node, type);
102 this._saveBreakpoints(); 102 this._saveBreakpoints();
103 } 103 }
104 104
105 var breakpointsMenu = 105 var breakpointsMenu =
106 createSubMenu ? contextMenu.appendSubMenuItem(WebInspector.UIString('Bre ak on...')) : contextMenu; 106 createSubMenu ? contextMenu.appendSubMenuItem(Common.UIString('Break on. ..')) : contextMenu;
107 for (var key in WebInspector.DOMBreakpointsSidebarPane.BreakpointTypes) { 107 for (var key in Components.DOMBreakpointsSidebarPane.BreakpointTypes) {
108 var type = WebInspector.DOMBreakpointsSidebarPane.BreakpointTypes[key]; 108 var type = Components.DOMBreakpointsSidebarPane.BreakpointTypes[key];
109 var label = WebInspector.DOMBreakpointsSidebarPane.BreakpointTypeNouns[typ e]; 109 var label = Components.DOMBreakpointsSidebarPane.BreakpointTypeNouns[type] ;
110 breakpointsMenu.appendCheckboxItem(label, toggleBreakpoint.bind(this, type ), nodeBreakpoints.has(type)); 110 breakpointsMenu.appendCheckboxItem(label, toggleBreakpoint.bind(this, type ), nodeBreakpoints.has(type));
111 } 111 }
112 } 112 }
113 113
114 /** 114 /**
115 * @param {!WebInspector.DOMNode} node 115 * @param {!SDK.DOMNode} node
116 * @return {!Set<!Protocol.DOMDebugger.DOMBreakpointType>} 116 * @return {!Set<!Protocol.DOMDebugger.DOMBreakpointType>}
117 */ 117 */
118 _nodeBreakpoints(node) { 118 _nodeBreakpoints(node) {
119 /** @type {!Set<!Protocol.DOMDebugger.DOMBreakpointType>} */ 119 /** @type {!Set<!Protocol.DOMDebugger.DOMBreakpointType>} */
120 var nodeBreakpoints = new Set(); 120 var nodeBreakpoints = new Set();
121 for (var element of this._breakpointElements.values()) { 121 for (var element of this._breakpointElements.values()) {
122 if (element._node === node && element._checkboxElement.checked) 122 if (element._node === node && element._checkboxElement.checked)
123 nodeBreakpoints.add(element._type); 123 nodeBreakpoints.add(element._type);
124 } 124 }
125 return nodeBreakpoints; 125 return nodeBreakpoints;
126 } 126 }
127 127
128 /** 128 /**
129 * @param {!WebInspector.DOMNode} node 129 * @param {!SDK.DOMNode} node
130 * @return {boolean} 130 * @return {boolean}
131 */ 131 */
132 hasBreakpoints(node) { 132 hasBreakpoints(node) {
133 for (var element of this._breakpointElements.values()) { 133 for (var element of this._breakpointElements.values()) {
134 if (element._node === node && element._checkboxElement.checked) 134 if (element._node === node && element._checkboxElement.checked)
135 return true; 135 return true;
136 } 136 }
137 return false; 137 return false;
138 } 138 }
139 139
140 _nodeRemoved(event) { 140 _nodeRemoved(event) {
141 var node = event.data.node; 141 var node = event.data.node;
142 this._removeBreakpointsForNode(event.data.node); 142 this._removeBreakpointsForNode(event.data.node);
143 var children = node.children(); 143 var children = node.children();
144 if (!children) 144 if (!children)
145 return; 145 return;
146 for (var i = 0; i < children.length; ++i) 146 for (var i = 0; i < children.length; ++i)
147 this._removeBreakpointsForNode(children[i]); 147 this._removeBreakpointsForNode(children[i]);
148 this._saveBreakpoints(); 148 this._saveBreakpoints();
149 } 149 }
150 150
151 /** 151 /**
152 * @param {!WebInspector.DOMNode} node 152 * @param {!SDK.DOMNode} node
153 */ 153 */
154 _removeBreakpointsForNode(node) { 154 _removeBreakpointsForNode(node) {
155 for (var element of this._breakpointElements.values()) { 155 for (var element of this._breakpointElements.values()) {
156 if (element._node === node) 156 if (element._node === node)
157 this._removeBreakpoint(element._node, element._type); 157 this._removeBreakpoint(element._node, element._type);
158 } 158 }
159 } 159 }
160 160
161 /** 161 /**
162 * @param {!WebInspector.DOMNode} node 162 * @param {!SDK.DOMNode} node
163 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type 163 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type
164 * @param {boolean} enabled 164 * @param {boolean} enabled
165 */ 165 */
166 _setBreakpoint(node, type, enabled) { 166 _setBreakpoint(node, type, enabled) {
167 var breakpointId = this._createBreakpointId(node.id, type); 167 var breakpointId = this._createBreakpointId(node.id, type);
168 var breakpointElement = this._breakpointElements.get(breakpointId); 168 var breakpointElement = this._breakpointElements.get(breakpointId);
169 if (!breakpointElement) { 169 if (!breakpointElement) {
170 breakpointElement = this._createBreakpointElement(node, type, enabled); 170 breakpointElement = this._createBreakpointElement(node, type, enabled);
171 this._breakpointElements.set(breakpointId, breakpointElement); 171 this._breakpointElements.set(breakpointId, breakpointElement);
172 } else { 172 } else {
173 breakpointElement._checkboxElement.checked = enabled; 173 breakpointElement._checkboxElement.checked = enabled;
174 } 174 }
175 if (enabled) 175 if (enabled)
176 node.target().domdebuggerAgent().setDOMBreakpoint(node.id, type); 176 node.target().domdebuggerAgent().setDOMBreakpoint(node.id, type);
177 node.setMarker(WebInspector.DOMBreakpointsSidebarPane.Marker, true); 177 node.setMarker(Components.DOMBreakpointsSidebarPane.Marker, true);
178 } 178 }
179 179
180 /** 180 /**
181 * @param {!WebInspector.DOMNode} node 181 * @param {!SDK.DOMNode} node
182 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type 182 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type
183 * @param {boolean} enabled 183 * @param {boolean} enabled
184 */ 184 */
185 _createBreakpointElement(node, type, enabled) { 185 _createBreakpointElement(node, type, enabled) {
186 var element = createElement('li'); 186 var element = createElement('li');
187 element._node = node; 187 element._node = node;
188 element._type = type; 188 element._type = type;
189 element.addEventListener('contextmenu', this._contextMenu.bind(this, node, t ype), true); 189 element.addEventListener('contextmenu', this._contextMenu.bind(this, node, t ype), true);
190 190
191 var checkboxLabel = createCheckboxLabel('', enabled); 191 var checkboxLabel = createCheckboxLabel('', enabled);
192 var checkboxElement = checkboxLabel.checkboxElement; 192 var checkboxElement = checkboxLabel.checkboxElement;
193 checkboxElement.addEventListener('click', this._checkboxClicked.bind(this, n ode, type), false); 193 checkboxElement.addEventListener('click', this._checkboxClicked.bind(this, n ode, type), false);
194 element._checkboxElement = checkboxElement; 194 element._checkboxElement = checkboxElement;
195 element.appendChild(checkboxLabel); 195 element.appendChild(checkboxLabel);
196 196
197 var labelElement = createElementWithClass('div', 'dom-breakpoint'); 197 var labelElement = createElementWithClass('div', 'dom-breakpoint');
198 element.appendChild(labelElement); 198 element.appendChild(labelElement);
199 199
200 var linkifiedNode = WebInspector.DOMPresentationUtils.linkifyNodeReference(n ode); 200 var linkifiedNode = Components.DOMPresentationUtils.linkifyNodeReference(nod e);
201 linkifiedNode.classList.add('monospace'); 201 linkifiedNode.classList.add('monospace');
202 linkifiedNode.style.display = 'block'; 202 linkifiedNode.style.display = 'block';
203 labelElement.appendChild(linkifiedNode); 203 labelElement.appendChild(linkifiedNode);
204 204
205 var description = createElement('div'); 205 var description = createElement('div');
206 description.textContent = WebInspector.DOMBreakpointsSidebarPane.BreakpointT ypeLabels[type]; 206 description.textContent = Components.DOMBreakpointsSidebarPane.BreakpointTyp eLabels[type];
207 labelElement.appendChild(description); 207 labelElement.appendChild(description);
208 208
209 var currentElement = this.listElement.firstChild; 209 var currentElement = this.listElement.firstChild;
210 while (currentElement) { 210 while (currentElement) {
211 if (currentElement._type && currentElement._type < element._type) 211 if (currentElement._type && currentElement._type < element._type)
212 break; 212 break;
213 currentElement = currentElement.nextSibling; 213 currentElement = currentElement.nextSibling;
214 } 214 }
215 this.addListElement(element, currentElement); 215 this.addListElement(element, currentElement);
216 return element; 216 return element;
217 } 217 }
218 218
219 _removeAllBreakpoints() { 219 _removeAllBreakpoints() {
220 for (var element of this._breakpointElements.values()) 220 for (var element of this._breakpointElements.values())
221 this._removeBreakpoint(element._node, element._type); 221 this._removeBreakpoint(element._node, element._type);
222 this._saveBreakpoints(); 222 this._saveBreakpoints();
223 } 223 }
224 224
225 /** 225 /**
226 * @param {!WebInspector.DOMNode} node 226 * @param {!SDK.DOMNode} node
227 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type 227 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type
228 */ 228 */
229 _removeBreakpoint(node, type) { 229 _removeBreakpoint(node, type) {
230 var breakpointId = this._createBreakpointId(node.id, type); 230 var breakpointId = this._createBreakpointId(node.id, type);
231 var element = this._breakpointElements.get(breakpointId); 231 var element = this._breakpointElements.get(breakpointId);
232 if (!element) 232 if (!element)
233 return; 233 return;
234 234
235 this.removeListElement(element); 235 this.removeListElement(element);
236 this._breakpointElements.delete(breakpointId); 236 this._breakpointElements.delete(breakpointId);
237 if (element._checkboxElement.checked) 237 if (element._checkboxElement.checked)
238 node.target().domdebuggerAgent().removeDOMBreakpoint(node.id, type); 238 node.target().domdebuggerAgent().removeDOMBreakpoint(node.id, type);
239 node.setMarker(WebInspector.DOMBreakpointsSidebarPane.Marker, this.hasBreakp oints(node) ? true : null); 239 node.setMarker(Components.DOMBreakpointsSidebarPane.Marker, this.hasBreakpoi nts(node) ? true : null);
240 } 240 }
241 241
242 /** 242 /**
243 * @param {!WebInspector.DOMNode} node 243 * @param {!SDK.DOMNode} node
244 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type 244 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type
245 * @param {!Event} event 245 * @param {!Event} event
246 */ 246 */
247 _contextMenu(node, type, event) { 247 _contextMenu(node, type, event) {
248 var contextMenu = new WebInspector.ContextMenu(event); 248 var contextMenu = new UI.ContextMenu(event);
249 249
250 /** 250 /**
251 * @this {WebInspector.DOMBreakpointsSidebarPane} 251 * @this {Components.DOMBreakpointsSidebarPane}
252 */ 252 */
253 function removeBreakpoint() { 253 function removeBreakpoint() {
254 this._removeBreakpoint(node, type); 254 this._removeBreakpoint(node, type);
255 this._saveBreakpoints(); 255 this._saveBreakpoints();
256 } 256 }
257 contextMenu.appendItem(WebInspector.UIString.capitalize('Remove ^breakpoint' ), removeBreakpoint.bind(this)); 257 contextMenu.appendItem(Common.UIString.capitalize('Remove ^breakpoint'), rem oveBreakpoint.bind(this));
258 contextMenu.appendItem( 258 contextMenu.appendItem(
259 WebInspector.UIString.capitalize('Remove ^all DOM breakpoints'), this._r emoveAllBreakpoints.bind(this)); 259 Common.UIString.capitalize('Remove ^all DOM breakpoints'), this._removeA llBreakpoints.bind(this));
260 contextMenu.show(); 260 contextMenu.show();
261 } 261 }
262 262
263 /** 263 /**
264 * @param {!WebInspector.DOMNode} node 264 * @param {!SDK.DOMNode} node
265 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type 265 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type
266 * @param {!Event} event 266 * @param {!Event} event
267 */ 267 */
268 _checkboxClicked(node, type, event) { 268 _checkboxClicked(node, type, event) {
269 if (event.target.checked) 269 if (event.target.checked)
270 node.target().domdebuggerAgent().setDOMBreakpoint(node.id, type); 270 node.target().domdebuggerAgent().setDOMBreakpoint(node.id, type);
271 else 271 else
272 node.target().domdebuggerAgent().removeDOMBreakpoint(node.id, type); 272 node.target().domdebuggerAgent().removeDOMBreakpoint(node.id, type);
273 this._saveBreakpoints(); 273 this._saveBreakpoints();
274 } 274 }
275 275
276 /** 276 /**
277 * @override 277 * @override
278 * @param {?Object} object 278 * @param {?Object} object
279 */ 279 */
280 flavorChanged(object) { 280 flavorChanged(object) {
281 this._update(); 281 this._update();
282 } 282 }
283 283
284 _update() { 284 _update() {
285 var details = WebInspector.context.flavor(WebInspector.DebuggerPausedDetails ); 285 var details = UI.context.flavor(SDK.DebuggerPausedDetails);
286 if (!details || details.reason !== WebInspector.DebuggerModel.BreakReason.DO M) { 286 if (!details || details.reason !== SDK.DebuggerModel.BreakReason.DOM) {
287 if (this._highlightedElement) { 287 if (this._highlightedElement) {
288 this._highlightedElement.classList.remove('breakpoint-hit'); 288 this._highlightedElement.classList.remove('breakpoint-hit');
289 delete this._highlightedElement; 289 delete this._highlightedElement;
290 } 290 }
291 return; 291 return;
292 } 292 }
293 var auxData = details.auxData; 293 var auxData = details.auxData;
294 var breakpointId = this._createBreakpointId(auxData.nodeId, auxData.type); 294 var breakpointId = this._createBreakpointId(auxData.nodeId, auxData.type);
295 var element = this._breakpointElements.get(breakpointId); 295 var element = this._breakpointElements.get(breakpointId);
296 if (!element) 296 if (!element)
297 return; 297 return;
298 WebInspector.viewManager.showView('sources.domBreakpoints'); 298 UI.viewManager.showView('sources.domBreakpoints');
299 element.classList.add('breakpoint-hit'); 299 element.classList.add('breakpoint-hit');
300 this._highlightedElement = element; 300 this._highlightedElement = element;
301 } 301 }
302 302
303 /** 303 /**
304 * @param {number} nodeId 304 * @param {number} nodeId
305 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type 305 * @param {!Protocol.DOMDebugger.DOMBreakpointType} type
306 */ 306 */
307 _createBreakpointId(nodeId, type) { 307 _createBreakpointId(nodeId, type) {
308 return nodeId + ':' + type; 308 return nodeId + ':' + type;
(...skipping 11 matching lines...) Expand all
320 breakpoints.push({ 320 breakpoints.push({
321 url: this._inspectedURL, 321 url: this._inspectedURL,
322 path: element._node.path(), 322 path: element._node.path(),
323 type: element._type, 323 type: element._type,
324 enabled: element._checkboxElement.checked 324 enabled: element._checkboxElement.checked
325 }); 325 });
326 this._domBreakpointsSetting.set(breakpoints); 326 this._domBreakpointsSetting.set(breakpoints);
327 } 327 }
328 328
329 /** 329 /**
330 * @param {!WebInspector.DOMDocument} domDocument 330 * @param {!SDK.DOMDocument} domDocument
331 */ 331 */
332 restoreBreakpoints(domDocument) { 332 restoreBreakpoints(domDocument) {
333 this._breakpointElements.clear(); 333 this._breakpointElements.clear();
334 this.reset(); 334 this.reset();
335 this._inspectedURL = domDocument.documentURL; 335 this._inspectedURL = domDocument.documentURL;
336 var domModel = domDocument.domModel(); 336 var domModel = domDocument.domModel();
337 /** @type {!Map<string, !Array<!Object>>} */ 337 /** @type {!Map<string, !Array<!Object>>} */
338 var pathToBreakpoints = new Map(); 338 var pathToBreakpoints = new Map();
339 339
340 /** 340 /**
341 * @param {string} path 341 * @param {string} path
342 * @param {?Protocol.DOM.NodeId} nodeId 342 * @param {?Protocol.DOM.NodeId} nodeId
343 * @this {WebInspector.DOMBreakpointsSidebarPane} 343 * @this {Components.DOMBreakpointsSidebarPane}
344 */ 344 */
345 function didPushNodeByPathToFrontend(path, nodeId) { 345 function didPushNodeByPathToFrontend(path, nodeId) {
346 var node = nodeId ? domModel.nodeForId(nodeId) : null; 346 var node = nodeId ? domModel.nodeForId(nodeId) : null;
347 if (!node) 347 if (!node)
348 return; 348 return;
349 349
350 var breakpoints = pathToBreakpoints.get(path); 350 var breakpoints = pathToBreakpoints.get(path);
351 for (var i = 0; i < breakpoints.length; ++i) 351 for (var i = 0; i < breakpoints.length; ++i)
352 this._setBreakpoint(node, breakpoints[i].type, breakpoints[i].enabled); 352 this._setBreakpoint(node, breakpoints[i].type, breakpoints[i].enabled);
353 } 353 }
354 354
355 var breakpoints = this._domBreakpointsSetting.get(); 355 var breakpoints = this._domBreakpointsSetting.get();
356 for (var i = 0; i < breakpoints.length; ++i) { 356 for (var i = 0; i < breakpoints.length; ++i) {
357 var breakpoint = breakpoints[i]; 357 var breakpoint = breakpoints[i];
358 if (breakpoint.url !== this._inspectedURL) 358 if (breakpoint.url !== this._inspectedURL)
359 continue; 359 continue;
360 var path = breakpoint.path; 360 var path = breakpoint.path;
361 if (!pathToBreakpoints.has(path)) { 361 if (!pathToBreakpoints.has(path)) {
362 pathToBreakpoints.set(path, []); 362 pathToBreakpoints.set(path, []);
363 domModel.pushNodeByPathToFrontend(path, didPushNodeByPathToFrontend.bind (this, path)); 363 domModel.pushNodeByPathToFrontend(path, didPushNodeByPathToFrontend.bind (this, path));
364 } 364 }
365 pathToBreakpoints.get(path).push(breakpoint); 365 pathToBreakpoints.get(path).push(breakpoint);
366 } 366 }
367 } 367 }
368 }; 368 };
369 369
370 WebInspector.DOMBreakpointsSidebarPane.BreakpointTypes = { 370 Components.DOMBreakpointsSidebarPane.BreakpointTypes = {
371 SubtreeModified: 'subtree-modified', 371 SubtreeModified: 'subtree-modified',
372 AttributeModified: 'attribute-modified', 372 AttributeModified: 'attribute-modified',
373 NodeRemoved: 'node-removed' 373 NodeRemoved: 'node-removed'
374 }; 374 };
375 375
376 WebInspector.DOMBreakpointsSidebarPane.BreakpointTypeLabels = { 376 Components.DOMBreakpointsSidebarPane.BreakpointTypeLabels = {
377 'subtree-modified': WebInspector.UIString('Subtree Modified'), 377 'subtree-modified': Common.UIString('Subtree Modified'),
378 'attribute-modified': WebInspector.UIString('Attribute Modified'), 378 'attribute-modified': Common.UIString('Attribute Modified'),
379 'node-removed': WebInspector.UIString('Node Removed') 379 'node-removed': Common.UIString('Node Removed')
380 }; 380 };
381 381
382 WebInspector.DOMBreakpointsSidebarPane.BreakpointTypeNouns = { 382 Components.DOMBreakpointsSidebarPane.BreakpointTypeNouns = {
383 'subtree-modified': WebInspector.UIString('subtree modifications'), 383 'subtree-modified': Common.UIString('subtree modifications'),
384 'attribute-modified': WebInspector.UIString('attribute modifications'), 384 'attribute-modified': Common.UIString('attribute modifications'),
385 'node-removed': WebInspector.UIString('node removal') 385 'node-removed': Common.UIString('node removal')
386 }; 386 };
387 387
388 WebInspector.DOMBreakpointsSidebarPane.Marker = 'breakpoint-marker'; 388 Components.DOMBreakpointsSidebarPane.Marker = 'breakpoint-marker';
389 389
390 390
391 /** 391 /**
392 * @unrestricted 392 * @unrestricted
393 */ 393 */
394 WebInspector.DOMBreakpointsSidebarPane.Proxy = class extends WebInspector.VBox { 394 Components.DOMBreakpointsSidebarPane.Proxy = class extends UI.VBox {
395 constructor() { 395 constructor() {
396 super(); 396 super();
397 this.registerRequiredCSS('components/breakpointsList.css'); 397 this.registerRequiredCSS('components/breakpointsList.css');
398 } 398 }
399 399
400 /** 400 /**
401 * @override 401 * @override
402 */ 402 */
403 wasShown() { 403 wasShown() {
404 super.wasShown(); 404 super.wasShown();
405 var pane = WebInspector.domBreakpointsSidebarPane; 405 var pane = Components.domBreakpointsSidebarPane;
406 if (pane.element.parentNode !== this.element) 406 if (pane.element.parentNode !== this.element)
407 pane.show(this.element); 407 pane.show(this.element);
408 } 408 }
409 }; 409 };
410 410
411 /** 411 /**
412 * @type {!WebInspector.DOMBreakpointsSidebarPane} 412 * @type {!Components.DOMBreakpointsSidebarPane}
413 */ 413 */
414 WebInspector.domBreakpointsSidebarPane; 414 Components.domBreakpointsSidebarPane;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698