Chromium Code Reviews| 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"); | |
| 57 toolbar.appendChild(this._toolbar.element); | |
| 58 } | |
| 59 stackElement.appendChild(this._contentElement); | 56 stackElement.appendChild(this._contentElement); |
| 60 stackElement.appendChild(crumbsContainer); | 57 stackElement.appendChild(crumbsContainer); |
| 61 | 58 |
| 62 this._elementsPanelTreeOutilneSplit = new WebInspector.SplitWidget(false, tr ue, "treeOutlineAnimationTimelineWidget", 300, 300); | 59 this._elementsPanelTreeOutilneSplit = new WebInspector.SplitWidget(false, tr ue, "treeOutlineAnimationTimelineWidget", 300, 300); |
| 63 this._elementsPanelTreeOutilneSplit.hideSidebar(); | 60 this._elementsPanelTreeOutilneSplit.hideSidebar(); |
| 64 this._elementsPanelTreeOutilneSplit.setMainWidget(this._searchableView); | 61 this._elementsPanelTreeOutilneSplit.setMainWidget(this._searchableView); |
| 65 this._splitWidget.setMainWidget(this._elementsPanelTreeOutilneSplit); | 62 this._splitWidget.setMainWidget(this._elementsPanelTreeOutilneSplit); |
| 66 | 63 |
| 67 this._contentElement.id = "elements-content"; | 64 this._contentElement.id = "elements-content"; |
| 68 // FIXME: crbug.com/425984 | 65 // FIXME: crbug.com/425984 |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 96 this._updateSidebarPosition(); | 93 this._updateSidebarPosition(); |
| 97 this._loadSidebarViews(); | 94 this._loadSidebarViews(); |
| 98 | 95 |
| 99 /** @type {!Array.<!WebInspector.ElementsTreeOutline>} */ | 96 /** @type {!Array.<!WebInspector.ElementsTreeOutline>} */ |
| 100 this._treeOutlines = []; | 97 this._treeOutlines = []; |
| 101 /** @type {!Map.<!WebInspector.DOMModel, !WebInspector.ElementsTreeOutline>} */ | 98 /** @type {!Map.<!WebInspector.DOMModel, !WebInspector.ElementsTreeOutline>} */ |
| 102 this._modelToTreeOutline = new Map(); | 99 this._modelToTreeOutline = new Map(); |
| 103 WebInspector.targetManager.observeTargets(this); | 100 WebInspector.targetManager.observeTargets(this); |
| 104 WebInspector.moduleSetting("showUAShadowDOM").addChangeListener(this._showUA ShadowDOMChanged.bind(this)); | 101 WebInspector.moduleSetting("showUAShadowDOM").addChangeListener(this._showUA ShadowDOMChanged.bind(this)); |
| 105 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); |
| 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); | 103 WebInspector.extensionServer.addEventListener(WebInspector.ExtensionServer.E vents.SidebarPaneAdded, this._extensionSidebarPaneAdded, this); |
| 109 } | 104 } |
| 110 | 105 |
| 111 WebInspector.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol("title"); | 106 WebInspector.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol("title"); |
| 112 | 107 |
| 113 WebInspector.ElementsPanel.prototype = { | 108 WebInspector.ElementsPanel.prototype = { |
| 114 /** | 109 _initializeActionsToolbar: function() |
| 115 * @return {!WebInspector.Toolbar} | |
| 116 */ | |
| 117 _createElementsToolbar: function() | |
| 118 { | 110 { |
| 119 var toolbar = new WebInspector.ExtensibleToolbar("elements-toolbar"); | 111 this._nodeActionsElement = createElementWithClass("div", "node-actions-c ontainer"); |
| 120 toolbar.element.classList.add("elements-toolbar"); | 112 var button = this._nodeActionsElement.createChild("div", "node-actions-t oggle"); |
| 121 this._hideElementButton = new WebInspector.ToolbarButton(WebInspector.UI String("Hide element"), "visibility-off-toolbar-item"); | 113 button.addEventListener("click", this._toggleActionsToolbar.bind(this, n ull)); |
| 122 this._hideElementButton.setAction("elements.hide-element"); | 114 this._nodeActionsToolbar = new WebInspector.Toolbar(); |
| 123 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); | |
| 124 | 118 |
| 125 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"); |
| 126 this._editAsHTMLButton.setAction("elements.edit-as-html"); | 120 this._editAsHTMLButton.setAction("elements.edit-as-html"); |
| 127 toolbar.appendToolbarItem(this._editAsHTMLButton); | 121 this._nodeActionsToolbar.appendToolbarItem(this._editAsHTMLButton); |
| 128 toolbar.appendSeparator(); | 122 this._nodeActionsToolbar.element.classList.add("node-actions-toolbar"); |
| 129 | 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); | |
| 130 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)); |
| 131 toolbar.appendToolbarItem(this._forceElementStateButton); | 127 this._nodeActionsToolbar.appendToolbarItem(this._forceElementStateButton ); |
| 132 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)); |
| 133 toolbar.appendToolbarItem(this._breakpointsButton); | 129 this._nodeActionsToolbar.appendToolbarItem(this._breakpointsButton); |
| 134 | |
| 135 toolbar.appendSeparator(); | |
| 136 if (Runtime.experiments.isEnabled("layoutEditor") && !Runtime.queryParam ("remoteFrontend")) { | |
| 137 this._layoutEditorButton = new WebInspector.ToolbarButton(WebInspect or.UIString("Toggle Layout Editor"), "layout-editor-toolbar-item"); | |
| 138 toolbar.appendToolbarItem(this._layoutEditorButton); | |
| 139 this._layoutEditorButton.addEventListener("click", this._toggleLayou tEditor, this); | |
| 140 toolbar.appendSeparator(); | |
| 141 } | |
| 142 return toolbar; | |
| 143 }, | 130 }, |
| 144 | 131 |
| 145 _toggleHideElement: function() | 132 _toggleHideElement: function() |
| 146 { | 133 { |
| 147 var node = this.selectedDOMNode(); | 134 var node = this.selectedDOMNode(); |
| 148 var treeOutline = this._treeOutlineForNode(node); | 135 var treeOutline = this._treeOutlineForNode(node); |
| 149 if (!node || !treeOutline) | 136 if (!node || !treeOutline) |
| 150 return; | 137 return; |
| 151 treeOutline.toggleHideElement(node); | 138 treeOutline.toggleHideElement(node); |
| 152 }, | 139 }, |
| 153 | 140 |
| 154 _updateToolbarButtons: function() | 141 /** |
| 142 * @param {!WebInspector.DOMNode} node | |
| 143 */ | |
| 144 _updateActionsToolbar: function(node) | |
| 155 { | 145 { |
| 156 if (!Runtime.experiments.isEnabled("materialDesign")) | 146 if (!Runtime.experiments.isEnabled("materialDesign")) |
| 157 return; | 147 return; |
| 158 var node = this.selectedDOMNode(); | |
| 159 if (!node) | |
| 160 return; | |
| 161 var classText = node.getAttribute("class"); | 148 var classText = node.getAttribute("class"); |
| 162 var treeOutline = this._treeOutlineForNode(node); | 149 var treeOutline = this._treeOutlineForNode(node); |
| 163 this._hideElementButton.setToggled(treeOutline && treeOutline.isToggledT oHidden(node)); | 150 this._hideElementButton.setToggled(treeOutline && treeOutline.isToggledT oHidden(node)); |
| 164 this._editAsHTMLButton.setToggled(false); | 151 this._editAsHTMLButton.setToggled(false); |
| 165 this._breakpointsButton.setEnabled(!node.pseudoType()); | 152 this._breakpointsButton.setEnabled(!node.pseudoType()); |
| 166 this._breakpointsButton.setToggled(WebInspector.domBreakpointsSidebarPan e.hasBreakpoints(node)); | 153 this._breakpointsButton.setToggled(WebInspector.domBreakpointsSidebarPan e.hasBreakpoints(node)); |
| 167 this._forceElementStateButton.setEnabled(node.nodeType() === Node.ELEMEN T_NODE && !node.pseudoType()); | 154 this._forceElementStateButton.setEnabled(node.nodeType() === Node.ELEMEN T_NODE && !node.pseudoType()); |
| 168 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 (treeElement.selected && actionsToolbar.__node !== node) { | |
|
pfeldman
2015/09/17 00:06:18
You just fetched the selected one, surely it is .s
samli
2015/09/17 18:08:04
Done
| |
| 167 treeElement.gutterElement().appendChild(actionsToolbar); | |
| 168 this._positionActionsToolbar(); | |
| 169 actionsToolbar.__node = node; | |
| 170 this._toggleActionsToolbar(false); | |
| 171 } | |
| 169 }, | 172 }, |
| 170 | 173 |
| 171 _toggleEditAsHTML: function() | 174 _toggleEditAsHTML: function() |
| 172 { | 175 { |
| 173 var node = this.selectedDOMNode(); | 176 var node = this.selectedDOMNode(); |
| 174 var treeOutline = this._treeOutlineForNode(node); | 177 var treeOutline = this._treeOutlineForNode(node); |
| 175 if (!node || !treeOutline) | 178 if (!node || !treeOutline) |
| 176 return; | 179 return; |
| 177 | 180 |
| 178 var startEditing = true; | 181 var startEditing = true; |
| 179 if (Runtime.experiments.isEnabled("materialDesign")) { | 182 if (Runtime.experiments.isEnabled("materialDesign")) { |
| 180 startEditing = !this._editAsHTMLButton.toggled(); | 183 startEditing = !this._editAsHTMLButton.toggled(); |
| 181 this._editAsHTMLButton.setToggled(startEditing); | 184 this._editAsHTMLButton.setToggled(startEditing); |
| 182 } | 185 } |
| 183 treeOutline.toggleEditAsHTML(node, startEditing, this._updateToolbarButt ons.bind(this)); | 186 treeOutline.toggleEditAsHTML(node, startEditing, this._updateActionsTool bar.bind(this, node)); |
| 184 }, | 187 }, |
| 185 | 188 |
| 186 /** | 189 /** |
| 187 * @param {!WebInspector.ContextMenu} contextMenu | 190 * @param {!WebInspector.ContextMenu} contextMenu |
| 188 */ | 191 */ |
| 189 _showBreakpointsMenu: function(contextMenu) | 192 _showBreakpointsMenu: function(contextMenu) |
| 190 { | 193 { |
| 191 var node = this.selectedDOMNode(); | 194 var node = this.selectedDOMNode(); |
| 192 if (!node) | 195 if (!node) |
| 193 return; | 196 return; |
| 194 WebInspector.domBreakpointsSidebarPane.populateNodeContextMenu(node, con textMenu, false); | 197 WebInspector.domBreakpointsSidebarPane.populateNodeContextMenu(node, con textMenu, false); |
| 195 }, | 198 }, |
| 196 | 199 |
| 197 /** | 200 /** |
| 198 * @param {!WebInspector.ContextMenu} contextMenu | 201 * @param {!WebInspector.ContextMenu} contextMenu |
| 199 */ | 202 */ |
| 200 _showForceElementStateMenu: function(contextMenu) | 203 _showForceElementStateMenu: function(contextMenu) |
| 201 { | 204 { |
| 202 var node = this.selectedDOMNode(); | 205 var node = this.selectedDOMNode(); |
| 203 if (!node) | 206 if (!node) |
| 204 return; | 207 return; |
| 205 WebInspector.ElementsTreeElement.populateForcedPseudoStateItems(contextM enu, node); | 208 WebInspector.ElementsTreeElement.populateForcedPseudoStateItems(contextM enu, node); |
| 206 }, | 209 }, |
| 207 | 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 | |
|
pfeldman
2015/09/17 00:06:18
we typically make params like this optional.
samli
2015/09/17 18:08:04
Done.
| |
| 223 */ | |
| 224 _toggleActionsToolbar: function(toggled) | |
| 225 { | |
| 226 if (toggled === null) | |
| 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 | |
| 208 _loadSidebarViews: function() | 265 _loadSidebarViews: function() |
| 209 { | 266 { |
| 210 var extensions = self.runtime.extensions("@WebInspector.Widget"); | 267 var extensions = self.runtime.extensions("@WebInspector.Widget"); |
| 211 | 268 |
| 212 for (var i = 0; i < extensions.length; ++i) { | 269 for (var i = 0; i < extensions.length; ++i) { |
| 213 var descriptor = extensions[i].descriptor(); | 270 var descriptor = extensions[i].descriptor(); |
| 214 if (descriptor["location"] !== "elements-panel") | 271 if (descriptor["location"] !== "elements-panel") |
| 215 continue; | 272 continue; |
| 216 | 273 |
| 217 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... | |
| 254 { | 311 { |
| 255 var domModel = WebInspector.DOMModel.fromTarget(target); | 312 var domModel = WebInspector.DOMModel.fromTarget(target); |
| 256 if (!domModel) | 313 if (!domModel) |
| 257 return; | 314 return; |
| 258 var treeOutline = new WebInspector.ElementsTreeOutline(domModel, true, t rue); | 315 var treeOutline = new WebInspector.ElementsTreeOutline(domModel, true, t rue); |
| 259 treeOutline.setWordWrap(WebInspector.moduleSetting("domWordWrap").get()) ; | 316 treeOutline.setWordWrap(WebInspector.moduleSetting("domWordWrap").get()) ; |
| 260 treeOutline.wireToDOMModel(); | 317 treeOutline.wireToDOMModel(); |
| 261 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Sel ectedNodeChanged, this._selectedNodeChanged, this); | 318 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Sel ectedNodeChanged, this._selectedNodeChanged, this); |
| 262 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Nod ePicked, this._onNodePicked, this); | 319 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Nod ePicked, this._onNodePicked, this); |
| 263 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); | |
| 264 this._treeOutlines.push(treeOutline); | 322 this._treeOutlines.push(treeOutline); |
| 265 this._modelToTreeOutline.set(domModel, treeOutline); | 323 this._modelToTreeOutline.set(domModel, treeOutline); |
| 266 | 324 |
| 267 // Perform attach if necessary. | 325 // Perform attach if necessary. |
| 268 if (this.isShowing()) | 326 if (this.isShowing()) |
| 269 this.wasShown(); | 327 this.wasShown(); |
| 270 | 328 |
| 271 }, | 329 }, |
| 272 | 330 |
| 273 /** | 331 /** |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 388 if (!selectedNode && this._lastValidSelectedNode) | 446 if (!selectedNode && this._lastValidSelectedNode) |
| 389 this._selectedPathOnReset = this._lastValidSelectedNode.path(); | 447 this._selectedPathOnReset = this._lastValidSelectedNode.path(); |
| 390 | 448 |
| 391 this._breadcrumbs.setSelectedNode(selectedNode); | 449 this._breadcrumbs.setSelectedNode(selectedNode); |
| 392 | 450 |
| 393 WebInspector.context.setFlavor(WebInspector.DOMNode, selectedNode); | 451 WebInspector.context.setFlavor(WebInspector.DOMNode, selectedNode); |
| 394 | 452 |
| 395 if (selectedNode) { | 453 if (selectedNode) { |
| 396 selectedNode.setAsInspectedNode(); | 454 selectedNode.setAsInspectedNode(); |
| 397 this._lastValidSelectedNode = selectedNode; | 455 this._lastValidSelectedNode = selectedNode; |
| 456 this._updateActionsToolbar(selectedNode); | |
| 398 } | 457 } |
| 399 WebInspector.notifications.dispatchEventToListeners(WebInspector.Notific ationService.Events.SelectedNodeChanged); | 458 WebInspector.notifications.dispatchEventToListeners(WebInspector.Notific ationService.Events.SelectedNodeChanged); |
| 400 this._selectedNodeChangedForTest(); | 459 this._selectedNodeChangedForTest(); |
| 401 if (Runtime.experiments.isEnabled("materialDesign")) | |
| 402 this._updateToolbarButtons(); | |
| 403 }, | 460 }, |
| 404 | 461 |
| 405 _selectedNodeChangedForTest: function() { }, | 462 _selectedNodeChangedForTest: function() { }, |
| 406 | 463 |
| 407 _reset: function() | 464 _reset: function() |
| 408 { | 465 { |
| 409 delete this.currentQuery; | 466 delete this.currentQuery; |
| 410 }, | 467 }, |
| 411 | 468 |
| 412 /** | 469 /** |
| (...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1081 setWidgetBelowDOM: function(widget) | 1138 setWidgetBelowDOM: function(widget) |
| 1082 { | 1139 { |
| 1083 if (widget) { | 1140 if (widget) { |
| 1084 this._elementsPanelTreeOutilneSplit.setSidebarWidget(widget); | 1141 this._elementsPanelTreeOutilneSplit.setSidebarWidget(widget); |
| 1085 this._elementsPanelTreeOutilneSplit.showBoth(true); | 1142 this._elementsPanelTreeOutilneSplit.showBoth(true); |
| 1086 } else { | 1143 } else { |
| 1087 this._elementsPanelTreeOutilneSplit.hideSidebar(true); | 1144 this._elementsPanelTreeOutilneSplit.hideSidebar(true); |
| 1088 } | 1145 } |
| 1089 }, | 1146 }, |
| 1090 | 1147 |
| 1091 _toggleLayoutEditor: function() | |
| 1092 { | |
| 1093 this._showLayoutEditor = !this._showLayoutEditor; | |
| 1094 this._layoutEditorButton.setToggled(this._showLayoutEditor); | |
| 1095 var targets = WebInspector.targetManager.targets(); | |
| 1096 | |
| 1097 if (this._showLayoutEditor) | |
| 1098 WebInspector.inspectElementModeController.disable(); | |
| 1099 else | |
| 1100 WebInspector.inspectElementModeController.enable(); | |
| 1101 | |
| 1102 var mode = this._showLayoutEditor ? DOMAgent.InspectMode.ShowLayoutEdito r : DOMAgent.InspectMode.None; | |
| 1103 for (var domModel of WebInspector.DOMModel.instances()) | |
| 1104 domModel.setInspectMode(mode); | |
| 1105 }, | |
| 1106 | |
| 1107 __proto__: WebInspector.Panel.prototype | 1148 __proto__: WebInspector.Panel.prototype |
| 1108 } | 1149 } |
| 1109 | 1150 |
| 1110 /** | 1151 /** |
| 1111 * @constructor | 1152 * @constructor |
| 1112 * @implements {WebInspector.ContextMenu.Provider} | 1153 * @implements {WebInspector.ContextMenu.Provider} |
| 1113 */ | 1154 */ |
| 1114 WebInspector.ElementsPanel.ContextMenuProvider = function() | 1155 WebInspector.ElementsPanel.ContextMenuProvider = function() |
| 1115 { | 1156 { |
| 1116 } | 1157 } |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1275 WebInspector.ElementsPanel.HiddenMarkerDecorator.prototype = { | 1316 WebInspector.ElementsPanel.HiddenMarkerDecorator.prototype = { |
| 1276 /** | 1317 /** |
| 1277 * @override | 1318 * @override |
| 1278 * @param {!WebInspector.DOMNode} node | 1319 * @param {!WebInspector.DOMNode} node |
| 1279 * @return {?{title: string, color: string}} | 1320 * @return {?{title: string, color: string}} |
| 1280 */ | 1321 */ |
| 1281 decorate: function(node) | 1322 decorate: function(node) |
| 1282 { | 1323 { |
| 1283 return { color: "#555", title: WebInspector.UIString("Element is hidden" ) }; | 1324 return { color: "#555", title: WebInspector.UIString("Element is hidden" ) }; |
| 1284 } | 1325 } |
| 1285 } | 1326 } |
| OLD | NEW |