OLD | NEW |
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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 WebInspector.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(WebInspector.UIString("Find by string, s
elector, 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 this._showLayoutEditor = false; | 53 this._showLayoutEditor = false; |
54 if (Runtime.experiments.isEnabled("materialDesign")) { | 54 if (Runtime.experiments.isEnabled("materialDesign")) |
55 this._toolbar = this._createElementsToolbar(); | 55 this._initializeActionsToolbar(); |
56 var toolbar = stackElement.createChild("div", "elements-topbar hbox"); | 56 stackElement.appendChild(this._contentElement); |
57 toolbar.appendChild(this._toolbar.element); | 57 stackElement.appendChild(crumbsContainer); |
58 toolbar.appendChild(crumbsContainer); | |
59 stackElement.appendChild(this._contentElement); | |
60 } else { | |
61 stackElement.appendChild(this._contentElement); | |
62 stackElement.appendChild(crumbsContainer); | |
63 } | |
64 | 58 |
65 this._elementsPanelTreeOutilneSplit = new WebInspector.SplitWidget(false, tr
ue, "treeOutlineAnimationTimelineWidget", 300, 300); | 59 this._elementsPanelTreeOutilneSplit = new WebInspector.SplitWidget(false, tr
ue, "treeOutlineAnimationTimelineWidget", 300, 300); |
66 this._elementsPanelTreeOutilneSplit.hideSidebar(); | 60 this._elementsPanelTreeOutilneSplit.hideSidebar(); |
67 this._elementsPanelTreeOutilneSplit.setMainWidget(this._searchableView); | 61 this._elementsPanelTreeOutilneSplit.setMainWidget(this._searchableView); |
68 this._splitWidget.setMainWidget(this._elementsPanelTreeOutilneSplit); | 62 this._splitWidget.setMainWidget(this._elementsPanelTreeOutilneSplit); |
69 | 63 |
70 this._contentElement.id = "elements-content"; | 64 this._contentElement.id = "elements-content"; |
71 // FIXME: crbug.com/425984 | 65 // FIXME: crbug.com/425984 |
72 if (WebInspector.moduleSetting("domWordWrap").get()) | 66 if (WebInspector.moduleSetting("domWordWrap").get()) |
73 this._contentElement.classList.add("elements-wrap"); | 67 this._contentElement.classList.add("elements-wrap"); |
(...skipping 25 matching lines...) Expand all Loading... |
99 this._updateSidebarPosition(); | 93 this._updateSidebarPosition(); |
100 this._loadSidebarViews(); | 94 this._loadSidebarViews(); |
101 | 95 |
102 /** @type {!Array.<!WebInspector.ElementsTreeOutline>} */ | 96 /** @type {!Array.<!WebInspector.ElementsTreeOutline>} */ |
103 this._treeOutlines = []; | 97 this._treeOutlines = []; |
104 /** @type {!Map.<!WebInspector.DOMModel, !WebInspector.ElementsTreeOutline>}
*/ | 98 /** @type {!Map.<!WebInspector.DOMModel, !WebInspector.ElementsTreeOutline>}
*/ |
105 this._modelToTreeOutline = new Map(); | 99 this._modelToTreeOutline = new Map(); |
106 WebInspector.targetManager.observeTargets(this); | 100 WebInspector.targetManager.observeTargets(this); |
107 WebInspector.moduleSetting("showUAShadowDOM").addChangeListener(this._showUA
ShadowDOMChanged.bind(this)); | 101 WebInspector.moduleSetting("showUAShadowDOM").addChangeListener(this._showUA
ShadowDOMChanged.bind(this)); |
108 WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebInspec
tor.DOMModel.Events.DocumentUpdated, this._documentUpdatedEvent, this); | 102 WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebInspec
tor.DOMModel.Events.DocumentUpdated, this._documentUpdatedEvent, this); |
109 if (Runtime.experiments.isEnabled("materialDesign")) | |
110 WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebIn
spector.DOMModel.Events.MarkersChanged, this._updateToolbarButtons, this); | |
111 WebInspector.extensionServer.addEventListener(WebInspector.ExtensionServer.E
vents.SidebarPaneAdded, this._extensionSidebarPaneAdded, this); | 103 WebInspector.extensionServer.addEventListener(WebInspector.ExtensionServer.E
vents.SidebarPaneAdded, this._extensionSidebarPaneAdded, this); |
112 } | 104 } |
113 | 105 |
114 WebInspector.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol("title"); | 106 WebInspector.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol("title"); |
115 | 107 |
116 WebInspector.ElementsPanel.prototype = { | 108 WebInspector.ElementsPanel.prototype = { |
117 /** | 109 _initializeActionsToolbar: function() |
118 * @return {!WebInspector.Toolbar} | |
119 */ | |
120 _createElementsToolbar: function() | |
121 { | 110 { |
122 var toolbar = new WebInspector.ExtensibleToolbar("elements-toolbar"); | 111 this._nodeActionsElement = createElementWithClass("div", "node-actions-c
ontainer"); |
123 toolbar.element.classList.add("elements-toolbar"); | 112 var button = this._nodeActionsElement.createChild("div", "node-actions-t
oggle"); |
124 this._hideElementButton = new WebInspector.ToolbarButton(WebInspector.UI
String("Hide element"), "visibility-off-toolbar-item"); | 113 button.addEventListener("click", this._toggleActionsToolbar.bind(this, u
ndefined)); |
125 this._hideElementButton.setAction("elements.hide-element"); | 114 this._nodeActionsToolbar = new WebInspector.Toolbar(); |
126 toolbar.appendToolbarItem(this._hideElementButton); | 115 this._nodeActionsElement.appendChild(this._nodeActionsToolbar.element); |
| 116 this._nodeActionsToolbar.element.addEventListener("mousedown", consumeEv
ent); |
| 117 WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebIn
spector.DOMModel.Events.MarkersChanged, this._markersChanged, this); |
127 | 118 |
128 this._editAsHTMLButton = new WebInspector.ToolbarButton(WebInspector.UIS
tring("Edit as HTML"), "edit-toolbar-item"); | 119 this._editAsHTMLButton = new WebInspector.ToolbarButton(WebInspector.UIS
tring("Edit as HTML"), "edit-toolbar-item"); |
129 this._editAsHTMLButton.setAction("elements.edit-as-html"); | 120 this._editAsHTMLButton.setAction("elements.edit-as-html"); |
130 toolbar.appendToolbarItem(this._editAsHTMLButton); | 121 this._nodeActionsToolbar.appendToolbarItem(this._editAsHTMLButton); |
131 toolbar.appendSeparator(); | 122 this._nodeActionsToolbar.element.classList.add("node-actions-toolbar"); |
132 | 123 this._hideElementButton = new WebInspector.ToolbarButton(WebInspector.UI
String("Hide element"), "visibility-off-toolbar-item"); |
| 124 this._hideElementButton.setAction("elements.hide-element"); |
| 125 this._nodeActionsToolbar.appendToolbarItem(this._hideElementButton); |
133 this._forceElementStateButton = new WebInspector.ToolbarMenuButton(WebIn
spector.UIString("Force element state"), "pin-toolbar-item", this._showForceElem
entStateMenu.bind(this)); | 126 this._forceElementStateButton = new WebInspector.ToolbarMenuButton(WebIn
spector.UIString("Force element state"), "pin-toolbar-item", this._showForceElem
entStateMenu.bind(this)); |
134 toolbar.appendToolbarItem(this._forceElementStateButton); | 127 this._nodeActionsToolbar.appendToolbarItem(this._forceElementStateButton
); |
135 this._breakpointsButton = new WebInspector.ToolbarMenuButton(WebInspecto
r.UIString("Toggle breakpoints"), "add-breakpoint-toolbar-item", this._showBreak
pointsMenu.bind(this)); | 128 this._breakpointsButton = new WebInspector.ToolbarMenuButton(WebInspecto
r.UIString("Toggle breakpoints"), "add-breakpoint-toolbar-item", this._showBreak
pointsMenu.bind(this)); |
136 toolbar.appendToolbarItem(this._breakpointsButton); | 129 this._nodeActionsToolbar.appendToolbarItem(this._breakpointsButton); |
137 | |
138 toolbar.appendSeparator(); | |
139 if (Runtime.experiments.isEnabled("layoutEditor") && !Runtime.queryParam
("remoteFrontend")) { | |
140 this._layoutEditorButton = new WebInspector.ToolbarButton(WebInspect
or.UIString("Toggle Layout Editor"), "layout-editor-toolbar-item"); | |
141 toolbar.appendToolbarItem(this._layoutEditorButton); | |
142 this._layoutEditorButton.addEventListener("click", this._toggleLayou
tEditor, this); | |
143 toolbar.appendSeparator(); | |
144 } | |
145 return toolbar; | |
146 }, | 130 }, |
147 | 131 |
148 _toggleHideElement: function() | 132 _toggleHideElement: function() |
149 { | 133 { |
150 var node = this.selectedDOMNode(); | 134 var node = this.selectedDOMNode(); |
151 var treeOutline = this._treeOutlineForNode(node); | 135 var treeOutline = this._treeOutlineForNode(node); |
152 if (!node || !treeOutline) | 136 if (!node || !treeOutline) |
153 return; | 137 return; |
154 treeOutline.toggleHideElement(node); | 138 treeOutline.toggleHideElement(node); |
155 }, | 139 }, |
156 | 140 |
157 _updateToolbarButtons: function() | 141 /** |
| 142 * @param {!WebInspector.DOMNode} node |
| 143 */ |
| 144 _updateActionsToolbar: function(node) |
158 { | 145 { |
159 if (!Runtime.experiments.isEnabled("materialDesign")) | 146 if (!Runtime.experiments.isEnabled("materialDesign")) |
160 return; | 147 return; |
161 var node = this.selectedDOMNode(); | |
162 if (!node) | |
163 return; | |
164 var classText = node.getAttribute("class"); | 148 var classText = node.getAttribute("class"); |
165 var treeOutline = this._treeOutlineForNode(node); | 149 var treeOutline = this._treeOutlineForNode(node); |
166 this._hideElementButton.setToggled(treeOutline && treeOutline.isToggledT
oHidden(node)); | 150 this._hideElementButton.setToggled(treeOutline && treeOutline.isToggledT
oHidden(node)); |
167 this._editAsHTMLButton.setToggled(false); | 151 this._editAsHTMLButton.setToggled(false); |
168 this._breakpointsButton.setEnabled(!node.pseudoType()); | 152 this._breakpointsButton.setEnabled(!node.pseudoType()); |
169 this._breakpointsButton.setToggled(WebInspector.domBreakpointsSidebarPan
e.hasBreakpoints(node)); | 153 this._breakpointsButton.setToggled(WebInspector.domBreakpointsSidebarPan
e.hasBreakpoints(node)); |
170 this._forceElementStateButton.setEnabled(node.nodeType() === Node.ELEMEN
T_NODE && !node.pseudoType()); | 154 this._forceElementStateButton.setEnabled(node.nodeType() === Node.ELEMEN
T_NODE && !node.pseudoType()); |
171 this._forceElementStateButton.setToggled(!!WebInspector.CSSStyleModel.fr
omNode(node).pseudoState(node).length); | 155 this._forceElementStateButton.setToggled(!!WebInspector.CSSStyleModel.fr
omNode(node).pseudoState(node).length); |
| 156 |
| 157 var treeElement = this._treeOutlineForNode(node).selectedTreeElement; |
| 158 if (!treeElement) |
| 159 return; |
| 160 if (node.nodeType() !== Node.ELEMENT_NODE) { |
| 161 this._nodeActionsElement.remove(); |
| 162 return; |
| 163 } |
| 164 |
| 165 var actionsToolbar = this._nodeActionsElement; |
| 166 if (actionsToolbar.__node !== node) { |
| 167 treeElement.gutterElement().appendChild(actionsToolbar); |
| 168 this._positionActionsToolbar(); |
| 169 actionsToolbar.__node = node; |
| 170 this._toggleActionsToolbar(false); |
| 171 } |
172 }, | 172 }, |
173 | 173 |
174 _toggleEditAsHTML: function() | 174 _toggleEditAsHTML: function() |
175 { | 175 { |
176 var node = this.selectedDOMNode(); | 176 var node = this.selectedDOMNode(); |
177 var treeOutline = this._treeOutlineForNode(node); | 177 var treeOutline = this._treeOutlineForNode(node); |
178 if (!node || !treeOutline) | 178 if (!node || !treeOutline) |
179 return; | 179 return; |
180 | 180 |
181 var startEditing = true; | 181 var startEditing = true; |
182 if (Runtime.experiments.isEnabled("materialDesign")) { | 182 if (Runtime.experiments.isEnabled("materialDesign")) { |
183 startEditing = !this._editAsHTMLButton.toggled(); | 183 startEditing = !this._editAsHTMLButton.toggled(); |
184 this._editAsHTMLButton.setToggled(startEditing); | 184 this._editAsHTMLButton.setToggled(startEditing); |
185 } | 185 } |
186 treeOutline.toggleEditAsHTML(node, startEditing, this._updateToolbarButt
ons.bind(this)); | 186 treeOutline.toggleEditAsHTML(node, startEditing, this._updateActionsTool
bar.bind(this, node)); |
187 }, | 187 }, |
188 | 188 |
189 /** | 189 /** |
190 * @param {!WebInspector.ContextMenu} contextMenu | 190 * @param {!WebInspector.ContextMenu} contextMenu |
191 */ | 191 */ |
192 _showBreakpointsMenu: function(contextMenu) | 192 _showBreakpointsMenu: function(contextMenu) |
193 { | 193 { |
194 var node = this.selectedDOMNode(); | 194 var node = this.selectedDOMNode(); |
195 if (!node) | 195 if (!node) |
196 return; | 196 return; |
197 WebInspector.domBreakpointsSidebarPane.populateNodeContextMenu(node, con
textMenu, false); | 197 WebInspector.domBreakpointsSidebarPane.populateNodeContextMenu(node, con
textMenu, false); |
198 }, | 198 }, |
199 | 199 |
200 /** | 200 /** |
201 * @param {!WebInspector.ContextMenu} contextMenu | 201 * @param {!WebInspector.ContextMenu} contextMenu |
202 */ | 202 */ |
203 _showForceElementStateMenu: function(contextMenu) | 203 _showForceElementStateMenu: function(contextMenu) |
204 { | 204 { |
205 var node = this.selectedDOMNode(); | 205 var node = this.selectedDOMNode(); |
206 if (!node) | 206 if (!node) |
207 return; | 207 return; |
208 WebInspector.ElementsTreeElement.populateForcedPseudoStateItems(contextM
enu, node); | 208 WebInspector.ElementsTreeElement.populateForcedPseudoStateItems(contextM
enu, node); |
209 }, | 209 }, |
210 | 210 |
| 211 /** |
| 212 * @param {!WebInspector.Event} event |
| 213 */ |
| 214 _decorationsClicked: function(event) |
| 215 { |
| 216 var node = /** @type {!WebInspector.DOMNode} */(event.data); |
| 217 this.selectDOMNode(node, true); |
| 218 this._toggleActionsToolbar(true); |
| 219 }, |
| 220 |
| 221 /** |
| 222 * @param {boolean=} toggled |
| 223 */ |
| 224 _toggleActionsToolbar: function(toggled) |
| 225 { |
| 226 if (toggled === undefined) |
| 227 toggled = !this._actionsToolbarShown(); |
| 228 this._nodeActionsElement.classList.toggle("expanded", toggled); |
| 229 this._positionActionsToolbar(); |
| 230 }, |
| 231 |
| 232 _positionActionsToolbar: function() |
| 233 { |
| 234 if (!this._actionsToolbarShown()) |
| 235 return; |
| 236 var toolbarElement = this._nodeActionsToolbar.element; |
| 237 if (toolbarElement.totalOffsetTop() < this.element.totalOffsetTop()) { |
| 238 toolbarElement.style.top = this._nodeActionsElement.parentElement.of
fsetHeight + "px"; |
| 239 toolbarElement.classList.add("node-actions-toolbar-below"); |
| 240 } else { |
| 241 toolbarElement.style.top = ""; |
| 242 toolbarElement.classList.remove("node-actions-toolbar-below"); |
| 243 } |
| 244 }, |
| 245 |
| 246 /** |
| 247 * @return {boolean} |
| 248 */ |
| 249 _actionsToolbarShown: function() |
| 250 { |
| 251 return this._nodeActionsElement.classList.contains("expanded"); |
| 252 }, |
| 253 |
| 254 /** |
| 255 * @param {!WebInspector.Event} event |
| 256 */ |
| 257 _markersChanged: function(event) |
| 258 { |
| 259 var node = /** @type {!WebInspector.DOMNode} */ (event.data); |
| 260 if (node !== this.selectedDOMNode()) |
| 261 return; |
| 262 this._updateActionsToolbar(node); |
| 263 }, |
| 264 |
211 _loadSidebarViews: function() | 265 _loadSidebarViews: function() |
212 { | 266 { |
213 var extensions = self.runtime.extensions("@WebInspector.Widget"); | 267 var extensions = self.runtime.extensions("@WebInspector.Widget"); |
214 | 268 |
215 for (var i = 0; i < extensions.length; ++i) { | 269 for (var i = 0; i < extensions.length; ++i) { |
216 var descriptor = extensions[i].descriptor(); | 270 var descriptor = extensions[i].descriptor(); |
217 if (descriptor["location"] !== "elements-panel") | 271 if (descriptor["location"] !== "elements-panel") |
218 continue; | 272 continue; |
219 | 273 |
220 var title = WebInspector.UIString(descriptor["title"]); | 274 var title = WebInspector.UIString(descriptor["title"]); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 { | 311 { |
258 var domModel = WebInspector.DOMModel.fromTarget(target); | 312 var domModel = WebInspector.DOMModel.fromTarget(target); |
259 if (!domModel) | 313 if (!domModel) |
260 return; | 314 return; |
261 var treeOutline = new WebInspector.ElementsTreeOutline(domModel, true, t
rue); | 315 var treeOutline = new WebInspector.ElementsTreeOutline(domModel, true, t
rue); |
262 treeOutline.setWordWrap(WebInspector.moduleSetting("domWordWrap").get())
; | 316 treeOutline.setWordWrap(WebInspector.moduleSetting("domWordWrap").get())
; |
263 treeOutline.wireToDOMModel(); | 317 treeOutline.wireToDOMModel(); |
264 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Sel
ectedNodeChanged, this._selectedNodeChanged, this); | 318 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Sel
ectedNodeChanged, this._selectedNodeChanged, this); |
265 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Nod
ePicked, this._onNodePicked, this); | 319 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Nod
ePicked, this._onNodePicked, this); |
266 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Ele
mentsTreeUpdated, this._updateBreadcrumbIfNeeded, this); | 320 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Ele
mentsTreeUpdated, this._updateBreadcrumbIfNeeded, this); |
| 321 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Dec
orationsClicked, this._decorationsClicked, this); |
267 this._treeOutlines.push(treeOutline); | 322 this._treeOutlines.push(treeOutline); |
268 this._modelToTreeOutline.set(domModel, treeOutline); | 323 this._modelToTreeOutline.set(domModel, treeOutline); |
269 | 324 |
270 // Perform attach if necessary. | 325 // Perform attach if necessary. |
271 if (this.isShowing()) | 326 if (this.isShowing()) |
272 this.wasShown(); | 327 this.wasShown(); |
273 | 328 |
274 }, | 329 }, |
275 | 330 |
276 /** | 331 /** |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 if (!selectedNode && this._lastValidSelectedNode) | 446 if (!selectedNode && this._lastValidSelectedNode) |
392 this._selectedPathOnReset = this._lastValidSelectedNode.path(); | 447 this._selectedPathOnReset = this._lastValidSelectedNode.path(); |
393 | 448 |
394 this._breadcrumbs.setSelectedNode(selectedNode); | 449 this._breadcrumbs.setSelectedNode(selectedNode); |
395 | 450 |
396 WebInspector.context.setFlavor(WebInspector.DOMNode, selectedNode); | 451 WebInspector.context.setFlavor(WebInspector.DOMNode, selectedNode); |
397 | 452 |
398 if (selectedNode) { | 453 if (selectedNode) { |
399 selectedNode.setAsInspectedNode(); | 454 selectedNode.setAsInspectedNode(); |
400 this._lastValidSelectedNode = selectedNode; | 455 this._lastValidSelectedNode = selectedNode; |
| 456 this._updateActionsToolbar(selectedNode); |
401 } | 457 } |
402 WebInspector.notifications.dispatchEventToListeners(WebInspector.Notific
ationService.Events.SelectedNodeChanged); | 458 WebInspector.notifications.dispatchEventToListeners(WebInspector.Notific
ationService.Events.SelectedNodeChanged); |
403 this._selectedNodeChangedForTest(); | 459 this._selectedNodeChangedForTest(); |
404 if (Runtime.experiments.isEnabled("materialDesign")) | |
405 this._updateToolbarButtons(); | |
406 }, | 460 }, |
407 | 461 |
408 _selectedNodeChangedForTest: function() { }, | 462 _selectedNodeChangedForTest: function() { }, |
409 | 463 |
410 _reset: function() | 464 _reset: function() |
411 { | 465 { |
412 delete this.currentQuery; | 466 delete this.currentQuery; |
413 }, | 467 }, |
414 | 468 |
415 /** | 469 /** |
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1084 setWidgetBelowDOM: function(widget) | 1138 setWidgetBelowDOM: function(widget) |
1085 { | 1139 { |
1086 if (widget) { | 1140 if (widget) { |
1087 this._elementsPanelTreeOutilneSplit.setSidebarWidget(widget); | 1141 this._elementsPanelTreeOutilneSplit.setSidebarWidget(widget); |
1088 this._elementsPanelTreeOutilneSplit.showBoth(true); | 1142 this._elementsPanelTreeOutilneSplit.showBoth(true); |
1089 } else { | 1143 } else { |
1090 this._elementsPanelTreeOutilneSplit.hideSidebar(true); | 1144 this._elementsPanelTreeOutilneSplit.hideSidebar(true); |
1091 } | 1145 } |
1092 }, | 1146 }, |
1093 | 1147 |
1094 _toggleLayoutEditor: function() | |
1095 { | |
1096 this._showLayoutEditor = !this._showLayoutEditor; | |
1097 this._layoutEditorButton.setToggled(this._showLayoutEditor); | |
1098 var targets = WebInspector.targetManager.targets(); | |
1099 | |
1100 if (this._showLayoutEditor) | |
1101 WebInspector.inspectElementModeController.disable(); | |
1102 else | |
1103 WebInspector.inspectElementModeController.enable(); | |
1104 | |
1105 var mode = this._showLayoutEditor ? DOMAgent.InspectMode.ShowLayoutEdito
r : DOMAgent.InspectMode.None; | |
1106 for (var domModel of WebInspector.DOMModel.instances()) | |
1107 domModel.setInspectMode(mode); | |
1108 }, | |
1109 | |
1110 __proto__: WebInspector.Panel.prototype | 1148 __proto__: WebInspector.Panel.prototype |
1111 } | 1149 } |
1112 | 1150 |
1113 /** | 1151 /** |
1114 * @constructor | 1152 * @constructor |
1115 * @implements {WebInspector.ContextMenu.Provider} | 1153 * @implements {WebInspector.ContextMenu.Provider} |
1116 */ | 1154 */ |
1117 WebInspector.ElementsPanel.ContextMenuProvider = function() | 1155 WebInspector.ElementsPanel.ContextMenuProvider = function() |
1118 { | 1156 { |
1119 } | 1157 } |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1278 WebInspector.ElementsPanel.HiddenMarkerDecorator.prototype = { | 1316 WebInspector.ElementsPanel.HiddenMarkerDecorator.prototype = { |
1279 /** | 1317 /** |
1280 * @override | 1318 * @override |
1281 * @param {!WebInspector.DOMNode} node | 1319 * @param {!WebInspector.DOMNode} node |
1282 * @return {?{title: string, color: string}} | 1320 * @return {?{title: string, color: string}} |
1283 */ | 1321 */ |
1284 decorate: function(node) | 1322 decorate: function(node) |
1285 { | 1323 { |
1286 return { color: "#555", title: WebInspector.UIString("Element is hidden"
) }; | 1324 return { color: "#555", title: WebInspector.UIString("Element is hidden"
) }; |
1287 } | 1325 } |
1288 } | 1326 } |
OLD | NEW |