| 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 |