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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/elements/ElementsPanel.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) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com> 3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
4 * Copyright (C) 2009 Joseph Pecoraro 4 * Copyright (C) 2009 Joseph Pecoraro
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 10 matching lines...) Expand all
21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 22 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
23 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 /** 30 /**
31 * @implements {WebInspector.Searchable} 31 * @implements {UI.Searchable}
32 * @implements {WebInspector.TargetManager.Observer} 32 * @implements {SDK.TargetManager.Observer}
33 * @implements {WebInspector.ViewLocationResolver} 33 * @implements {UI.ViewLocationResolver}
34 * @unrestricted 34 * @unrestricted
35 */ 35 */
36 WebInspector.ElementsPanel = class extends WebInspector.Panel { 36 Elements.ElementsPanel = class extends UI.Panel {
37 constructor() { 37 constructor() {
38 super('elements'); 38 super('elements');
39 this.registerRequiredCSS('elements/elementsPanel.css'); 39 this.registerRequiredCSS('elements/elementsPanel.css');
40 40
41 this._splitWidget = new WebInspector.SplitWidget(true, true, 'elementsPanelS plitViewState', 325, 325); 41 this._splitWidget = new UI.SplitWidget(true, true, 'elementsPanelSplitViewSt ate', 325, 325);
42 this._splitWidget.addEventListener( 42 this._splitWidget.addEventListener(
43 WebInspector.SplitWidget.Events.SidebarSizeChanged, this._updateTreeOutl ineVisibleWidth.bind(this)); 43 UI.SplitWidget.Events.SidebarSizeChanged, this._updateTreeOutlineVisible Width.bind(this));
44 this._splitWidget.show(this.element); 44 this._splitWidget.show(this.element);
45 45
46 this._searchableView = new WebInspector.SearchableView(this); 46 this._searchableView = new UI.SearchableView(this);
47 this._searchableView.setMinimumSize(25, 28); 47 this._searchableView.setMinimumSize(25, 28);
48 this._searchableView.setPlaceholder(WebInspector.UIString('Find by string, s elector, or XPath')); 48 this._searchableView.setPlaceholder(Common.UIString('Find by string, selecto r, or XPath'));
49 var stackElement = this._searchableView.element; 49 var stackElement = this._searchableView.element;
50 50
51 this._contentElement = createElement('div'); 51 this._contentElement = createElement('div');
52 var crumbsContainer = createElement('div'); 52 var crumbsContainer = createElement('div');
53 stackElement.appendChild(this._contentElement); 53 stackElement.appendChild(this._contentElement);
54 stackElement.appendChild(crumbsContainer); 54 stackElement.appendChild(crumbsContainer);
55 55
56 this._splitWidget.setMainWidget(this._searchableView); 56 this._splitWidget.setMainWidget(this._searchableView);
57 57
58 this._contentElement.id = 'elements-content'; 58 this._contentElement.id = 'elements-content';
59 // FIXME: crbug.com/425984 59 // FIXME: crbug.com/425984
60 if (WebInspector.moduleSetting('domWordWrap').get()) 60 if (Common.moduleSetting('domWordWrap').get())
61 this._contentElement.classList.add('elements-wrap'); 61 this._contentElement.classList.add('elements-wrap');
62 WebInspector.moduleSetting('domWordWrap').addChangeListener(this._domWordWra pSettingChanged.bind(this)); 62 Common.moduleSetting('domWordWrap').addChangeListener(this._domWordWrapSetti ngChanged.bind(this));
63 63
64 crumbsContainer.id = 'elements-crumbs'; 64 crumbsContainer.id = 'elements-crumbs';
65 this._breadcrumbs = new WebInspector.ElementsBreadcrumbs(); 65 this._breadcrumbs = new Elements.ElementsBreadcrumbs();
66 this._breadcrumbs.show(crumbsContainer); 66 this._breadcrumbs.show(crumbsContainer);
67 this._breadcrumbs.addEventListener( 67 this._breadcrumbs.addEventListener(
68 WebInspector.ElementsBreadcrumbs.Events.NodeSelected, this._crumbNodeSel ected, this); 68 Elements.ElementsBreadcrumbs.Events.NodeSelected, this._crumbNodeSelecte d, this);
69 69
70 this._currentToolbarPane = null; 70 this._currentToolbarPane = null;
71 71
72 this._stylesWidget = new WebInspector.StylesSidebarPane(); 72 this._stylesWidget = new Elements.StylesSidebarPane();
73 this._computedStyleWidget = new WebInspector.ComputedStyleWidget(); 73 this._computedStyleWidget = new Elements.ComputedStyleWidget();
74 this._metricsWidget = new WebInspector.MetricsSidebarPane(); 74 this._metricsWidget = new Elements.MetricsSidebarPane();
75 75
76 this._stylesSidebarToolbar = this._createStylesSidebarToolbar(); 76 this._stylesSidebarToolbar = this._createStylesSidebarToolbar();
77 77
78 WebInspector.moduleSetting('sidebarPosition').addChangeListener(this._update SidebarPosition.bind(this)); 78 Common.moduleSetting('sidebarPosition').addChangeListener(this._updateSideba rPosition.bind(this));
79 this._updateSidebarPosition(); 79 this._updateSidebarPosition();
80 80
81 /** @type {!Array.<!WebInspector.ElementsTreeOutline>} */ 81 /** @type {!Array.<!Elements.ElementsTreeOutline>} */
82 this._treeOutlines = []; 82 this._treeOutlines = [];
83 WebInspector.targetManager.observeTargets(this); 83 SDK.targetManager.observeTargets(this);
84 WebInspector.moduleSetting('showUAShadowDOM').addChangeListener(this._showUA ShadowDOMChanged.bind(this)); 84 Common.moduleSetting('showUAShadowDOM').addChangeListener(this._showUAShadow DOMChanged.bind(this));
85 WebInspector.targetManager.addModelListener( 85 SDK.targetManager.addModelListener(
86 WebInspector.DOMModel, WebInspector.DOMModel.Events.DocumentUpdated, thi s._documentUpdatedEvent, this); 86 SDK.DOMModel, SDK.DOMModel.Events.DocumentUpdated, this._documentUpdated Event, this);
87 WebInspector.extensionServer.addEventListener( 87 Extensions.extensionServer.addEventListener(
88 WebInspector.ExtensionServer.Events.SidebarPaneAdded, this._extensionSid ebarPaneAdded, this); 88 Extensions.ExtensionServer.Events.SidebarPaneAdded, this._extensionSideb arPaneAdded, this);
89 } 89 }
90 90
91 /** 91 /**
92 * @return {!WebInspector.ElementsPanel} 92 * @return {!Elements.ElementsPanel}
93 */ 93 */
94 static instance() { 94 static instance() {
95 return /** @type {!WebInspector.ElementsPanel} */ (self.runtime.sharedInstan ce(WebInspector.ElementsPanel)); 95 return /** @type {!Elements.ElementsPanel} */ (self.runtime.sharedInstance(E lements.ElementsPanel));
96 } 96 }
97 97
98 /** 98 /**
99 * @param {!WebInspector.CSSProperty} cssProperty 99 * @param {!SDK.CSSProperty} cssProperty
100 */ 100 */
101 _revealProperty(cssProperty) { 101 _revealProperty(cssProperty) {
102 return this.sidebarPaneView.showView(this._stylesViewToReveal).then(() => { 102 return this.sidebarPaneView.showView(this._stylesViewToReveal).then(() => {
103 this._stylesWidget.revealProperty(/** @type {!WebInspector.CSSProperty} */ (cssProperty)); 103 this._stylesWidget.revealProperty(/** @type {!SDK.CSSProperty} */ (cssProp erty));
104 }); 104 });
105 } 105 }
106 106
107 /** 107 /**
108 * @return {!Element} 108 * @return {!Element}
109 */ 109 */
110 _createStylesSidebarToolbar() { 110 _createStylesSidebarToolbar() {
111 var container = createElementWithClass('div', 'styles-sidebar-pane-toolbar-c ontainer'); 111 var container = createElementWithClass('div', 'styles-sidebar-pane-toolbar-c ontainer');
112 var hbox = container.createChild('div', 'hbox styles-sidebar-pane-toolbar'); 112 var hbox = container.createChild('div', 'hbox styles-sidebar-pane-toolbar');
113 var filterContainerElement = hbox.createChild('div', 'styles-sidebar-pane-fi lter-box'); 113 var filterContainerElement = hbox.createChild('div', 'styles-sidebar-pane-fi lter-box');
114 var filterInput = WebInspector.StylesSidebarPane.createPropertyFilterElement ( 114 var filterInput = Elements.StylesSidebarPane.createPropertyFilterElement(
115 WebInspector.UIString('Filter'), hbox, this._stylesWidget.onFilterChange d.bind(this._stylesWidget)); 115 Common.UIString('Filter'), hbox, this._stylesWidget.onFilterChanged.bind (this._stylesWidget));
116 filterContainerElement.appendChild(filterInput); 116 filterContainerElement.appendChild(filterInput);
117 var toolbar = new WebInspector.Toolbar('styles-pane-toolbar', hbox); 117 var toolbar = new UI.Toolbar('styles-pane-toolbar', hbox);
118 toolbar.makeToggledGray(); 118 toolbar.makeToggledGray();
119 toolbar.appendLocationItems('styles-sidebarpane-toolbar'); 119 toolbar.appendLocationItems('styles-sidebarpane-toolbar');
120 var toolbarPaneContainer = container.createChild('div', 'styles-sidebar-tool bar-pane-container'); 120 var toolbarPaneContainer = container.createChild('div', 'styles-sidebar-tool bar-pane-container');
121 this._toolbarPaneElement = createElementWithClass('div', 'styles-sidebar-too lbar-pane'); 121 this._toolbarPaneElement = createElementWithClass('div', 'styles-sidebar-too lbar-pane');
122 toolbarPaneContainer.appendChild(this._toolbarPaneElement); 122 toolbarPaneContainer.appendChild(this._toolbarPaneElement);
123 return container; 123 return container;
124 } 124 }
125 125
126 /** 126 /**
127 * @override 127 * @override
128 * @param {string} locationName 128 * @param {string} locationName
129 * @return {?WebInspector.ViewLocation} 129 * @return {?UI.ViewLocation}
130 */ 130 */
131 resolveLocation(locationName) { 131 resolveLocation(locationName) {
132 return this.sidebarPaneView; 132 return this.sidebarPaneView;
133 } 133 }
134 134
135 /** 135 /**
136 * @param {?WebInspector.Widget} widget 136 * @param {?UI.Widget} widget
137 * @param {!WebInspector.ToolbarToggle=} toggle 137 * @param {!UI.ToolbarToggle=} toggle
138 */ 138 */
139 showToolbarPane(widget, toggle) { 139 showToolbarPane(widget, toggle) {
140 if (this._pendingWidgetToggle) 140 if (this._pendingWidgetToggle)
141 this._pendingWidgetToggle.setToggled(false); 141 this._pendingWidgetToggle.setToggled(false);
142 this._pendingWidgetToggle = toggle; 142 this._pendingWidgetToggle = toggle;
143 143
144 if (this._animatedToolbarPane !== undefined) 144 if (this._animatedToolbarPane !== undefined)
145 this._pendingWidget = widget; 145 this._pendingWidget = widget;
146 else 146 else
147 this._startToolbarPaneAnimation(widget); 147 this._startToolbarPaneAnimation(widget);
148 148
149 if (widget && toggle) 149 if (widget && toggle)
150 toggle.setToggled(true); 150 toggle.setToggled(true);
151 } 151 }
152 152
153 /** 153 /**
154 * @param {?WebInspector.Widget} widget 154 * @param {?UI.Widget} widget
155 */ 155 */
156 _startToolbarPaneAnimation(widget) { 156 _startToolbarPaneAnimation(widget) {
157 if (widget === this._currentToolbarPane) 157 if (widget === this._currentToolbarPane)
158 return; 158 return;
159 159
160 if (widget && this._currentToolbarPane) { 160 if (widget && this._currentToolbarPane) {
161 this._currentToolbarPane.detach(); 161 this._currentToolbarPane.detach();
162 widget.show(this._toolbarPaneElement); 162 widget.show(this._toolbarPaneElement);
163 this._currentToolbarPane = widget; 163 this._currentToolbarPane = widget;
164 this._currentToolbarPane.focus(); 164 this._currentToolbarPane.focus();
165 return; 165 return;
166 } 166 }
167 167
168 this._animatedToolbarPane = widget; 168 this._animatedToolbarPane = widget;
169 169
170 if (this._currentToolbarPane) 170 if (this._currentToolbarPane)
171 this._toolbarPaneElement.style.animationName = 'styles-element-state-pane- slideout'; 171 this._toolbarPaneElement.style.animationName = 'styles-element-state-pane- slideout';
172 else if (widget) 172 else if (widget)
173 this._toolbarPaneElement.style.animationName = 'styles-element-state-pane- slidein'; 173 this._toolbarPaneElement.style.animationName = 'styles-element-state-pane- slidein';
174 174
175 if (widget) 175 if (widget)
176 widget.show(this._toolbarPaneElement); 176 widget.show(this._toolbarPaneElement);
177 177
178 var listener = onAnimationEnd.bind(this); 178 var listener = onAnimationEnd.bind(this);
179 this._toolbarPaneElement.addEventListener('animationend', listener, false); 179 this._toolbarPaneElement.addEventListener('animationend', listener, false);
180 180
181 /** 181 /**
182 * @this {WebInspector.ElementsPanel} 182 * @this {Elements.ElementsPanel}
183 */ 183 */
184 function onAnimationEnd() { 184 function onAnimationEnd() {
185 this._toolbarPaneElement.style.removeProperty('animation-name'); 185 this._toolbarPaneElement.style.removeProperty('animation-name');
186 this._toolbarPaneElement.removeEventListener('animationend', listener, fal se); 186 this._toolbarPaneElement.removeEventListener('animationend', listener, fal se);
187 187
188 if (this._currentToolbarPane) 188 if (this._currentToolbarPane)
189 this._currentToolbarPane.detach(); 189 this._currentToolbarPane.detach();
190 190
191 this._currentToolbarPane = this._animatedToolbarPane; 191 this._currentToolbarPane = this._animatedToolbarPane;
192 if (this._currentToolbarPane) 192 if (this._currentToolbarPane)
193 this._currentToolbarPane.focus(); 193 this._currentToolbarPane.focus();
194 delete this._animatedToolbarPane; 194 delete this._animatedToolbarPane;
195 195
196 if (this._pendingWidget !== undefined) { 196 if (this._pendingWidget !== undefined) {
197 this._startToolbarPaneAnimation(this._pendingWidget); 197 this._startToolbarPaneAnimation(this._pendingWidget);
198 delete this._pendingWidget; 198 delete this._pendingWidget;
199 } 199 }
200 } 200 }
201 } 201 }
202 202
203 /** 203 /**
204 * @override 204 * @override
205 * @param {!WebInspector.Target} target 205 * @param {!SDK.Target} target
206 */ 206 */
207 targetAdded(target) { 207 targetAdded(target) {
208 var domModel = WebInspector.DOMModel.fromTarget(target); 208 var domModel = SDK.DOMModel.fromTarget(target);
209 if (!domModel) 209 if (!domModel)
210 return; 210 return;
211 var treeOutline = new WebInspector.ElementsTreeOutline(domModel, true, true) ; 211 var treeOutline = new Elements.ElementsTreeOutline(domModel, true, true);
212 treeOutline.setWordWrap(WebInspector.moduleSetting('domWordWrap').get()); 212 treeOutline.setWordWrap(Common.moduleSetting('domWordWrap').get());
213 treeOutline.wireToDOMModel(); 213 treeOutline.wireToDOMModel();
214 treeOutline.addEventListener( 214 treeOutline.addEventListener(
215 WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged, this._selec tedNodeChanged, this); 215 Elements.ElementsTreeOutline.Events.SelectedNodeChanged, this._selectedN odeChanged, this);
216 treeOutline.addEventListener( 216 treeOutline.addEventListener(
217 WebInspector.ElementsTreeOutline.Events.ElementsTreeUpdated, this._updat eBreadcrumbIfNeeded, this); 217 Elements.ElementsTreeOutline.Events.ElementsTreeUpdated, this._updateBre adcrumbIfNeeded, this);
218 new WebInspector.ElementsTreeElementHighlighter(treeOutline); 218 new Elements.ElementsTreeElementHighlighter(treeOutline);
219 this._treeOutlines.push(treeOutline); 219 this._treeOutlines.push(treeOutline);
220 220
221 // Perform attach if necessary. 221 // Perform attach if necessary.
222 if (this.isShowing()) 222 if (this.isShowing())
223 this.wasShown(); 223 this.wasShown();
224 } 224 }
225 225
226 /** 226 /**
227 * @override 227 * @override
228 * @param {!WebInspector.Target} target 228 * @param {!SDK.Target} target
229 */ 229 */
230 targetRemoved(target) { 230 targetRemoved(target) {
231 var domModel = WebInspector.DOMModel.fromTarget(target); 231 var domModel = SDK.DOMModel.fromTarget(target);
232 if (!domModel) 232 if (!domModel)
233 return; 233 return;
234 var treeOutline = WebInspector.ElementsTreeOutline.forDOMModel(domModel); 234 var treeOutline = Elements.ElementsTreeOutline.forDOMModel(domModel);
235 treeOutline.unwireFromDOMModel(); 235 treeOutline.unwireFromDOMModel();
236 this._treeOutlines.remove(treeOutline); 236 this._treeOutlines.remove(treeOutline);
237 treeOutline.element.remove(); 237 treeOutline.element.remove();
238 } 238 }
239 239
240 _updateTreeOutlineVisibleWidth() { 240 _updateTreeOutlineVisibleWidth() {
241 if (!this._treeOutlines.length) 241 if (!this._treeOutlines.length)
242 return; 242 return;
243 243
244 var width = this._splitWidget.element.offsetWidth; 244 var width = this._splitWidget.element.offsetWidth;
245 if (this._splitWidget.isVertical()) 245 if (this._splitWidget.isVertical())
246 width -= this._splitWidget.sidebarSize(); 246 width -= this._splitWidget.sidebarSize();
247 for (var i = 0; i < this._treeOutlines.length; ++i) { 247 for (var i = 0; i < this._treeOutlines.length; ++i) {
248 this._treeOutlines[i].setVisibleWidth(width); 248 this._treeOutlines[i].setVisibleWidth(width);
249 } 249 }
250 this._breadcrumbs.updateSizes(); 250 this._breadcrumbs.updateSizes();
251 } 251 }
252 252
253 /** 253 /**
254 * @override 254 * @override
255 */ 255 */
256 focus() { 256 focus() {
257 if (this._treeOutlines.length) 257 if (this._treeOutlines.length)
258 this._treeOutlines[0].focus(); 258 this._treeOutlines[0].focus();
259 } 259 }
260 260
261 /** 261 /**
262 * @override 262 * @override
263 * @return {!WebInspector.SearchableView} 263 * @return {!UI.SearchableView}
264 */ 264 */
265 searchableView() { 265 searchableView() {
266 return this._searchableView; 266 return this._searchableView;
267 } 267 }
268 268
269 /** 269 /**
270 * @override 270 * @override
271 */ 271 */
272 wasShown() { 272 wasShown() {
273 WebInspector.context.setFlavor(WebInspector.ElementsPanel, this); 273 UI.context.setFlavor(Elements.ElementsPanel, this);
274 274
275 for (var i = 0; i < this._treeOutlines.length; ++i) { 275 for (var i = 0; i < this._treeOutlines.length; ++i) {
276 var treeOutline = this._treeOutlines[i]; 276 var treeOutline = this._treeOutlines[i];
277 // Attach heavy component lazily 277 // Attach heavy component lazily
278 if (treeOutline.element.parentElement !== this._contentElement) 278 if (treeOutline.element.parentElement !== this._contentElement)
279 this._contentElement.appendChild(treeOutline.element); 279 this._contentElement.appendChild(treeOutline.element);
280 } 280 }
281 super.wasShown(); 281 super.wasShown();
282 this._breadcrumbs.update(); 282 this._breadcrumbs.update();
283 283
284 for (var i = 0; i < this._treeOutlines.length; ++i) { 284 for (var i = 0; i < this._treeOutlines.length; ++i) {
285 var treeOutline = this._treeOutlines[i]; 285 var treeOutline = this._treeOutlines[i];
286 treeOutline.setVisible(true); 286 treeOutline.setVisible(true);
287 287
288 if (!treeOutline.rootDOMNode) 288 if (!treeOutline.rootDOMNode)
289 if (treeOutline.domModel().existingDocument()) 289 if (treeOutline.domModel().existingDocument())
290 this._documentUpdated(treeOutline.domModel(), treeOutline.domModel().e xistingDocument()); 290 this._documentUpdated(treeOutline.domModel(), treeOutline.domModel().e xistingDocument());
291 else 291 else
292 treeOutline.domModel().requestDocument(); 292 treeOutline.domModel().requestDocument();
293 } 293 }
294 this.focus(); 294 this.focus();
295 } 295 }
296 296
297 /** 297 /**
298 * @override 298 * @override
299 */ 299 */
300 willHide() { 300 willHide() {
301 WebInspector.context.setFlavor(WebInspector.ElementsPanel, null); 301 UI.context.setFlavor(Elements.ElementsPanel, null);
302 302
303 WebInspector.DOMModel.hideDOMNodeHighlight(); 303 SDK.DOMModel.hideDOMNodeHighlight();
304 for (var i = 0; i < this._treeOutlines.length; ++i) { 304 for (var i = 0; i < this._treeOutlines.length; ++i) {
305 var treeOutline = this._treeOutlines[i]; 305 var treeOutline = this._treeOutlines[i];
306 treeOutline.setVisible(false); 306 treeOutline.setVisible(false);
307 // Detach heavy component on hide 307 // Detach heavy component on hide
308 this._contentElement.removeChild(treeOutline.element); 308 this._contentElement.removeChild(treeOutline.element);
309 } 309 }
310 if (this._popoverHelper) 310 if (this._popoverHelper)
311 this._popoverHelper.hidePopover(); 311 this._popoverHelper.hidePopover();
312 super.willHide(); 312 super.willHide();
313 } 313 }
314 314
315 /** 315 /**
316 * @override 316 * @override
317 */ 317 */
318 onResize() { 318 onResize() {
319 if (WebInspector.moduleSetting('sidebarPosition').get() === 'auto') 319 if (Common.moduleSetting('sidebarPosition').get() === 'auto')
320 this.element.window().requestAnimationFrame(this._updateSidebarPosition.bi nd(this)); // Do not force layout. 320 this.element.window().requestAnimationFrame(this._updateSidebarPosition.bi nd(this)); // Do not force layout.
321 this._updateTreeOutlineVisibleWidth(); 321 this._updateTreeOutlineVisibleWidth();
322 } 322 }
323 323
324 /** 324 /**
325 * @param {!WebInspector.Event} event 325 * @param {!Common.Event} event
326 */ 326 */
327 _selectedNodeChanged(event) { 327 _selectedNodeChanged(event) {
328 var selectedNode = /** @type {?WebInspector.DOMNode} */ (event.data.node); 328 var selectedNode = /** @type {?SDK.DOMNode} */ (event.data.node);
329 var focus = /** @type {boolean} */ (event.data.focus); 329 var focus = /** @type {boolean} */ (event.data.focus);
330 for (var i = 0; i < this._treeOutlines.length; ++i) { 330 for (var i = 0; i < this._treeOutlines.length; ++i) {
331 if (!selectedNode || selectedNode.domModel() !== this._treeOutlines[i].dom Model()) 331 if (!selectedNode || selectedNode.domModel() !== this._treeOutlines[i].dom Model())
332 this._treeOutlines[i].selectDOMNode(null); 332 this._treeOutlines[i].selectDOMNode(null);
333 } 333 }
334 334
335 this._breadcrumbs.setSelectedNode(selectedNode); 335 this._breadcrumbs.setSelectedNode(selectedNode);
336 336
337 WebInspector.context.setFlavor(WebInspector.DOMNode, selectedNode); 337 UI.context.setFlavor(SDK.DOMNode, selectedNode);
338 338
339 if (!selectedNode) 339 if (!selectedNode)
340 return; 340 return;
341 selectedNode.setAsInspectedNode(); 341 selectedNode.setAsInspectedNode();
342 if (focus) { 342 if (focus) {
343 this._selectedNodeOnReset = selectedNode; 343 this._selectedNodeOnReset = selectedNode;
344 this._hasNonDefaultSelectedNode = true; 344 this._hasNonDefaultSelectedNode = true;
345 } 345 }
346 346
347 var executionContexts = selectedNode.target().runtimeModel.executionContexts (); 347 var executionContexts = selectedNode.target().runtimeModel.executionContexts ();
348 var nodeFrameId = selectedNode.frameId(); 348 var nodeFrameId = selectedNode.frameId();
349 for (var context of executionContexts) { 349 for (var context of executionContexts) {
350 if (context.frameId === nodeFrameId) { 350 if (context.frameId === nodeFrameId) {
351 WebInspector.context.setFlavor(WebInspector.ExecutionContext, context); 351 UI.context.setFlavor(SDK.ExecutionContext, context);
352 break; 352 break;
353 } 353 }
354 } 354 }
355 } 355 }
356 356
357 _reset() { 357 _reset() {
358 delete this.currentQuery; 358 delete this.currentQuery;
359 } 359 }
360 360
361 /** 361 /**
362 * @param {!WebInspector.Event} event 362 * @param {!Common.Event} event
363 */ 363 */
364 _documentUpdatedEvent(event) { 364 _documentUpdatedEvent(event) {
365 this._documentUpdated( 365 this._documentUpdated(
366 /** @type {!WebInspector.DOMModel} */ (event.target), /** @type {?WebIns pector.DOMDocument} */ (event.data)); 366 /** @type {!SDK.DOMModel} */ (event.target), /** @type {?SDK.DOMDocument } */ (event.data));
367 } 367 }
368 368
369 /** 369 /**
370 * @param {!WebInspector.DOMModel} domModel 370 * @param {!SDK.DOMModel} domModel
371 * @param {?WebInspector.DOMDocument} inspectedRootDocument 371 * @param {?SDK.DOMDocument} inspectedRootDocument
372 */ 372 */
373 _documentUpdated(domModel, inspectedRootDocument) { 373 _documentUpdated(domModel, inspectedRootDocument) {
374 this._reset(); 374 this._reset();
375 this.searchCanceled(); 375 this.searchCanceled();
376 376
377 var treeOutline = WebInspector.ElementsTreeOutline.forDOMModel(domModel); 377 var treeOutline = Elements.ElementsTreeOutline.forDOMModel(domModel);
378 treeOutline.rootDOMNode = inspectedRootDocument; 378 treeOutline.rootDOMNode = inspectedRootDocument;
379 379
380 if (!inspectedRootDocument) { 380 if (!inspectedRootDocument) {
381 if (this.isShowing()) 381 if (this.isShowing())
382 domModel.requestDocument(); 382 domModel.requestDocument();
383 return; 383 return;
384 } 384 }
385 385
386 this._hasNonDefaultSelectedNode = false; 386 this._hasNonDefaultSelectedNode = false;
387 WebInspector.domBreakpointsSidebarPane.restoreBreakpoints(inspectedRootDocum ent); 387 Components.domBreakpointsSidebarPane.restoreBreakpoints(inspectedRootDocumen t);
388 388
389 if (this._omitDefaultSelection) 389 if (this._omitDefaultSelection)
390 return; 390 return;
391 391
392 var savedSelectedNodeOnReset = this._selectedNodeOnReset; 392 var savedSelectedNodeOnReset = this._selectedNodeOnReset;
393 restoreNode.call(this, domModel, this._selectedNodeOnReset); 393 restoreNode.call(this, domModel, this._selectedNodeOnReset);
394 394
395 /** 395 /**
396 * @param {!WebInspector.DOMModel} domModel 396 * @param {!SDK.DOMModel} domModel
397 * @param {?WebInspector.DOMNode} staleNode 397 * @param {?SDK.DOMNode} staleNode
398 * @this {WebInspector.ElementsPanel} 398 * @this {Elements.ElementsPanel}
399 */ 399 */
400 function restoreNode(domModel, staleNode) { 400 function restoreNode(domModel, staleNode) {
401 var nodePath = staleNode ? staleNode.path() : null; 401 var nodePath = staleNode ? staleNode.path() : null;
402 if (!nodePath) { 402 if (!nodePath) {
403 onNodeRestored.call(this, null); 403 onNodeRestored.call(this, null);
404 return; 404 return;
405 } 405 }
406 domModel.pushNodeByPathToFrontend(nodePath, onNodeRestored.bind(this)); 406 domModel.pushNodeByPathToFrontend(nodePath, onNodeRestored.bind(this));
407 } 407 }
408 408
409 /** 409 /**
410 * @param {?Protocol.DOM.NodeId} restoredNodeId 410 * @param {?Protocol.DOM.NodeId} restoredNodeId
411 * @this {WebInspector.ElementsPanel} 411 * @this {Elements.ElementsPanel}
412 */ 412 */
413 function onNodeRestored(restoredNodeId) { 413 function onNodeRestored(restoredNodeId) {
414 if (savedSelectedNodeOnReset !== this._selectedNodeOnReset) 414 if (savedSelectedNodeOnReset !== this._selectedNodeOnReset)
415 return; 415 return;
416 var node = restoredNodeId ? domModel.nodeForId(restoredNodeId) : null; 416 var node = restoredNodeId ? domModel.nodeForId(restoredNodeId) : null;
417 if (!node) { 417 if (!node) {
418 var inspectedDocument = domModel.existingDocument(); 418 var inspectedDocument = domModel.existingDocument();
419 node = inspectedDocument ? inspectedDocument.body || inspectedDocument.d ocumentElement : null; 419 node = inspectedDocument ? inspectedDocument.body || inspectedDocument.d ocumentElement : null;
420 } 420 }
421 this._setDefaultSelectedNode(node); 421 this._setDefaultSelectedNode(node);
422 this._lastSelectedNodeSelectedForTest(); 422 this._lastSelectedNodeSelectedForTest();
423 } 423 }
424 } 424 }
425 425
426 _lastSelectedNodeSelectedForTest() { 426 _lastSelectedNodeSelectedForTest() {
427 } 427 }
428 428
429 /** 429 /**
430 * @param {?WebInspector.DOMNode} node 430 * @param {?SDK.DOMNode} node
431 */ 431 */
432 _setDefaultSelectedNode(node) { 432 _setDefaultSelectedNode(node) {
433 if (!node || this._hasNonDefaultSelectedNode || this._pendingNodeReveal) 433 if (!node || this._hasNonDefaultSelectedNode || this._pendingNodeReveal)
434 return; 434 return;
435 var treeOutline = WebInspector.ElementsTreeOutline.forDOMModel(node.domModel ()); 435 var treeOutline = Elements.ElementsTreeOutline.forDOMModel(node.domModel());
436 if (!treeOutline) 436 if (!treeOutline)
437 return; 437 return;
438 this.selectDOMNode(node); 438 this.selectDOMNode(node);
439 if (treeOutline.selectedTreeElement) 439 if (treeOutline.selectedTreeElement)
440 treeOutline.selectedTreeElement.expand(); 440 treeOutline.selectedTreeElement.expand();
441 } 441 }
442 442
443 /** 443 /**
444 * @override 444 * @override
445 */ 445 */
446 searchCanceled() { 446 searchCanceled() {
447 delete this._searchQuery; 447 delete this._searchQuery;
448 this._hideSearchHighlights(); 448 this._hideSearchHighlights();
449 449
450 this._searchableView.updateSearchMatchesCount(0); 450 this._searchableView.updateSearchMatchesCount(0);
451 451
452 delete this._currentSearchResultIndex; 452 delete this._currentSearchResultIndex;
453 delete this._searchResults; 453 delete this._searchResults;
454 454
455 WebInspector.DOMModel.cancelSearch(); 455 SDK.DOMModel.cancelSearch();
456 } 456 }
457 457
458 /** 458 /**
459 * @override 459 * @override
460 * @param {!WebInspector.SearchableView.SearchConfig} searchConfig 460 * @param {!UI.SearchableView.SearchConfig} searchConfig
461 * @param {boolean} shouldJump 461 * @param {boolean} shouldJump
462 * @param {boolean=} jumpBackwards 462 * @param {boolean=} jumpBackwards
463 */ 463 */
464 performSearch(searchConfig, shouldJump, jumpBackwards) { 464 performSearch(searchConfig, shouldJump, jumpBackwards) {
465 var query = searchConfig.query; 465 var query = searchConfig.query;
466 // Call searchCanceled since it will reset everything we need before doing a new search. 466 // Call searchCanceled since it will reset everything we need before doing a new search.
467 this.searchCanceled(); 467 this.searchCanceled();
468 468
469 const whitespaceTrimmedQuery = query.trim(); 469 const whitespaceTrimmedQuery = query.trim();
470 if (!whitespaceTrimmedQuery.length) 470 if (!whitespaceTrimmedQuery.length)
471 return; 471 return;
472 472
473 this._searchQuery = query; 473 this._searchQuery = query;
474 474
475 var promises = []; 475 var promises = [];
476 var domModels = WebInspector.DOMModel.instances(); 476 var domModels = SDK.DOMModel.instances();
477 for (var domModel of domModels) 477 for (var domModel of domModels)
478 promises.push( 478 promises.push(
479 domModel.performSearchPromise(whitespaceTrimmedQuery, WebInspector.mod uleSetting('showUAShadowDOM').get())); 479 domModel.performSearchPromise(whitespaceTrimmedQuery, Common.moduleSet ting('showUAShadowDOM').get()));
480 Promise.all(promises).then(resultCountCallback.bind(this)); 480 Promise.all(promises).then(resultCountCallback.bind(this));
481 481
482 /** 482 /**
483 * @param {!Array.<number>} resultCounts 483 * @param {!Array.<number>} resultCounts
484 * @this {WebInspector.ElementsPanel} 484 * @this {Elements.ElementsPanel}
485 */ 485 */
486 function resultCountCallback(resultCounts) { 486 function resultCountCallback(resultCounts) {
487 /** 487 /**
488 * @type {!Array.<{domModel: !WebInspector.DOMModel, index: number, node: (?WebInspector.DOMNode|undefined)}>} 488 * @type {!Array.<{domModel: !SDK.DOMModel, index: number, node: (?SDK.DOM Node|undefined)}>}
489 */ 489 */
490 this._searchResults = []; 490 this._searchResults = [];
491 for (var i = 0; i < resultCounts.length; ++i) { 491 for (var i = 0; i < resultCounts.length; ++i) {
492 var resultCount = resultCounts[i]; 492 var resultCount = resultCounts[i];
493 for (var j = 0; j < resultCount; ++j) 493 for (var j = 0; j < resultCount; ++j)
494 this._searchResults.push({domModel: domModels[i], index: j, node: unde fined}); 494 this._searchResults.push({domModel: domModels[i], index: j, node: unde fined});
495 } 495 }
496 this._searchableView.updateSearchMatchesCount(this._searchResults.length); 496 this._searchableView.updateSearchMatchesCount(this._searchResults.length);
497 if (!this._searchResults.length) 497 if (!this._searchResults.length)
498 return; 498 return;
499 this._currentSearchResultIndex = -1; 499 this._currentSearchResultIndex = -1;
500 500
501 if (shouldJump) 501 if (shouldJump)
502 this._jumpToSearchResult(jumpBackwards ? -1 : 0); 502 this._jumpToSearchResult(jumpBackwards ? -1 : 0);
503 } 503 }
504 } 504 }
505 505
506 _domWordWrapSettingChanged(event) { 506 _domWordWrapSettingChanged(event) {
507 // FIXME: crbug.com/425984 507 // FIXME: crbug.com/425984
508 this._contentElement.classList.toggle('elements-wrap', event.data); 508 this._contentElement.classList.toggle('elements-wrap', event.data);
509 for (var i = 0; i < this._treeOutlines.length; ++i) 509 for (var i = 0; i < this._treeOutlines.length; ++i)
510 this._treeOutlines[i].setWordWrap(/** @type {boolean} */ (event.data)); 510 this._treeOutlines[i].setWordWrap(/** @type {boolean} */ (event.data));
511 } 511 }
512 512
513 switchToAndFocus(node) { 513 switchToAndFocus(node) {
514 // Reset search restore. 514 // Reset search restore.
515 this._searchableView.cancelSearch(); 515 this._searchableView.cancelSearch();
516 WebInspector.viewManager.showView('elements').then(() => this.selectDOMNode( node, true)); 516 UI.viewManager.showView('elements').then(() => this.selectDOMNode(node, true ));
517 } 517 }
518 518
519 /** 519 /**
520 * @param {!Element} element 520 * @param {!Element} element
521 * @param {!Event} event 521 * @param {!Event} event
522 * @return {!Element|!AnchorBox|undefined} 522 * @return {!Element|!AnchorBox|undefined}
523 */ 523 */
524 _getPopoverAnchor(element, event) { 524 _getPopoverAnchor(element, event) {
525 var anchor = element.enclosingNodeOrSelfWithClass('webkit-html-resource-link '); 525 var anchor = element.enclosingNodeOrSelfWithClass('webkit-html-resource-link ');
526 if (!anchor || !anchor.href) 526 if (!anchor || !anchor.href)
527 return; 527 return;
528 528
529 return anchor; 529 return anchor;
530 } 530 }
531 531
532 /** 532 /**
533 * @param {!Element} anchor 533 * @param {!Element} anchor
534 * @param {!WebInspector.Popover} popover 534 * @param {!UI.Popover} popover
535 */ 535 */
536 _showPopover(anchor, popover) { 536 _showPopover(anchor, popover) {
537 var node = this.selectedDOMNode(); 537 var node = this.selectedDOMNode();
538 if (node) 538 if (node)
539 WebInspector.DOMPresentationUtils.buildImagePreviewContents(node.target(), anchor.href, true, showPopover); 539 Components.DOMPresentationUtils.buildImagePreviewContents(node.target(), a nchor.href, true, showPopover);
540 540
541 /** 541 /**
542 * @param {!Element=} contents 542 * @param {!Element=} contents
543 */ 543 */
544 function showPopover(contents) { 544 function showPopover(contents) {
545 if (!contents) 545 if (!contents)
546 return; 546 return;
547 popover.setCanShrink(false); 547 popover.setCanShrink(false);
548 popover.showForAnchor(contents, anchor); 548 popover.showForAnchor(contents, anchor);
549 } 549 }
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 var index = this._currentSearchResultIndex; 593 var index = this._currentSearchResultIndex;
594 var searchResults = this._searchResults; 594 var searchResults = this._searchResults;
595 var searchResult = searchResults[index]; 595 var searchResult = searchResults[index];
596 596
597 if (searchResult.node === null) { 597 if (searchResult.node === null) {
598 this._searchableView.updateCurrentMatchIndex(index); 598 this._searchableView.updateCurrentMatchIndex(index);
599 return; 599 return;
600 } 600 }
601 601
602 /** 602 /**
603 * @param {?WebInspector.DOMNode} node 603 * @param {?SDK.DOMNode} node
604 * @this {WebInspector.ElementsPanel} 604 * @this {Elements.ElementsPanel}
605 */ 605 */
606 function searchCallback(node) { 606 function searchCallback(node) {
607 searchResult.node = node; 607 searchResult.node = node;
608 this._highlightCurrentSearchResult(); 608 this._highlightCurrentSearchResult();
609 } 609 }
610 610
611 if (typeof searchResult.node === 'undefined') { 611 if (typeof searchResult.node === 'undefined') {
612 // No data for slot, request it. 612 // No data for slot, request it.
613 searchResult.domModel.searchResult(searchResult.index, searchCallback.bind (this)); 613 searchResult.domModel.searchResult(searchResult.index, searchCallback.bind (this));
614 return; 614 return;
615 } 615 }
616 616
617 this._searchableView.updateCurrentMatchIndex(index); 617 this._searchableView.updateCurrentMatchIndex(index);
618 618
619 var treeElement = this._treeElementForNode(searchResult.node); 619 var treeElement = this._treeElementForNode(searchResult.node);
620 if (treeElement) { 620 if (treeElement) {
621 treeElement.highlightSearchResults(this._searchQuery); 621 treeElement.highlightSearchResults(this._searchQuery);
622 treeElement.reveal(); 622 treeElement.reveal();
623 var matches = treeElement.listItemElement.getElementsByClassName(WebInspec tor.highlightedSearchResultClassName); 623 var matches = treeElement.listItemElement.getElementsByClassName(UI.highli ghtedSearchResultClassName);
624 if (matches.length) 624 if (matches.length)
625 matches[0].scrollIntoViewIfNeeded(false); 625 matches[0].scrollIntoViewIfNeeded(false);
626 } 626 }
627 } 627 }
628 628
629 _hideSearchHighlights() { 629 _hideSearchHighlights() {
630 if (!this._searchResults || !this._searchResults.length || this._currentSear chResultIndex < 0) 630 if (!this._searchResults || !this._searchResults.length || this._currentSear chResultIndex < 0)
631 return; 631 return;
632 var searchResult = this._searchResults[this._currentSearchResultIndex]; 632 var searchResult = this._searchResults[this._currentSearchResultIndex];
633 if (!searchResult.node) 633 if (!searchResult.node)
634 return; 634 return;
635 var treeOutline = WebInspector.ElementsTreeOutline.forDOMModel(searchResult. node.domModel()); 635 var treeOutline = Elements.ElementsTreeOutline.forDOMModel(searchResult.node .domModel());
636 var treeElement = treeOutline.findTreeElement(searchResult.node); 636 var treeElement = treeOutline.findTreeElement(searchResult.node);
637 if (treeElement) 637 if (treeElement)
638 treeElement.hideSearchHighlights(); 638 treeElement.hideSearchHighlights();
639 } 639 }
640 640
641 /** 641 /**
642 * @return {?WebInspector.DOMNode} 642 * @return {?SDK.DOMNode}
643 */ 643 */
644 selectedDOMNode() { 644 selectedDOMNode() {
645 for (var i = 0; i < this._treeOutlines.length; ++i) { 645 for (var i = 0; i < this._treeOutlines.length; ++i) {
646 var treeOutline = this._treeOutlines[i]; 646 var treeOutline = this._treeOutlines[i];
647 if (treeOutline.selectedDOMNode()) 647 if (treeOutline.selectedDOMNode())
648 return treeOutline.selectedDOMNode(); 648 return treeOutline.selectedDOMNode();
649 } 649 }
650 return null; 650 return null;
651 } 651 }
652 652
653 /** 653 /**
654 * @param {!WebInspector.DOMNode} node 654 * @param {!SDK.DOMNode} node
655 * @param {boolean=} focus 655 * @param {boolean=} focus
656 */ 656 */
657 selectDOMNode(node, focus) { 657 selectDOMNode(node, focus) {
658 for (var i = 0; i < this._treeOutlines.length; ++i) { 658 for (var i = 0; i < this._treeOutlines.length; ++i) {
659 var treeOutline = this._treeOutlines[i]; 659 var treeOutline = this._treeOutlines[i];
660 if (treeOutline.domModel() === node.domModel()) 660 if (treeOutline.domModel() === node.domModel())
661 treeOutline.selectDOMNode(node, focus); 661 treeOutline.selectDOMNode(node, focus);
662 else 662 else
663 treeOutline.selectDOMNode(null); 663 treeOutline.selectDOMNode(null);
664 } 664 }
665 } 665 }
666 666
667 /** 667 /**
668 * @param {!WebInspector.Event} event 668 * @param {!Common.Event} event
669 */ 669 */
670 _updateBreadcrumbIfNeeded(event) { 670 _updateBreadcrumbIfNeeded(event) {
671 var nodes = /** @type {!Array.<!WebInspector.DOMNode>} */ (event.data); 671 var nodes = /** @type {!Array.<!SDK.DOMNode>} */ (event.data);
672 this._breadcrumbs.updateNodes(nodes); 672 this._breadcrumbs.updateNodes(nodes);
673 } 673 }
674 674
675 /** 675 /**
676 * @param {!WebInspector.Event} event 676 * @param {!Common.Event} event
677 */ 677 */
678 _crumbNodeSelected(event) { 678 _crumbNodeSelected(event) {
679 var node = /** @type {!WebInspector.DOMNode} */ (event.data); 679 var node = /** @type {!SDK.DOMNode} */ (event.data);
680 this.selectDOMNode(node, true); 680 this.selectDOMNode(node, true);
681 } 681 }
682 682
683 /** 683 /**
684 * @override 684 * @override
685 * @param {!KeyboardEvent} event 685 * @param {!KeyboardEvent} event
686 */ 686 */
687 handleShortcut(event) { 687 handleShortcut(event) {
688 /** 688 /**
689 * @param {!WebInspector.ElementsTreeOutline} treeOutline 689 * @param {!Elements.ElementsTreeOutline} treeOutline
690 */ 690 */
691 function handleUndoRedo(treeOutline) { 691 function handleUndoRedo(treeOutline) {
692 if (WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event) && !event.shif tKey && 692 if (UI.KeyboardShortcut.eventHasCtrlOrMeta(event) && !event.shiftKey &&
693 (event.key === 'Z' || event.key === 'z')) { // Z key 693 (event.key === 'Z' || event.key === 'z')) { // Z key
694 treeOutline.domModel().undo(); 694 treeOutline.domModel().undo();
695 event.handled = true; 695 event.handled = true;
696 return; 696 return;
697 } 697 }
698 698
699 var isRedoKey = WebInspector.isMac() ? 699 var isRedoKey = Host.isMac() ?
700 event.metaKey && event.shiftKey && (event.key === 'Z' || event.key === 'z') : // Z key 700 event.metaKey && event.shiftKey && (event.key === 'Z' || event.key === 'z') : // Z key
701 event.ctrlKey && (event.key === 'Y' || event.key === 'y'); // Y key 701 event.ctrlKey && (event.key === 'Y' || event.key === 'y'); // Y key
702 if (isRedoKey) { 702 if (isRedoKey) {
703 treeOutline.domModel().redo(); 703 treeOutline.domModel().redo();
704 event.handled = true; 704 event.handled = true;
705 } 705 }
706 } 706 }
707 707
708 if (WebInspector.isEditing() && event.keyCode !== WebInspector.KeyboardShort cut.Keys.F2.code) 708 if (UI.isEditing() && event.keyCode !== UI.KeyboardShortcut.Keys.F2.code)
709 return; 709 return;
710 710
711 var treeOutline = null; 711 var treeOutline = null;
712 for (var i = 0; i < this._treeOutlines.length; ++i) { 712 for (var i = 0; i < this._treeOutlines.length; ++i) {
713 if (this._treeOutlines[i].selectedDOMNode()) 713 if (this._treeOutlines[i].selectedDOMNode())
714 treeOutline = this._treeOutlines[i]; 714 treeOutline = this._treeOutlines[i];
715 } 715 }
716 if (!treeOutline) 716 if (!treeOutline)
717 return; 717 return;
718 718
719 if (!treeOutline.editing()) { 719 if (!treeOutline.editing()) {
720 handleUndoRedo.call(null, treeOutline); 720 handleUndoRedo.call(null, treeOutline);
721 if (event.handled) { 721 if (event.handled) {
722 this._stylesWidget.forceUpdate(); 722 this._stylesWidget.forceUpdate();
723 return; 723 return;
724 } 724 }
725 } 725 }
726 726
727 treeOutline.handleShortcut(event); 727 treeOutline.handleShortcut(event);
728 if (event.handled) 728 if (event.handled)
729 return; 729 return;
730 730
731 super.handleShortcut(event); 731 super.handleShortcut(event);
732 } 732 }
733 733
734 /** 734 /**
735 * @param {?WebInspector.DOMNode} node 735 * @param {?SDK.DOMNode} node
736 * @return {?WebInspector.ElementsTreeOutline} 736 * @return {?Elements.ElementsTreeOutline}
737 */ 737 */
738 _treeOutlineForNode(node) { 738 _treeOutlineForNode(node) {
739 if (!node) 739 if (!node)
740 return null; 740 return null;
741 return WebInspector.ElementsTreeOutline.forDOMModel(node.domModel()); 741 return Elements.ElementsTreeOutline.forDOMModel(node.domModel());
742 } 742 }
743 743
744 /** 744 /**
745 * @param {!WebInspector.DOMNode} node 745 * @param {!SDK.DOMNode} node
746 * @return {?WebInspector.ElementsTreeElement} 746 * @return {?Elements.ElementsTreeElement}
747 */ 747 */
748 _treeElementForNode(node) { 748 _treeElementForNode(node) {
749 var treeOutline = this._treeOutlineForNode(node); 749 var treeOutline = this._treeOutlineForNode(node);
750 return /** @type {?WebInspector.ElementsTreeElement} */ (treeOutline.findTre eElement(node)); 750 return /** @type {?Elements.ElementsTreeElement} */ (treeOutline.findTreeEle ment(node));
751 } 751 }
752 752
753 /** 753 /**
754 * @param {!WebInspector.DOMNode} node 754 * @param {!SDK.DOMNode} node
755 * @return {!WebInspector.DOMNode} 755 * @return {!SDK.DOMNode}
756 */ 756 */
757 _leaveUserAgentShadowDOM(node) { 757 _leaveUserAgentShadowDOM(node) {
758 var userAgentShadowRoot; 758 var userAgentShadowRoot;
759 while ((userAgentShadowRoot = node.ancestorUserAgentShadowRoot()) && userAge ntShadowRoot.parentNode) 759 while ((userAgentShadowRoot = node.ancestorUserAgentShadowRoot()) && userAge ntShadowRoot.parentNode)
760 node = userAgentShadowRoot.parentNode; 760 node = userAgentShadowRoot.parentNode;
761 return node; 761 return node;
762 } 762 }
763 763
764 /** 764 /**
765 * @param {!WebInspector.DOMNode} node 765 * @param {!SDK.DOMNode} node
766 * @return {!Promise} 766 * @return {!Promise}
767 */ 767 */
768 revealAndSelectNode(node) { 768 revealAndSelectNode(node) {
769 if (WebInspector.inspectElementModeController && WebInspector.inspectElement ModeController.isInInspectElementMode()) 769 if (Elements.inspectElementModeController && Elements.inspectElementModeCont roller.isInInspectElementMode())
770 WebInspector.inspectElementModeController.stopInspection(); 770 Elements.inspectElementModeController.stopInspection();
771 771
772 this._omitDefaultSelection = true; 772 this._omitDefaultSelection = true;
773 773
774 node = WebInspector.moduleSetting('showUAShadowDOM').get() ? node : this._le aveUserAgentShadowDOM(node); 774 node = Common.moduleSetting('showUAShadowDOM').get() ? node : this._leaveUse rAgentShadowDOM(node);
775 node.highlightForTwoSeconds(); 775 node.highlightForTwoSeconds();
776 776
777 return WebInspector.viewManager.showView('elements').then(() => { 777 return UI.viewManager.showView('elements').then(() => {
778 this.selectDOMNode(node, true); 778 this.selectDOMNode(node, true);
779 delete this._omitDefaultSelection; 779 delete this._omitDefaultSelection;
780 780
781 if (!this._notFirstInspectElement) 781 if (!this._notFirstInspectElement)
782 InspectorFrontendHost.inspectElementCompleted(); 782 InspectorFrontendHost.inspectElementCompleted();
783 this._notFirstInspectElement = true; 783 this._notFirstInspectElement = true;
784 }); 784 });
785 } 785 }
786 786
787 _sidebarContextMenuEventFired(event) { 787 _sidebarContextMenuEventFired(event) {
788 var contextMenu = new WebInspector.ContextMenu(event); 788 var contextMenu = new UI.ContextMenu(event);
789 contextMenu.appendApplicableItems(/** @type {!Object} */ (event.deepElementF romPoint())); 789 contextMenu.appendApplicableItems(/** @type {!Object} */ (event.deepElementF romPoint()));
790 contextMenu.show(); 790 contextMenu.show();
791 } 791 }
792 792
793 _showUAShadowDOMChanged() { 793 _showUAShadowDOMChanged() {
794 for (var i = 0; i < this._treeOutlines.length; ++i) 794 for (var i = 0; i < this._treeOutlines.length; ++i)
795 this._treeOutlines[i].update(); 795 this._treeOutlines[i].update();
796 } 796 }
797 797
798 _updateSidebarPosition() { 798 _updateSidebarPosition() {
799 var horizontally; 799 var horizontally;
800 var position = WebInspector.moduleSetting('sidebarPosition').get(); 800 var position = Common.moduleSetting('sidebarPosition').get();
801 if (position === 'right') 801 if (position === 'right')
802 horizontally = false; 802 horizontally = false;
803 else if (position === 'bottom') 803 else if (position === 'bottom')
804 horizontally = true; 804 horizontally = true;
805 else 805 else
806 horizontally = WebInspector.inspectorView.element.offsetWidth < 680; 806 horizontally = UI.inspectorView.element.offsetWidth < 680;
807 807
808 if (this.sidebarPaneView && horizontally === !this._splitWidget.isVertical() ) 808 if (this.sidebarPaneView && horizontally === !this._splitWidget.isVertical() )
809 return; 809 return;
810 810
811 if (this.sidebarPaneView && this.sidebarPaneView.tabbedPane().shouldHideOnDe tach()) 811 if (this.sidebarPaneView && this.sidebarPaneView.tabbedPane().shouldHideOnDe tach())
812 return; // We can't reparent extension iframes. 812 return; // We can't reparent extension iframes.
813 813
814 var extensionSidebarPanes = WebInspector.extensionServer.sidebarPanes(); 814 var extensionSidebarPanes = Extensions.extensionServer.sidebarPanes();
815 if (this.sidebarPaneView) { 815 if (this.sidebarPaneView) {
816 this.sidebarPaneView.tabbedPane().detach(); 816 this.sidebarPaneView.tabbedPane().detach();
817 this._splitWidget.uninstallResizer(this.sidebarPaneView.tabbedPane().heade rElement()); 817 this._splitWidget.uninstallResizer(this.sidebarPaneView.tabbedPane().heade rElement());
818 } 818 }
819 819
820 this._splitWidget.setVertical(!horizontally); 820 this._splitWidget.setVertical(!horizontally);
821 this.showToolbarPane(null); 821 this.showToolbarPane(null);
822 822
823 var matchedStylesContainer = new WebInspector.VBox(); 823 var matchedStylesContainer = new UI.VBox();
824 matchedStylesContainer.element.appendChild(this._stylesSidebarToolbar); 824 matchedStylesContainer.element.appendChild(this._stylesSidebarToolbar);
825 var matchedStylePanesWrapper = new WebInspector.VBox(); 825 var matchedStylePanesWrapper = new UI.VBox();
826 matchedStylePanesWrapper.element.classList.add('style-panes-wrapper'); 826 matchedStylePanesWrapper.element.classList.add('style-panes-wrapper');
827 matchedStylePanesWrapper.show(matchedStylesContainer.element); 827 matchedStylePanesWrapper.show(matchedStylesContainer.element);
828 this._stylesWidget.show(matchedStylePanesWrapper.element); 828 this._stylesWidget.show(matchedStylePanesWrapper.element);
829 829
830 var computedStylePanesWrapper = new WebInspector.VBox(); 830 var computedStylePanesWrapper = new UI.VBox();
831 computedStylePanesWrapper.element.classList.add('style-panes-wrapper'); 831 computedStylePanesWrapper.element.classList.add('style-panes-wrapper');
832 this._computedStyleWidget.show(computedStylePanesWrapper.element); 832 this._computedStyleWidget.show(computedStylePanesWrapper.element);
833 833
834 /** 834 /**
835 * @param {boolean} inComputedStyle 835 * @param {boolean} inComputedStyle
836 * @this {WebInspector.ElementsPanel} 836 * @this {Elements.ElementsPanel}
837 */ 837 */
838 function showMetrics(inComputedStyle) { 838 function showMetrics(inComputedStyle) {
839 if (inComputedStyle) 839 if (inComputedStyle)
840 this._metricsWidget.show(computedStylePanesWrapper.element, this._comput edStyleWidget.element); 840 this._metricsWidget.show(computedStylePanesWrapper.element, this._comput edStyleWidget.element);
841 else 841 else
842 this._metricsWidget.show(matchedStylePanesWrapper.element); 842 this._metricsWidget.show(matchedStylePanesWrapper.element);
843 } 843 }
844 844
845 /** 845 /**
846 * @param {!WebInspector.Event} event 846 * @param {!Common.Event} event
847 * @this {WebInspector.ElementsPanel} 847 * @this {Elements.ElementsPanel}
848 */ 848 */
849 function tabSelected(event) { 849 function tabSelected(event) {
850 var tabId = /** @type {string} */ (event.data.tabId); 850 var tabId = /** @type {string} */ (event.data.tabId);
851 if (tabId === WebInspector.UIString('Computed')) 851 if (tabId === Common.UIString('Computed'))
852 showMetrics.call(this, true); 852 showMetrics.call(this, true);
853 else if (tabId === WebInspector.UIString('Styles')) 853 else if (tabId === Common.UIString('Styles'))
854 showMetrics.call(this, false); 854 showMetrics.call(this, false);
855 } 855 }
856 856
857 this.sidebarPaneView = 857 this.sidebarPaneView =
858 WebInspector.viewManager.createTabbedLocation(() => WebInspector.viewMan ager.showView('elements')); 858 UI.viewManager.createTabbedLocation(() => UI.viewManager.showView('eleme nts'));
859 var tabbedPane = this.sidebarPaneView.tabbedPane(); 859 var tabbedPane = this.sidebarPaneView.tabbedPane();
860 tabbedPane.element.addEventListener('contextmenu', this._sidebarContextMenuE ventFired.bind(this), false); 860 tabbedPane.element.addEventListener('contextmenu', this._sidebarContextMenuE ventFired.bind(this), false);
861 if (this._popoverHelper) 861 if (this._popoverHelper)
862 this._popoverHelper.hidePopover(); 862 this._popoverHelper.hidePopover();
863 this._popoverHelper = new WebInspector.PopoverHelper(tabbedPane.element); 863 this._popoverHelper = new UI.PopoverHelper(tabbedPane.element);
864 this._popoverHelper.initializeCallbacks(this._getPopoverAnchor.bind(this), t his._showPopover.bind(this)); 864 this._popoverHelper.initializeCallbacks(this._getPopoverAnchor.bind(this), t his._showPopover.bind(this));
865 this._popoverHelper.setTimeout(0); 865 this._popoverHelper.setTimeout(0);
866 866
867 if (horizontally) { 867 if (horizontally) {
868 // Styles and computed are merged into a single tab. 868 // Styles and computed are merged into a single tab.
869 this._splitWidget.installResizer(tabbedPane.headerElement()); 869 this._splitWidget.installResizer(tabbedPane.headerElement());
870 870
871 var stylesView = new WebInspector.SimpleView(WebInspector.UIString('Styles ')); 871 var stylesView = new UI.SimpleView(Common.UIString('Styles'));
872 stylesView.element.classList.add('flex-auto'); 872 stylesView.element.classList.add('flex-auto');
873 873
874 var splitWidget = new WebInspector.SplitWidget(true, true, 'stylesPaneSpli tViewState', 215); 874 var splitWidget = new UI.SplitWidget(true, true, 'stylesPaneSplitViewState ', 215);
875 splitWidget.show(stylesView.element); 875 splitWidget.show(stylesView.element);
876 876
877 splitWidget.setMainWidget(matchedStylesContainer); 877 splitWidget.setMainWidget(matchedStylesContainer);
878 splitWidget.setSidebarWidget(computedStylePanesWrapper); 878 splitWidget.setSidebarWidget(computedStylePanesWrapper);
879 879
880 this.sidebarPaneView.appendView(stylesView); 880 this.sidebarPaneView.appendView(stylesView);
881 this._stylesViewToReveal = stylesView; 881 this._stylesViewToReveal = stylesView;
882 } else { 882 } else {
883 // Styles and computed are in separate tabs. 883 // Styles and computed are in separate tabs.
884 var stylesView = new WebInspector.SimpleView(WebInspector.UIString('Styles ')); 884 var stylesView = new UI.SimpleView(Common.UIString('Styles'));
885 stylesView.element.classList.add('flex-auto', 'metrics-and-styles'); 885 stylesView.element.classList.add('flex-auto', 'metrics-and-styles');
886 matchedStylesContainer.show(stylesView.element); 886 matchedStylesContainer.show(stylesView.element);
887 887
888 var computedView = new WebInspector.SimpleView(WebInspector.UIString('Comp uted')); 888 var computedView = new UI.SimpleView(Common.UIString('Computed'));
889 computedView.element.classList.add('composite', 'fill', 'metrics-and-compu ted'); 889 computedView.element.classList.add('composite', 'fill', 'metrics-and-compu ted');
890 computedStylePanesWrapper.show(computedView.element); 890 computedStylePanesWrapper.show(computedView.element);
891 891
892 tabbedPane.addEventListener(WebInspector.TabbedPane.Events.TabSelected, ta bSelected, this); 892 tabbedPane.addEventListener(UI.TabbedPane.Events.TabSelected, tabSelected, this);
893 this.sidebarPaneView.appendView(stylesView); 893 this.sidebarPaneView.appendView(stylesView);
894 this.sidebarPaneView.appendView(computedView); 894 this.sidebarPaneView.appendView(computedView);
895 this._stylesViewToReveal = stylesView; 895 this._stylesViewToReveal = stylesView;
896 } 896 }
897 897
898 showMetrics.call(this, horizontally); 898 showMetrics.call(this, horizontally);
899 899
900 this.sidebarPaneView.appendApplicableItems('elements-sidebar'); 900 this.sidebarPaneView.appendApplicableItems('elements-sidebar');
901 for (var i = 0; i < extensionSidebarPanes.length; ++i) 901 for (var i = 0; i < extensionSidebarPanes.length; ++i)
902 this._addExtensionSidebarPane(extensionSidebarPanes[i]); 902 this._addExtensionSidebarPane(extensionSidebarPanes[i]);
903 903
904 this._splitWidget.setSidebarWidget(this.sidebarPaneView.tabbedPane()); 904 this._splitWidget.setSidebarWidget(this.sidebarPaneView.tabbedPane());
905 } 905 }
906 906
907 /** 907 /**
908 * @param {!WebInspector.Event} event 908 * @param {!Common.Event} event
909 */ 909 */
910 _extensionSidebarPaneAdded(event) { 910 _extensionSidebarPaneAdded(event) {
911 var pane = /** @type {!WebInspector.ExtensionSidebarPane} */ (event.data); 911 var pane = /** @type {!Extensions.ExtensionSidebarPane} */ (event.data);
912 this._addExtensionSidebarPane(pane); 912 this._addExtensionSidebarPane(pane);
913 } 913 }
914 914
915 /** 915 /**
916 * @param {!WebInspector.ExtensionSidebarPane} pane 916 * @param {!Extensions.ExtensionSidebarPane} pane
917 */ 917 */
918 _addExtensionSidebarPane(pane) { 918 _addExtensionSidebarPane(pane) {
919 if (pane.panelName() === this.name) 919 if (pane.panelName() === this.name)
920 this.sidebarPaneView.appendView(pane); 920 this.sidebarPaneView.appendView(pane);
921 } 921 }
922 }; 922 };
923 923
924 WebInspector.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol('title'); 924 Elements.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol('title');
925 925
926 /** 926 /**
927 * @implements {WebInspector.ContextMenu.Provider} 927 * @implements {UI.ContextMenu.Provider}
928 * @unrestricted 928 * @unrestricted
929 */ 929 */
930 WebInspector.ElementsPanel.ContextMenuProvider = class { 930 Elements.ElementsPanel.ContextMenuProvider = class {
931 /** 931 /**
932 * @override 932 * @override
933 * @param {!Event} event 933 * @param {!Event} event
934 * @param {!WebInspector.ContextMenu} contextMenu 934 * @param {!UI.ContextMenu} contextMenu
935 * @param {!Object} object 935 * @param {!Object} object
936 */ 936 */
937 appendApplicableItems(event, contextMenu, object) { 937 appendApplicableItems(event, contextMenu, object) {
938 if (!(object instanceof WebInspector.RemoteObject && 938 if (!(object instanceof SDK.RemoteObject &&
939 (/** @type {!WebInspector.RemoteObject} */ (object)).isNode()) && 939 (/** @type {!SDK.RemoteObject} */ (object)).isNode()) &&
940 !(object instanceof WebInspector.DOMNode) && !(object instanceof WebInsp ector.DeferredDOMNode)) { 940 !(object instanceof SDK.DOMNode) && !(object instanceof SDK.DeferredDOMN ode)) {
941 return; 941 return;
942 } 942 }
943 943
944 // Add debbuging-related actions 944 // Add debbuging-related actions
945 if (object instanceof WebInspector.DOMNode) { 945 if (object instanceof SDK.DOMNode) {
946 contextMenu.appendSeparator(); 946 contextMenu.appendSeparator();
947 WebInspector.domBreakpointsSidebarPane.populateNodeContextMenu(object, con textMenu, true); 947 Components.domBreakpointsSidebarPane.populateNodeContextMenu(object, conte xtMenu, true);
948 } 948 }
949 949
950 // Skip adding "Reveal..." menu item for our own tree outline. 950 // Skip adding "Reveal..." menu item for our own tree outline.
951 if (WebInspector.ElementsPanel.instance().element.isAncestor(/** @type {!Nod e} */ (event.target))) 951 if (Elements.ElementsPanel.instance().element.isAncestor(/** @type {!Node} * / (event.target)))
952 return; 952 return;
953 var commandCallback = WebInspector.Revealer.reveal.bind(WebInspector.Reveale r, object); 953 var commandCallback = Common.Revealer.reveal.bind(Common.Revealer, object);
954 contextMenu.appendItem(WebInspector.UIString.capitalize('Reveal in Elements ^panel'), commandCallback); 954 contextMenu.appendItem(Common.UIString.capitalize('Reveal in Elements ^panel '), commandCallback);
955 } 955 }
956 }; 956 };
957 957
958 /** 958 /**
959 * @implements {WebInspector.Revealer} 959 * @implements {Common.Revealer}
960 * @unrestricted 960 * @unrestricted
961 */ 961 */
962 WebInspector.ElementsPanel.DOMNodeRevealer = class { 962 Elements.ElementsPanel.DOMNodeRevealer = class {
963 /** 963 /**
964 * @override 964 * @override
965 * @param {!Object} node 965 * @param {!Object} node
966 * @return {!Promise} 966 * @return {!Promise}
967 */ 967 */
968 reveal(node) { 968 reveal(node) {
969 var panel = WebInspector.ElementsPanel.instance(); 969 var panel = Elements.ElementsPanel.instance();
970 panel._pendingNodeReveal = true; 970 panel._pendingNodeReveal = true;
971 971
972 return new Promise(revealPromise); 972 return new Promise(revealPromise);
973 973
974 /** 974 /**
975 * @param {function(undefined)} resolve 975 * @param {function(undefined)} resolve
976 * @param {function(!Error)} reject 976 * @param {function(!Error)} reject
977 */ 977 */
978 function revealPromise(resolve, reject) { 978 function revealPromise(resolve, reject) {
979 if (node instanceof WebInspector.DOMNode) { 979 if (node instanceof SDK.DOMNode) {
980 onNodeResolved(/** @type {!WebInspector.DOMNode} */ (node)); 980 onNodeResolved(/** @type {!SDK.DOMNode} */ (node));
981 } else if (node instanceof WebInspector.DeferredDOMNode) { 981 } else if (node instanceof SDK.DeferredDOMNode) {
982 (/** @type {!WebInspector.DeferredDOMNode} */ (node)).resolve(onNodeReso lved); 982 (/** @type {!SDK.DeferredDOMNode} */ (node)).resolve(onNodeResolved);
983 } else if (node instanceof WebInspector.RemoteObject) { 983 } else if (node instanceof SDK.RemoteObject) {
984 var domModel = WebInspector.DOMModel.fromTarget(/** @type {!WebInspector .RemoteObject} */ (node).target()); 984 var domModel = SDK.DOMModel.fromTarget(/** @type {!SDK.RemoteObject} */ (node).target());
985 if (domModel) 985 if (domModel)
986 domModel.pushObjectAsNodeToFrontend(node, onNodeResolved); 986 domModel.pushObjectAsNodeToFrontend(node, onNodeResolved);
987 else 987 else
988 reject(new Error('Could not resolve a node to reveal.')); 988 reject(new Error('Could not resolve a node to reveal.'));
989 } else { 989 } else {
990 reject(new Error('Can\'t reveal a non-node.')); 990 reject(new Error('Can\'t reveal a non-node.'));
991 panel._pendingNodeReveal = false; 991 panel._pendingNodeReveal = false;
992 } 992 }
993 993
994 /** 994 /**
995 * @param {?WebInspector.DOMNode} resolvedNode 995 * @param {?SDK.DOMNode} resolvedNode
996 */ 996 */
997 function onNodeResolved(resolvedNode) { 997 function onNodeResolved(resolvedNode) {
998 panel._pendingNodeReveal = false; 998 panel._pendingNodeReveal = false;
999 999
1000 if (resolvedNode) { 1000 if (resolvedNode) {
1001 panel.revealAndSelectNode(resolvedNode).then(resolve); 1001 panel.revealAndSelectNode(resolvedNode).then(resolve);
1002 return; 1002 return;
1003 } 1003 }
1004 reject(new Error('Could not resolve node to reveal.')); 1004 reject(new Error('Could not resolve node to reveal.'));
1005 } 1005 }
1006 } 1006 }
1007 } 1007 }
1008 }; 1008 };
1009 1009
1010 /** 1010 /**
1011 * @implements {WebInspector.Revealer} 1011 * @implements {Common.Revealer}
1012 * @unrestricted 1012 * @unrestricted
1013 */ 1013 */
1014 WebInspector.ElementsPanel.CSSPropertyRevealer = class { 1014 Elements.ElementsPanel.CSSPropertyRevealer = class {
1015 /** 1015 /**
1016 * @override 1016 * @override
1017 * @param {!Object} property 1017 * @param {!Object} property
1018 * @return {!Promise} 1018 * @return {!Promise}
1019 */ 1019 */
1020 reveal(property) { 1020 reveal(property) {
1021 var panel = WebInspector.ElementsPanel.instance(); 1021 var panel = Elements.ElementsPanel.instance();
1022 return panel._revealProperty(/** @type {!WebInspector.CSSProperty} */ (prope rty)); 1022 return panel._revealProperty(/** @type {!SDK.CSSProperty} */ (property));
1023 } 1023 }
1024 }; 1024 };
1025 1025
1026 1026
1027 /** 1027 /**
1028 * @implements {WebInspector.ActionDelegate} 1028 * @implements {UI.ActionDelegate}
1029 * @unrestricted 1029 * @unrestricted
1030 */ 1030 */
1031 WebInspector.ElementsActionDelegate = class { 1031 Elements.ElementsActionDelegate = class {
1032 /** 1032 /**
1033 * @override 1033 * @override
1034 * @param {!WebInspector.Context} context 1034 * @param {!UI.Context} context
1035 * @param {string} actionId 1035 * @param {string} actionId
1036 * @return {boolean} 1036 * @return {boolean}
1037 */ 1037 */
1038 handleAction(context, actionId) { 1038 handleAction(context, actionId) {
1039 var node = WebInspector.context.flavor(WebInspector.DOMNode); 1039 var node = UI.context.flavor(SDK.DOMNode);
1040 if (!node) 1040 if (!node)
1041 return true; 1041 return true;
1042 var treeOutline = WebInspector.ElementsTreeOutline.forDOMModel(node.domModel ()); 1042 var treeOutline = Elements.ElementsTreeOutline.forDOMModel(node.domModel());
1043 if (!treeOutline) 1043 if (!treeOutline)
1044 return true; 1044 return true;
1045 1045
1046 switch (actionId) { 1046 switch (actionId) {
1047 case 'elements.hide-element': 1047 case 'elements.hide-element':
1048 treeOutline.toggleHideElement(node); 1048 treeOutline.toggleHideElement(node);
1049 return true; 1049 return true;
1050 case 'elements.edit-as-html': 1050 case 'elements.edit-as-html':
1051 treeOutline.toggleEditAsHTML(node); 1051 treeOutline.toggleEditAsHTML(node);
1052 return true; 1052 return true;
1053 } 1053 }
1054 return false; 1054 return false;
1055 } 1055 }
1056 }; 1056 };
1057 1057
1058 /** 1058 /**
1059 * @implements {WebInspector.DOMPresentationUtils.MarkerDecorator} 1059 * @implements {Components.DOMPresentationUtils.MarkerDecorator}
1060 * @unrestricted 1060 * @unrestricted
1061 */ 1061 */
1062 WebInspector.ElementsPanel.PseudoStateMarkerDecorator = class { 1062 Elements.ElementsPanel.PseudoStateMarkerDecorator = class {
1063 /** 1063 /**
1064 * @override 1064 * @override
1065 * @param {!WebInspector.DOMNode} node 1065 * @param {!SDK.DOMNode} node
1066 * @return {?{title: string, color: string}} 1066 * @return {?{title: string, color: string}}
1067 */ 1067 */
1068 decorate(node) { 1068 decorate(node) {
1069 return { 1069 return {
1070 color: 'orange', 1070 color: 'orange',
1071 title: WebInspector.UIString( 1071 title: Common.UIString(
1072 'Element state: %s', ':' + WebInspector.CSSModel.fromNode(node).pseudo State(node).join(', :')) 1072 'Element state: %s', ':' + SDK.CSSModel.fromNode(node).pseudoState(nod e).join(', :'))
1073 }; 1073 };
1074 } 1074 }
1075 }; 1075 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698