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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sources/XHRBreakpointsSidebarPane.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 * @implements {WebInspector.TargetManager.Observer} 6 * @implements {SDK.TargetManager.Observer}
7 * @implements {WebInspector.ToolbarItem.ItemsProvider} 7 * @implements {UI.ToolbarItem.ItemsProvider}
8 * @unrestricted 8 * @unrestricted
9 */ 9 */
10 WebInspector.XHRBreakpointsSidebarPane = class extends WebInspector.BreakpointsS idebarPaneBase { 10 Sources.XHRBreakpointsSidebarPane = class extends Components.BreakpointsSidebarP aneBase {
11 constructor() { 11 constructor() {
12 super(); 12 super();
13 this._xhrBreakpointsSetting = WebInspector.settings.createLocalSetting('xhrB reakpoints', []); 13 this._xhrBreakpointsSetting = Common.settings.createLocalSetting('xhrBreakpo ints', []);
14 14
15 /** @type {!Map.<string, !Element>} */ 15 /** @type {!Map.<string, !Element>} */
16 this._breakpointElements = new Map(); 16 this._breakpointElements = new Map();
17 17
18 this._addButton = new WebInspector.ToolbarButton(WebInspector.UIString('Add breakpoint'), 'largeicon-add'); 18 this._addButton = new UI.ToolbarButton(Common.UIString('Add breakpoint'), 'l argeicon-add');
19 this._addButton.addEventListener('click', this._addButtonClicked.bind(this)) ; 19 this._addButton.addEventListener('click', this._addButtonClicked.bind(this)) ;
20 20
21 this.emptyElement.addEventListener('contextmenu', this._emptyElementContextM enu.bind(this), true); 21 this.emptyElement.addEventListener('contextmenu', this._emptyElementContextM enu.bind(this), true);
22 WebInspector.targetManager.observeTargets(this, WebInspector.Target.Capabili ty.Browser); 22 SDK.targetManager.observeTargets(this, SDK.Target.Capability.Browser);
23 this._update(); 23 this._update();
24 } 24 }
25 25
26 /** 26 /**
27 * @override 27 * @override
28 * @param {!WebInspector.Target} target 28 * @param {!SDK.Target} target
29 */ 29 */
30 targetAdded(target) { 30 targetAdded(target) {
31 this._restoreBreakpoints(target); 31 this._restoreBreakpoints(target);
32 } 32 }
33 33
34 /** 34 /**
35 * @override 35 * @override
36 * @param {!WebInspector.Target} target 36 * @param {!SDK.Target} target
37 */ 37 */
38 targetRemoved(target) { 38 targetRemoved(target) {
39 } 39 }
40 40
41 /** 41 /**
42 * @override 42 * @override
43 * @return {!Array<!WebInspector.ToolbarItem>} 43 * @return {!Array<!UI.ToolbarItem>}
44 */ 44 */
45 toolbarItems() { 45 toolbarItems() {
46 return [this._addButton]; 46 return [this._addButton];
47 } 47 }
48 48
49 _emptyElementContextMenu(event) { 49 _emptyElementContextMenu(event) {
50 var contextMenu = new WebInspector.ContextMenu(event); 50 var contextMenu = new UI.ContextMenu(event);
51 contextMenu.appendItem(WebInspector.UIString.capitalize('Add ^breakpoint'), this._addButtonClicked.bind(this)); 51 contextMenu.appendItem(Common.UIString.capitalize('Add ^breakpoint'), this._ addButtonClicked.bind(this));
52 contextMenu.show(); 52 contextMenu.show();
53 } 53 }
54 54
55 _addButtonClicked(event) { 55 _addButtonClicked(event) {
56 if (event) 56 if (event)
57 event.consume(); 57 event.consume();
58 58
59 WebInspector.viewManager.showView('sources.xhrBreakpoints'); 59 UI.viewManager.showView('sources.xhrBreakpoints');
60 60
61 var inputElementContainer = createElementWithClass('p', 'breakpoint-conditio n'); 61 var inputElementContainer = createElementWithClass('p', 'breakpoint-conditio n');
62 inputElementContainer.textContent = WebInspector.UIString('Break when URL co ntains:'); 62 inputElementContainer.textContent = Common.UIString('Break when URL contains :');
63 63
64 var inputElement = inputElementContainer.createChild('span', 'editing'); 64 var inputElement = inputElementContainer.createChild('span', 'editing');
65 inputElement.id = 'breakpoint-condition-input'; 65 inputElement.id = 'breakpoint-condition-input';
66 this.addListElement(inputElementContainer, /** @type {?Element} */ (this.lis tElement.firstChild)); 66 this.addListElement(inputElementContainer, /** @type {?Element} */ (this.lis tElement.firstChild));
67 67
68 /** 68 /**
69 * @param {boolean} accept 69 * @param {boolean} accept
70 * @param {!Element} e 70 * @param {!Element} e
71 * @param {string} text 71 * @param {string} text
72 * @this {WebInspector.XHRBreakpointsSidebarPane} 72 * @this {Sources.XHRBreakpointsSidebarPane}
73 */ 73 */
74 function finishEditing(accept, e, text) { 74 function finishEditing(accept, e, text) {
75 this.removeListElement(inputElementContainer); 75 this.removeListElement(inputElementContainer);
76 if (accept) { 76 if (accept) {
77 this._setBreakpoint(text, true); 77 this._setBreakpoint(text, true);
78 this._saveBreakpoints(); 78 this._saveBreakpoints();
79 } 79 }
80 } 80 }
81 81
82 var config = new WebInspector.InplaceEditor.Config(finishEditing.bind(this, true), finishEditing.bind(this, false)); 82 var config = new UI.InplaceEditor.Config(finishEditing.bind(this, true), fin ishEditing.bind(this, false));
83 WebInspector.InplaceEditor.startEditing(inputElement, config); 83 UI.InplaceEditor.startEditing(inputElement, config);
84 } 84 }
85 85
86 /** 86 /**
87 * @param {string} url 87 * @param {string} url
88 * @param {boolean} enabled 88 * @param {boolean} enabled
89 * @param {!WebInspector.Target=} target 89 * @param {!SDK.Target=} target
90 */ 90 */
91 _setBreakpoint(url, enabled, target) { 91 _setBreakpoint(url, enabled, target) {
92 if (enabled) 92 if (enabled)
93 this._updateBreakpointOnTarget(url, true, target); 93 this._updateBreakpointOnTarget(url, true, target);
94 94
95 if (this._breakpointElements.has(url)) { 95 if (this._breakpointElements.has(url)) {
96 this._breakpointElements.get(url)._checkboxElement.checked = enabled; 96 this._breakpointElements.get(url)._checkboxElement.checked = enabled;
97 return; 97 return;
98 } 98 }
99 99
100 var element = createElement('li'); 100 var element = createElement('li');
101 element._url = url; 101 element._url = url;
102 element.addEventListener('contextmenu', this._contextMenu.bind(this, url), t rue); 102 element.addEventListener('contextmenu', this._contextMenu.bind(this, url), t rue);
103 103
104 var title = url ? WebInspector.UIString('URL contains "%s"', url) : WebInspe ctor.UIString('Any XHR'); 104 var title = url ? Common.UIString('URL contains "%s"', url) : Common.UIStrin g('Any XHR');
105 var label = createCheckboxLabel(title, enabled); 105 var label = createCheckboxLabel(title, enabled);
106 element.appendChild(label); 106 element.appendChild(label);
107 label.checkboxElement.addEventListener('click', this._checkboxClicked.bind(t his, url), false); 107 label.checkboxElement.addEventListener('click', this._checkboxClicked.bind(t his, url), false);
108 element._checkboxElement = label.checkboxElement; 108 element._checkboxElement = label.checkboxElement;
109 109
110 label.textElement.classList.add('cursor-auto'); 110 label.textElement.classList.add('cursor-auto');
111 label.textElement.addEventListener('dblclick', this._labelClicked.bind(this, url), false); 111 label.textElement.addEventListener('dblclick', this._labelClicked.bind(this, url), false);
112 112
113 var currentElement = /** @type {?Element} */ (this.listElement.firstChild); 113 var currentElement = /** @type {?Element} */ (this.listElement.firstChild);
114 while (currentElement) { 114 while (currentElement) {
115 if (currentElement._url && currentElement._url < element._url) 115 if (currentElement._url && currentElement._url < element._url)
116 break; 116 break;
117 currentElement = /** @type {?Element} */ (currentElement.nextSibling); 117 currentElement = /** @type {?Element} */ (currentElement.nextSibling);
118 } 118 }
119 this.addListElement(element, currentElement); 119 this.addListElement(element, currentElement);
120 this._breakpointElements.set(url, element); 120 this._breakpointElements.set(url, element);
121 } 121 }
122 122
123 /** 123 /**
124 * @param {string} url 124 * @param {string} url
125 * @param {!WebInspector.Target=} target 125 * @param {!SDK.Target=} target
126 */ 126 */
127 _removeBreakpoint(url, target) { 127 _removeBreakpoint(url, target) {
128 var element = this._breakpointElements.get(url); 128 var element = this._breakpointElements.get(url);
129 if (!element) 129 if (!element)
130 return; 130 return;
131 131
132 this.removeListElement(element); 132 this.removeListElement(element);
133 this._breakpointElements.delete(url); 133 this._breakpointElements.delete(url);
134 if (element._checkboxElement.checked) 134 if (element._checkboxElement.checked)
135 this._updateBreakpointOnTarget(url, false, target); 135 this._updateBreakpointOnTarget(url, false, target);
136 } 136 }
137 137
138 /** 138 /**
139 * @param {string} url 139 * @param {string} url
140 * @param {boolean} enable 140 * @param {boolean} enable
141 * @param {!WebInspector.Target=} target 141 * @param {!SDK.Target=} target
142 */ 142 */
143 _updateBreakpointOnTarget(url, enable, target) { 143 _updateBreakpointOnTarget(url, enable, target) {
144 var targets = target ? [target] : WebInspector.targetManager.targets(WebInsp ector.Target.Capability.Browser); 144 var targets = target ? [target] : SDK.targetManager.targets(SDK.Target.Capab ility.Browser);
145 for (target of targets) { 145 for (target of targets) {
146 if (enable) 146 if (enable)
147 target.domdebuggerAgent().setXHRBreakpoint(url); 147 target.domdebuggerAgent().setXHRBreakpoint(url);
148 else 148 else
149 target.domdebuggerAgent().removeXHRBreakpoint(url); 149 target.domdebuggerAgent().removeXHRBreakpoint(url);
150 } 150 }
151 } 151 }
152 152
153 _contextMenu(url, event) { 153 _contextMenu(url, event) {
154 var contextMenu = new WebInspector.ContextMenu(event); 154 var contextMenu = new UI.ContextMenu(event);
155 155
156 /** 156 /**
157 * @this {WebInspector.XHRBreakpointsSidebarPane} 157 * @this {Sources.XHRBreakpointsSidebarPane}
158 */ 158 */
159 function removeBreakpoint() { 159 function removeBreakpoint() {
160 this._removeBreakpoint(url); 160 this._removeBreakpoint(url);
161 this._saveBreakpoints(); 161 this._saveBreakpoints();
162 } 162 }
163 163
164 /** 164 /**
165 * @this {WebInspector.XHRBreakpointsSidebarPane} 165 * @this {Sources.XHRBreakpointsSidebarPane}
166 */ 166 */
167 function removeAllBreakpoints() { 167 function removeAllBreakpoints() {
168 for (var url of this._breakpointElements.keys()) 168 for (var url of this._breakpointElements.keys())
169 this._removeBreakpoint(url); 169 this._removeBreakpoint(url);
170 this._saveBreakpoints(); 170 this._saveBreakpoints();
171 } 171 }
172 var removeAllTitle = WebInspector.UIString.capitalize('Remove ^all ^breakpoi nts'); 172 var removeAllTitle = Common.UIString.capitalize('Remove ^all ^breakpoints');
173 173
174 contextMenu.appendItem(WebInspector.UIString.capitalize('Add ^breakpoint'), this._addButtonClicked.bind(this)); 174 contextMenu.appendItem(Common.UIString.capitalize('Add ^breakpoint'), this._ addButtonClicked.bind(this));
175 contextMenu.appendItem(WebInspector.UIString.capitalize('Remove ^breakpoint' ), removeBreakpoint.bind(this)); 175 contextMenu.appendItem(Common.UIString.capitalize('Remove ^breakpoint'), rem oveBreakpoint.bind(this));
176 contextMenu.appendItem(removeAllTitle, removeAllBreakpoints.bind(this)); 176 contextMenu.appendItem(removeAllTitle, removeAllBreakpoints.bind(this));
177 contextMenu.show(); 177 contextMenu.show();
178 } 178 }
179 179
180 _checkboxClicked(url, event) { 180 _checkboxClicked(url, event) {
181 this._updateBreakpointOnTarget(url, event.target.checked); 181 this._updateBreakpointOnTarget(url, event.target.checked);
182 this._saveBreakpoints(); 182 this._saveBreakpoints();
183 } 183 }
184 184
185 _labelClicked(url) { 185 _labelClicked(url) {
186 var element = this._breakpointElements.get(url) || null; 186 var element = this._breakpointElements.get(url) || null;
187 var inputElement = createElementWithClass('span', 'breakpoint-condition edit ing'); 187 var inputElement = createElementWithClass('span', 'breakpoint-condition edit ing');
188 inputElement.textContent = url; 188 inputElement.textContent = url;
189 this.listElement.insertBefore(inputElement, element); 189 this.listElement.insertBefore(inputElement, element);
190 element.classList.add('hidden'); 190 element.classList.add('hidden');
191 191
192 /** 192 /**
193 * @param {boolean} accept 193 * @param {boolean} accept
194 * @param {!Element} e 194 * @param {!Element} e
195 * @param {string} text 195 * @param {string} text
196 * @this {WebInspector.XHRBreakpointsSidebarPane} 196 * @this {Sources.XHRBreakpointsSidebarPane}
197 */ 197 */
198 function finishEditing(accept, e, text) { 198 function finishEditing(accept, e, text) {
199 this.removeListElement(inputElement); 199 this.removeListElement(inputElement);
200 if (accept) { 200 if (accept) {
201 this._removeBreakpoint(url); 201 this._removeBreakpoint(url);
202 this._setBreakpoint(text, element._checkboxElement.checked); 202 this._setBreakpoint(text, element._checkboxElement.checked);
203 this._saveBreakpoints(); 203 this._saveBreakpoints();
204 } else 204 } else
205 element.classList.remove('hidden'); 205 element.classList.remove('hidden');
206 } 206 }
207 207
208 WebInspector.InplaceEditor.startEditing( 208 UI.InplaceEditor.startEditing(
209 inputElement, 209 inputElement,
210 new WebInspector.InplaceEditor.Config(finishEditing.bind(this, true), fi nishEditing.bind(this, false))); 210 new UI.InplaceEditor.Config(finishEditing.bind(this, true), finishEditin g.bind(this, false)));
211 } 211 }
212 212
213 /** 213 /**
214 * @override 214 * @override
215 * @param {?Object} object 215 * @param {?Object} object
216 */ 216 */
217 flavorChanged(object) { 217 flavorChanged(object) {
218 this._update(); 218 this._update();
219 } 219 }
220 220
221 _update() { 221 _update() {
222 var details = WebInspector.context.flavor(WebInspector.DebuggerPausedDetails ); 222 var details = UI.context.flavor(SDK.DebuggerPausedDetails);
223 if (!details || details.reason !== WebInspector.DebuggerModel.BreakReason.XH R) { 223 if (!details || details.reason !== SDK.DebuggerModel.BreakReason.XHR) {
224 if (this._highlightedElement) { 224 if (this._highlightedElement) {
225 this._highlightedElement.classList.remove('breakpoint-hit'); 225 this._highlightedElement.classList.remove('breakpoint-hit');
226 delete this._highlightedElement; 226 delete this._highlightedElement;
227 } 227 }
228 return; 228 return;
229 } 229 }
230 var url = details.auxData['breakpointURL']; 230 var url = details.auxData['breakpointURL'];
231 var element = this._breakpointElements.get(url); 231 var element = this._breakpointElements.get(url);
232 if (!element) 232 if (!element)
233 return; 233 return;
234 WebInspector.viewManager.showView('sources.xhrBreakpoints'); 234 UI.viewManager.showView('sources.xhrBreakpoints');
235 element.classList.add('breakpoint-hit'); 235 element.classList.add('breakpoint-hit');
236 this._highlightedElement = element; 236 this._highlightedElement = element;
237 } 237 }
238 238
239 _saveBreakpoints() { 239 _saveBreakpoints() {
240 var breakpoints = []; 240 var breakpoints = [];
241 for (var url of this._breakpointElements.keys()) 241 for (var url of this._breakpointElements.keys())
242 breakpoints.push({url: url, enabled: this._breakpointElements.get(url)._ch eckboxElement.checked}); 242 breakpoints.push({url: url, enabled: this._breakpointElements.get(url)._ch eckboxElement.checked});
243 this._xhrBreakpointsSetting.set(breakpoints); 243 this._xhrBreakpointsSetting.set(breakpoints);
244 } 244 }
245 245
246 /** 246 /**
247 * @param {!WebInspector.Target} target 247 * @param {!SDK.Target} target
248 */ 248 */
249 _restoreBreakpoints(target) { 249 _restoreBreakpoints(target) {
250 var breakpoints = this._xhrBreakpointsSetting.get(); 250 var breakpoints = this._xhrBreakpointsSetting.get();
251 for (var i = 0; i < breakpoints.length; ++i) { 251 for (var i = 0; i < breakpoints.length; ++i) {
252 var breakpoint = breakpoints[i]; 252 var breakpoint = breakpoints[i];
253 if (breakpoint && typeof breakpoint.url === 'string') 253 if (breakpoint && typeof breakpoint.url === 'string')
254 this._setBreakpoint(breakpoint.url, breakpoint.enabled, target); 254 this._setBreakpoint(breakpoint.url, breakpoint.enabled, target);
255 } 255 }
256 } 256 }
257 }; 257 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698