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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sources/JavaScriptBreakpointsSidebarPane.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 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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 {WebInspector.ContextFlavorListener} 5 * @implements {UI.ContextFlavorListener}
6 * @unrestricted 6 * @unrestricted
7 */ 7 */
8 WebInspector.JavaScriptBreakpointsSidebarPane = class extends WebInspector.VBox { 8 Sources.JavaScriptBreakpointsSidebarPane = class extends UI.VBox {
9 constructor() { 9 constructor() {
10 super(); 10 super();
11 this.registerRequiredCSS('components/breakpointsList.css'); 11 this.registerRequiredCSS('components/breakpointsList.css');
12 12
13 this._breakpointManager = WebInspector.breakpointManager; 13 this._breakpointManager = Bindings.breakpointManager;
14 14
15 this._listElement = createElementWithClass('ol', 'breakpoint-list'); 15 this._listElement = createElementWithClass('ol', 'breakpoint-list');
16 16
17 this.emptyElement = this.element.createChild('div', 'gray-info-message'); 17 this.emptyElement = this.element.createChild('div', 'gray-info-message');
18 this.emptyElement.textContent = WebInspector.UIString('No Breakpoints'); 18 this.emptyElement.textContent = Common.UIString('No Breakpoints');
19 19
20 this._items = new Map(); 20 this._items = new Map();
21 21
22 var breakpointLocations = this._breakpointManager.allBreakpointLocations(); 22 var breakpointLocations = this._breakpointManager.allBreakpointLocations();
23 for (var i = 0; i < breakpointLocations.length; ++i) 23 for (var i = 0; i < breakpointLocations.length; ++i)
24 this._addBreakpoint(breakpointLocations[i].breakpoint, breakpointLocations [i].uiLocation); 24 this._addBreakpoint(breakpointLocations[i].breakpoint, breakpointLocations [i].uiLocation);
25 25
26 this._breakpointManager.addEventListener( 26 this._breakpointManager.addEventListener(
27 WebInspector.BreakpointManager.Events.BreakpointAdded, this._breakpointA dded, this); 27 Bindings.BreakpointManager.Events.BreakpointAdded, this._breakpointAdded , this);
28 this._breakpointManager.addEventListener( 28 this._breakpointManager.addEventListener(
29 WebInspector.BreakpointManager.Events.BreakpointRemoved, this._breakpoin tRemoved, this); 29 Bindings.BreakpointManager.Events.BreakpointRemoved, this._breakpointRem oved, this);
30 30
31 this.emptyElement.addEventListener('contextmenu', this._emptyElementContextM enu.bind(this), true); 31 this.emptyElement.addEventListener('contextmenu', this._emptyElementContextM enu.bind(this), true);
32 this._breakpointManager.addEventListener( 32 this._breakpointManager.addEventListener(
33 WebInspector.BreakpointManager.Events.BreakpointsActiveStateChanged, thi s._breakpointsActiveStateChanged, this); 33 Bindings.BreakpointManager.Events.BreakpointsActiveStateChanged, this._b reakpointsActiveStateChanged, this);
34 this._breakpointsActiveStateChanged(); 34 this._breakpointsActiveStateChanged();
35 this._update(); 35 this._update();
36 } 36 }
37 37
38 _emptyElementContextMenu(event) { 38 _emptyElementContextMenu(event) {
39 var contextMenu = new WebInspector.ContextMenu(event); 39 var contextMenu = new UI.ContextMenu(event);
40 this._appendBreakpointActiveItem(contextMenu); 40 this._appendBreakpointActiveItem(contextMenu);
41 contextMenu.show(); 41 contextMenu.show();
42 } 42 }
43 43
44 /** 44 /**
45 * @param {!WebInspector.ContextMenu} contextMenu 45 * @param {!UI.ContextMenu} contextMenu
46 */ 46 */
47 _appendBreakpointActiveItem(contextMenu) { 47 _appendBreakpointActiveItem(contextMenu) {
48 var breakpointActive = this._breakpointManager.breakpointsActive(); 48 var breakpointActive = this._breakpointManager.breakpointsActive();
49 var breakpointActiveTitle = breakpointActive ? WebInspector.UIString.capital ize('Deactivate ^breakpoints') : 49 var breakpointActiveTitle = breakpointActive ? Common.UIString.capitalize('D eactivate ^breakpoints') :
50 WebInspector.UIString.capital ize('Activate ^breakpoints'); 50 Common.UIString.capitalize('A ctivate ^breakpoints');
51 contextMenu.appendItem( 51 contextMenu.appendItem(
52 breakpointActiveTitle, 52 breakpointActiveTitle,
53 this._breakpointManager.setBreakpointsActive.bind(this._breakpointManage r, !breakpointActive)); 53 this._breakpointManager.setBreakpointsActive.bind(this._breakpointManage r, !breakpointActive));
54 } 54 }
55 55
56 /** 56 /**
57 * @param {!WebInspector.Event} event 57 * @param {!Common.Event} event
58 */ 58 */
59 _breakpointAdded(event) { 59 _breakpointAdded(event) {
60 this._breakpointRemoved(event); 60 this._breakpointRemoved(event);
61 61
62 var breakpoint = /** @type {!WebInspector.BreakpointManager.Breakpoint} */ ( event.data.breakpoint); 62 var breakpoint = /** @type {!Bindings.BreakpointManager.Breakpoint} */ (even t.data.breakpoint);
63 var uiLocation = /** @type {!WebInspector.UILocation} */ (event.data.uiLocat ion); 63 var uiLocation = /** @type {!Workspace.UILocation} */ (event.data.uiLocation );
64 this._addBreakpoint(breakpoint, uiLocation); 64 this._addBreakpoint(breakpoint, uiLocation);
65 } 65 }
66 66
67 /** 67 /**
68 * @param {!WebInspector.BreakpointManager.Breakpoint} breakpoint 68 * @param {!Bindings.BreakpointManager.Breakpoint} breakpoint
69 * @param {!WebInspector.UILocation} uiLocation 69 * @param {!Workspace.UILocation} uiLocation
70 */ 70 */
71 _addBreakpoint(breakpoint, uiLocation) { 71 _addBreakpoint(breakpoint, uiLocation) {
72 var element = createElementWithClass('li', 'cursor-pointer'); 72 var element = createElementWithClass('li', 'cursor-pointer');
73 element.addEventListener('contextmenu', this._breakpointContextMenu.bind(thi s, breakpoint), true); 73 element.addEventListener('contextmenu', this._breakpointContextMenu.bind(thi s, breakpoint), true);
74 element.addEventListener('click', this._breakpointClicked.bind(this, uiLocat ion), false); 74 element.addEventListener('click', this._breakpointClicked.bind(this, uiLocat ion), false);
75 75
76 var checkboxLabel = createCheckboxLabel(uiLocation.linkText(), breakpoint.en abled()); 76 var checkboxLabel = createCheckboxLabel(uiLocation.linkText(), breakpoint.en abled());
77 element.appendChild(checkboxLabel); 77 element.appendChild(checkboxLabel);
78 checkboxLabel.addEventListener('click', this._breakpointCheckboxClicked.bind (this, breakpoint), false); 78 checkboxLabel.addEventListener('click', this._breakpointCheckboxClicked.bind (this, breakpoint), false);
79 79
80 var snippetElement = element.createChild('div', 'source-text monospace'); 80 var snippetElement = element.createChild('div', 'source-text monospace');
81 81
82 /** 82 /**
83 * @param {?string} content 83 * @param {?string} content
84 * @this {WebInspector.JavaScriptBreakpointsSidebarPane} 84 * @this {Sources.JavaScriptBreakpointsSidebarPane}
85 */ 85 */
86 function didRequestContent(content) { 86 function didRequestContent(content) {
87 var lineNumber = uiLocation.lineNumber; 87 var lineNumber = uiLocation.lineNumber;
88 var columnNumber = uiLocation.columnNumber; 88 var columnNumber = uiLocation.columnNumber;
89 var text = new WebInspector.Text(content || ''); 89 var text = new Common.Text(content || '');
90 if (lineNumber < text.lineCount()) { 90 if (lineNumber < text.lineCount()) {
91 var lineText = text.lineAt(lineNumber); 91 var lineText = text.lineAt(lineNumber);
92 var maxSnippetLength = 200; 92 var maxSnippetLength = 200;
93 var snippetStartIndex = columnNumber > 100 ? columnNumber : 0; 93 var snippetStartIndex = columnNumber > 100 ? columnNumber : 0;
94 snippetElement.textContent = lineText.substr(snippetStartIndex).trimEnd( maxSnippetLength); 94 snippetElement.textContent = lineText.substr(snippetStartIndex).trimEnd( maxSnippetLength);
95 } 95 }
96 this.didReceiveBreakpointLineForTest(uiLocation.uiSourceCode, lineNumber, columnNumber); 96 this.didReceiveBreakpointLineForTest(uiLocation.uiSourceCode, lineNumber, columnNumber);
97 } 97 }
98 98
99 uiLocation.uiSourceCode.requestContent().then(didRequestContent.bind(this)); 99 uiLocation.uiSourceCode.requestContent().then(didRequestContent.bind(this));
100 100
101 element._data = uiLocation; 101 element._data = uiLocation;
102 var currentElement = this._listElement.firstChild; 102 var currentElement = this._listElement.firstChild;
103 while (currentElement) { 103 while (currentElement) {
104 if (currentElement._data && this._compareBreakpoints(currentElement._data, element._data) > 0) 104 if (currentElement._data && this._compareBreakpoints(currentElement._data, element._data) > 0)
105 break; 105 break;
106 currentElement = currentElement.nextSibling; 106 currentElement = currentElement.nextSibling;
107 } 107 }
108 this._addListElement(element, currentElement); 108 this._addListElement(element, currentElement);
109 109
110 var breakpointItem = {element: element, checkbox: checkboxLabel.checkboxElem ent}; 110 var breakpointItem = {element: element, checkbox: checkboxLabel.checkboxElem ent};
111 this._items.set(breakpoint, breakpointItem); 111 this._items.set(breakpoint, breakpointItem);
112 } 112 }
113 113
114 /** 114 /**
115 * @param {!WebInspector.UISourceCode} uiSourceCode 115 * @param {!Workspace.UISourceCode} uiSourceCode
116 * @param {number} lineNumber 116 * @param {number} lineNumber
117 * @param {number} columnNumber 117 * @param {number} columnNumber
118 */ 118 */
119 didReceiveBreakpointLineForTest(uiSourceCode, lineNumber, columnNumber) { 119 didReceiveBreakpointLineForTest(uiSourceCode, lineNumber, columnNumber) {
120 } 120 }
121 121
122 /** 122 /**
123 * @param {!WebInspector.Event} event 123 * @param {!Common.Event} event
124 */ 124 */
125 _breakpointRemoved(event) { 125 _breakpointRemoved(event) {
126 var breakpoint = /** @type {!WebInspector.BreakpointManager.Breakpoint} */ ( event.data.breakpoint); 126 var breakpoint = /** @type {!Bindings.BreakpointManager.Breakpoint} */ (even t.data.breakpoint);
127 var breakpointItem = this._items.get(breakpoint); 127 var breakpointItem = this._items.get(breakpoint);
128 if (!breakpointItem) 128 if (!breakpointItem)
129 return; 129 return;
130 this._items.remove(breakpoint); 130 this._items.remove(breakpoint);
131 this._removeListElement(breakpointItem.element); 131 this._removeListElement(breakpointItem.element);
132 } 132 }
133 133
134 /** 134 /**
135 * @override 135 * @override
136 * @param {?Object} object 136 * @param {?Object} object
137 */ 137 */
138 flavorChanged(object) { 138 flavorChanged(object) {
139 this._update(); 139 this._update();
140 } 140 }
141 141
142 _update() { 142 _update() {
143 var details = WebInspector.context.flavor(WebInspector.DebuggerPausedDetails ); 143 var details = UI.context.flavor(SDK.DebuggerPausedDetails);
144 var uiLocation = details && details.callFrames.length ? 144 var uiLocation = details && details.callFrames.length ?
145 WebInspector.debuggerWorkspaceBinding.rawLocationToUILocation(details.ca llFrames[0].location()) : 145 Bindings.debuggerWorkspaceBinding.rawLocationToUILocation(details.callFr ames[0].location()) :
146 null; 146 null;
147 var breakpoint = uiLocation ? 147 var breakpoint = uiLocation ?
148 this._breakpointManager.findBreakpoint( 148 this._breakpointManager.findBreakpoint(
149 uiLocation.uiSourceCode, uiLocation.lineNumber, uiLocation.columnNum ber) : 149 uiLocation.uiSourceCode, uiLocation.lineNumber, uiLocation.columnNum ber) :
150 null; 150 null;
151 var breakpointItem = this._items.get(breakpoint); 151 var breakpointItem = this._items.get(breakpoint);
152 if (!breakpointItem) { 152 if (!breakpointItem) {
153 if (this._highlightedBreakpointItem) { 153 if (this._highlightedBreakpointItem) {
154 this._highlightedBreakpointItem.element.classList.remove('breakpoint-hit '); 154 this._highlightedBreakpointItem.element.classList.remove('breakpoint-hit ');
155 delete this._highlightedBreakpointItem; 155 delete this._highlightedBreakpointItem;
156 } 156 }
157 return; 157 return;
158 } 158 }
159 159
160 breakpointItem.element.classList.add('breakpoint-hit'); 160 breakpointItem.element.classList.add('breakpoint-hit');
161 this._highlightedBreakpointItem = breakpointItem; 161 this._highlightedBreakpointItem = breakpointItem;
162 WebInspector.viewManager.showView('sources.jsBreakpoints'); 162 UI.viewManager.showView('sources.jsBreakpoints');
163 } 163 }
164 164
165 _breakpointsActiveStateChanged() { 165 _breakpointsActiveStateChanged() {
166 this._listElement.classList.toggle('breakpoints-list-deactivated', !this._br eakpointManager.breakpointsActive()); 166 this._listElement.classList.toggle('breakpoints-list-deactivated', !this._br eakpointManager.breakpointsActive());
167 } 167 }
168 168
169 /** 169 /**
170 * @param {!WebInspector.UILocation} uiLocation 170 * @param {!Workspace.UILocation} uiLocation
171 */ 171 */
172 _breakpointClicked(uiLocation) { 172 _breakpointClicked(uiLocation) {
173 WebInspector.Revealer.reveal(uiLocation); 173 Common.Revealer.reveal(uiLocation);
174 } 174 }
175 175
176 /** 176 /**
177 * @param {!WebInspector.BreakpointManager.Breakpoint} breakpoint 177 * @param {!Bindings.BreakpointManager.Breakpoint} breakpoint
178 * @param {!Event} event 178 * @param {!Event} event
179 */ 179 */
180 _breakpointCheckboxClicked(breakpoint, event) { 180 _breakpointCheckboxClicked(breakpoint, event) {
181 // Breakpoint element has it's own click handler. 181 // Breakpoint element has it's own click handler.
182 event.consume(); 182 event.consume();
183 breakpoint.setEnabled(event.target.checkboxElement.checked); 183 breakpoint.setEnabled(event.target.checkboxElement.checked);
184 } 184 }
185 185
186 /** 186 /**
187 * @param {!WebInspector.BreakpointManager.Breakpoint} breakpoint 187 * @param {!Bindings.BreakpointManager.Breakpoint} breakpoint
188 * @param {!Event} event 188 * @param {!Event} event
189 */ 189 */
190 _breakpointContextMenu(breakpoint, event) { 190 _breakpointContextMenu(breakpoint, event) {
191 var breakpoints = this._items.valuesArray(); 191 var breakpoints = this._items.valuesArray();
192 var contextMenu = new WebInspector.ContextMenu(event); 192 var contextMenu = new UI.ContextMenu(event);
193 contextMenu.appendItem(WebInspector.UIString.capitalize('Remove ^breakpoint' ), breakpoint.remove.bind(breakpoint)); 193 contextMenu.appendItem(Common.UIString.capitalize('Remove ^breakpoint'), bre akpoint.remove.bind(breakpoint));
194 if (breakpoints.length > 1) { 194 if (breakpoints.length > 1) {
195 var removeAllTitle = WebInspector.UIString.capitalize('Remove ^all ^breakp oints'); 195 var removeAllTitle = Common.UIString.capitalize('Remove ^all ^breakpoints' );
196 contextMenu.appendItem( 196 contextMenu.appendItem(
197 removeAllTitle, this._breakpointManager.removeAllBreakpoints.bind(this ._breakpointManager)); 197 removeAllTitle, this._breakpointManager.removeAllBreakpoints.bind(this ._breakpointManager));
198 } 198 }
199 199
200 contextMenu.appendSeparator(); 200 contextMenu.appendSeparator();
201 this._appendBreakpointActiveItem(contextMenu); 201 this._appendBreakpointActiveItem(contextMenu);
202 202
203 function enabledBreakpointCount(breakpoints) { 203 function enabledBreakpointCount(breakpoints) {
204 var count = 0; 204 var count = 0;
205 for (var i = 0; i < breakpoints.length; ++i) { 205 for (var i = 0; i < breakpoints.length; ++i) {
206 if (breakpoints[i].checkbox.checked) 206 if (breakpoints[i].checkbox.checked)
207 count++; 207 count++;
208 } 208 }
209 return count; 209 return count;
210 } 210 }
211 if (breakpoints.length > 1) { 211 if (breakpoints.length > 1) {
212 var enableBreakpointCount = enabledBreakpointCount(breakpoints); 212 var enableBreakpointCount = enabledBreakpointCount(breakpoints);
213 var enableTitle = WebInspector.UIString.capitalize('Enable ^all ^breakpoin ts'); 213 var enableTitle = Common.UIString.capitalize('Enable ^all ^breakpoints');
214 var disableTitle = WebInspector.UIString.capitalize('Disable ^all ^breakpo ints'); 214 var disableTitle = Common.UIString.capitalize('Disable ^all ^breakpoints') ;
215 215
216 contextMenu.appendSeparator(); 216 contextMenu.appendSeparator();
217 217
218 contextMenu.appendItem( 218 contextMenu.appendItem(
219 enableTitle, this._breakpointManager.toggleAllBreakpoints.bind(this._b reakpointManager, true), 219 enableTitle, this._breakpointManager.toggleAllBreakpoints.bind(this._b reakpointManager, true),
220 !(enableBreakpointCount !== breakpoints.length)); 220 !(enableBreakpointCount !== breakpoints.length));
221 contextMenu.appendItem( 221 contextMenu.appendItem(
222 disableTitle, this._breakpointManager.toggleAllBreakpoints.bind(this._ breakpointManager, false), 222 disableTitle, this._breakpointManager.toggleAllBreakpoints.bind(this._ breakpointManager, false),
223 !(enableBreakpointCount > 1)); 223 !(enableBreakpointCount > 1));
224 } 224 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 258
259 reset() { 259 reset() {
260 this._listElement.removeChildren(); 260 this._listElement.removeChildren();
261 if (this._listElement.parentElement) { 261 if (this._listElement.parentElement) {
262 this.element.removeChild(this._listElement); 262 this.element.removeChild(this._listElement);
263 this.element.appendChild(this.emptyElement); 263 this.element.appendChild(this.emptyElement);
264 } 264 }
265 this._items.clear(); 265 this._items.clear();
266 } 266 }
267 }; 267 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698