| 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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 this._updateSidebarPosition(); | 96 this._updateSidebarPosition(); |
| 97 this._loadSidebarViews(); | 97 this._loadSidebarViews(); |
| 98 | 98 |
| 99 /** @type {!Array.<!WebInspector.ElementsTreeOutline>} */ | 99 /** @type {!Array.<!WebInspector.ElementsTreeOutline>} */ |
| 100 this._treeOutlines = []; | 100 this._treeOutlines = []; |
| 101 /** @type {!Map.<!WebInspector.DOMModel, !WebInspector.ElementsTreeOutline>}
*/ | 101 /** @type {!Map.<!WebInspector.DOMModel, !WebInspector.ElementsTreeOutline>}
*/ |
| 102 this._modelToTreeOutline = new Map(); | 102 this._modelToTreeOutline = new Map(); |
| 103 WebInspector.targetManager.observeTargets(this); | 103 WebInspector.targetManager.observeTargets(this); |
| 104 WebInspector.moduleSetting("showUAShadowDOM").addChangeListener(this._showUA
ShadowDOMChanged.bind(this)); | 104 WebInspector.moduleSetting("showUAShadowDOM").addChangeListener(this._showUA
ShadowDOMChanged.bind(this)); |
| 105 WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebInspec
tor.DOMModel.Events.DocumentUpdated, this._documentUpdatedEvent, this); | 105 WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebInspec
tor.DOMModel.Events.DocumentUpdated, this._documentUpdatedEvent, this); |
| 106 if (Runtime.experiments.isEnabled("materialDesign")) | |
| 107 WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebIn
spector.DOMModel.Events.MarkersChanged, this._updateToolbarButtons, this); | |
| 108 WebInspector.extensionServer.addEventListener(WebInspector.ExtensionServer.E
vents.SidebarPaneAdded, this._extensionSidebarPaneAdded, this); | 106 WebInspector.extensionServer.addEventListener(WebInspector.ExtensionServer.E
vents.SidebarPaneAdded, this._extensionSidebarPaneAdded, this); |
| 109 } | 107 } |
| 110 | 108 |
| 111 WebInspector.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol("title"); | 109 WebInspector.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol("title"); |
| 112 | 110 |
| 113 WebInspector.ElementsPanel.prototype = { | 111 WebInspector.ElementsPanel.prototype = { |
| 114 /** | 112 /** |
| 115 * @return {!WebInspector.Toolbar} | 113 * @return {!WebInspector.Toolbar} |
| 116 */ | 114 */ |
| 117 _createElementsToolbar: function() | 115 _createElementsToolbar: function() |
| 118 { | 116 { |
| 119 var toolbar = new WebInspector.ExtensibleToolbar("elements-toolbar"); | 117 var toolbar = new WebInspector.ExtensibleToolbar("elements-toolbar"); |
| 120 toolbar.element.classList.add("elements-toolbar"); | |
| 121 this._hideElementButton = new WebInspector.ToolbarButton(WebInspector.UI
String("Hide element"), "visibility-off-toolbar-item"); | |
| 122 this._hideElementButton.setAction("elements.hide-element"); | |
| 123 toolbar.appendToolbarItem(this._hideElementButton); | |
| 124 | |
| 125 this._editAsHTMLButton = new WebInspector.ToolbarButton(WebInspector.UIS
tring("Edit as HTML"), "edit-toolbar-item"); | |
| 126 this._editAsHTMLButton.setAction("elements.edit-as-html"); | |
| 127 toolbar.appendToolbarItem(this._editAsHTMLButton); | |
| 128 toolbar.appendSeparator(); | |
| 129 | |
| 130 this._forceElementStateButton = new WebInspector.ToolbarMenuButton(WebIn
spector.UIString("Force element state"), "pin-toolbar-item", this._showForceElem
entStateMenu.bind(this)); | |
| 131 toolbar.appendToolbarItem(this._forceElementStateButton); | |
| 132 this._breakpointsButton = new WebInspector.ToolbarMenuButton(WebInspecto
r.UIString("Toggle breakpoints"), "add-breakpoint-toolbar-item", this._showBreak
pointsMenu.bind(this)); | |
| 133 toolbar.appendToolbarItem(this._breakpointsButton); | |
| 134 | |
| 135 toolbar.appendSeparator(); | |
| 136 if (Runtime.experiments.isEnabled("layoutEditor") && !Runtime.queryParam
("remoteFrontend")) { | 118 if (Runtime.experiments.isEnabled("layoutEditor") && !Runtime.queryParam
("remoteFrontend")) { |
| 137 this._layoutEditorButton = new WebInspector.ToolbarButton(WebInspect
or.UIString("Toggle Layout Editor"), "layout-editor-toolbar-item"); | 119 this._layoutEditorButton = new WebInspector.ToolbarButton(WebInspect
or.UIString("Toggle Layout Editor"), "layout-editor-toolbar-item"); |
| 138 toolbar.appendToolbarItem(this._layoutEditorButton); | 120 toolbar.appendToolbarItem(this._layoutEditorButton); |
| 139 this._layoutEditorButton.addEventListener("click", this._toggleLayou
tEditor, this); | 121 this._layoutEditorButton.addEventListener("click", this._toggleLayou
tEditor, this); |
| 140 toolbar.appendSeparator(); | 122 toolbar.appendSeparator(); |
| 141 } | 123 } |
| 142 return toolbar; | 124 return toolbar; |
| 143 }, | 125 }, |
| 144 | 126 |
| 145 _toggleHideElement: function() | 127 _toggleHideElement: function() |
| 146 { | 128 { |
| 147 var node = this.selectedDOMNode(); | 129 var node = this.selectedDOMNode(); |
| 148 var treeOutline = this._treeOutlineForNode(node); | 130 var treeOutline = this._treeOutlineForNode(node); |
| 149 if (!node || !treeOutline) | 131 if (!node || !treeOutline) |
| 150 return; | 132 return; |
| 151 treeOutline.toggleHideElement(node); | 133 treeOutline.toggleHideElement(node); |
| 152 }, | 134 }, |
| 153 | 135 |
| 154 _updateToolbarButtons: function() | |
| 155 { | |
| 156 if (!Runtime.experiments.isEnabled("materialDesign")) | |
| 157 return; | |
| 158 var node = this.selectedDOMNode(); | |
| 159 if (!node) | |
| 160 return; | |
| 161 var classText = node.getAttribute("class"); | |
| 162 var treeOutline = this._treeOutlineForNode(node); | |
| 163 this._hideElementButton.setToggled(treeOutline && treeOutline.isToggledT
oHidden(node)); | |
| 164 this._editAsHTMLButton.setToggled(false); | |
| 165 this._breakpointsButton.setEnabled(!node.pseudoType()); | |
| 166 this._breakpointsButton.setToggled(WebInspector.domBreakpointsSidebarPan
e.hasBreakpoints(node)); | |
| 167 this._forceElementStateButton.setEnabled(node.nodeType() === Node.ELEMEN
T_NODE && !node.pseudoType()); | |
| 168 this._forceElementStateButton.setToggled(!!WebInspector.CSSStyleModel.fr
omNode(node).pseudoState(node).length); | |
| 169 }, | |
| 170 | |
| 171 _toggleEditAsHTML: function() | 136 _toggleEditAsHTML: function() |
| 172 { | 137 { |
| 173 var node = this.selectedDOMNode(); | 138 var node = this.selectedDOMNode(); |
| 174 var treeOutline = this._treeOutlineForNode(node); | 139 var treeOutline = this._treeOutlineForNode(node); |
| 175 if (!node || !treeOutline) | 140 if (!node || !treeOutline) |
| 176 return; | 141 return; |
| 177 | 142 treeOutline.toggleEditAsHTML(node); |
| 178 var startEditing = true; | |
| 179 if (Runtime.experiments.isEnabled("materialDesign")) { | |
| 180 startEditing = !this._editAsHTMLButton.toggled(); | |
| 181 this._editAsHTMLButton.setToggled(startEditing); | |
| 182 } | |
| 183 treeOutline.toggleEditAsHTML(node, startEditing, this._updateToolbarButt
ons.bind(this)); | |
| 184 }, | |
| 185 | |
| 186 /** | |
| 187 * @param {!WebInspector.ContextMenu} contextMenu | |
| 188 */ | |
| 189 _showBreakpointsMenu: function(contextMenu) | |
| 190 { | |
| 191 var node = this.selectedDOMNode(); | |
| 192 if (!node) | |
| 193 return; | |
| 194 WebInspector.domBreakpointsSidebarPane.populateNodeContextMenu(node, con
textMenu, false); | |
| 195 }, | |
| 196 | |
| 197 /** | |
| 198 * @param {!WebInspector.ContextMenu} contextMenu | |
| 199 */ | |
| 200 _showForceElementStateMenu: function(contextMenu) | |
| 201 { | |
| 202 var node = this.selectedDOMNode(); | |
| 203 if (!node) | |
| 204 return; | |
| 205 WebInspector.ElementsTreeElement.populateForcedPseudoStateItems(contextM
enu, node); | |
| 206 }, | 143 }, |
| 207 | 144 |
| 208 _loadSidebarViews: function() | 145 _loadSidebarViews: function() |
| 209 { | 146 { |
| 210 var extensions = self.runtime.extensions("@WebInspector.Widget"); | 147 var extensions = self.runtime.extensions("@WebInspector.Widget"); |
| 211 | 148 |
| 212 for (var i = 0; i < extensions.length; ++i) { | 149 for (var i = 0; i < extensions.length; ++i) { |
| 213 var descriptor = extensions[i].descriptor(); | 150 var descriptor = extensions[i].descriptor(); |
| 214 if (descriptor["location"] !== "elements-panel") | 151 if (descriptor["location"] !== "elements-panel") |
| 215 continue; | 152 continue; |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 391 this._breadcrumbs.setSelectedNode(selectedNode); | 328 this._breadcrumbs.setSelectedNode(selectedNode); |
| 392 | 329 |
| 393 WebInspector.context.setFlavor(WebInspector.DOMNode, selectedNode); | 330 WebInspector.context.setFlavor(WebInspector.DOMNode, selectedNode); |
| 394 | 331 |
| 395 if (selectedNode) { | 332 if (selectedNode) { |
| 396 selectedNode.setAsInspectedNode(); | 333 selectedNode.setAsInspectedNode(); |
| 397 this._lastValidSelectedNode = selectedNode; | 334 this._lastValidSelectedNode = selectedNode; |
| 398 } | 335 } |
| 399 WebInspector.notifications.dispatchEventToListeners(WebInspector.Notific
ationService.Events.SelectedNodeChanged); | 336 WebInspector.notifications.dispatchEventToListeners(WebInspector.Notific
ationService.Events.SelectedNodeChanged); |
| 400 this._selectedNodeChangedForTest(); | 337 this._selectedNodeChangedForTest(); |
| 401 if (Runtime.experiments.isEnabled("materialDesign")) | |
| 402 this._updateToolbarButtons(); | |
| 403 }, | 338 }, |
| 404 | 339 |
| 405 _selectedNodeChangedForTest: function() { }, | 340 _selectedNodeChangedForTest: function() { }, |
| 406 | 341 |
| 407 _reset: function() | 342 _reset: function() |
| 408 { | 343 { |
| 409 delete this.currentQuery; | 344 delete this.currentQuery; |
| 410 }, | 345 }, |
| 411 | 346 |
| 412 /** | 347 /** |
| (...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1276 /** | 1211 /** |
| 1277 * @override | 1212 * @override |
| 1278 * @param {!WebInspector.DOMNode} node | 1213 * @param {!WebInspector.DOMNode} node |
| 1279 * @return {?{title: string, color: string}} | 1214 * @return {?{title: string, color: string}} |
| 1280 */ | 1215 */ |
| 1281 decorate: function(node) | 1216 decorate: function(node) |
| 1282 { | 1217 { |
| 1283 return { color: "#555", title: WebInspector.UIString("Element is hidden"
) }; | 1218 return { color: "#555", title: WebInspector.UIString("Element is hidden"
) }; |
| 1284 } | 1219 } |
| 1285 } | 1220 } |
| OLD | NEW |