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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 99 this._dockSideChanged(); | 99 this._dockSideChanged(); |
| 100 this._loadSidebarViews(); | 100 this._loadSidebarViews(); |
| 101 | 101 |
| 102 /** @type {!Array.<!WebInspector.ElementsTreeOutline>} */ | 102 /** @type {!Array.<!WebInspector.ElementsTreeOutline>} */ |
| 103 this._treeOutlines = []; | 103 this._treeOutlines = []; |
| 104 /** @type {!Map.<!WebInspector.DOMModel, !WebInspector.ElementsTreeOutline>} */ | 104 /** @type {!Map.<!WebInspector.DOMModel, !WebInspector.ElementsTreeOutline>} */ |
| 105 this._modelToTreeOutline = new Map(); | 105 this._modelToTreeOutline = new Map(); |
| 106 WebInspector.targetManager.observeTargets(this); | 106 WebInspector.targetManager.observeTargets(this); |
| 107 WebInspector.moduleSetting("showUAShadowDOM").addChangeListener(this._showUA ShadowDOMChanged.bind(this)); | 107 WebInspector.moduleSetting("showUAShadowDOM").addChangeListener(this._showUA ShadowDOMChanged.bind(this)); |
| 108 WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebInspec tor.DOMModel.Events.DocumentUpdated, this._documentUpdatedEvent, this); | 108 WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebInspec tor.DOMModel.Events.DocumentUpdated, this._documentUpdatedEvent, this); |
| 109 WebInspector.targetManager.addModelListener(WebInspector.CSSStyleModel, WebI nspector.CSSStyleModel.Events.PseudoStateForced, this._decoratorsChanged, this); | 109 if (Runtime.experiments.isEnabled("materialDesign")) |
| 110 WebInspector.domBreakpointsSidebarPane.addEventListener(WebInspector.DOMBrea kpointsSidebarPane.Events.BreakpointsChanged, this._decoratorsChanged, this); | 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); | 111 WebInspector.extensionServer.addEventListener(WebInspector.ExtensionServer.E vents.SidebarPaneAdded, this._extensionSidebarPaneAdded, this); |
| 112 } | 112 } |
| 113 | 113 |
| 114 WebInspector.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol("title"); | 114 WebInspector.ElementsPanel._elementsSidebarViewTitleSymbol = Symbol("title"); |
| 115 | 115 |
| 116 WebInspector.ElementsPanel.prototype = { | 116 WebInspector.ElementsPanel.prototype = { |
| 117 /** | 117 /** |
| 118 * @return {!WebInspector.Toolbar} | 118 * @return {!WebInspector.Toolbar} |
| 119 */ | 119 */ |
| 120 _createElementsToolbar: function() | 120 _createElementsToolbar: function() |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 139 return toolbar; | 139 return toolbar; |
| 140 }, | 140 }, |
| 141 | 141 |
| 142 _toggleHideElement: function() | 142 _toggleHideElement: function() |
| 143 { | 143 { |
| 144 var node = this.selectedDOMNode(); | 144 var node = this.selectedDOMNode(); |
| 145 var treeOutline = this._treeOutlineForNode(node); | 145 var treeOutline = this._treeOutlineForNode(node); |
| 146 if (!node || !treeOutline) | 146 if (!node || !treeOutline) |
| 147 return; | 147 return; |
| 148 treeOutline.toggleHideElement(node); | 148 treeOutline.toggleHideElement(node); |
| 149 this._hideElementButton.setToggled(!this._hideElementButton.toggled()); | |
| 150 }, | 149 }, |
| 151 | 150 |
| 152 _updateToolbarButtons: function() | 151 _updateToolbarButtons: function() |
| 153 { | 152 { |
| 154 var node = this.selectedDOMNode(); | 153 var node = this.selectedDOMNode(); |
| 155 if (!node) | 154 if (!node) |
| 156 return; | 155 return; |
| 157 var classText = node.getAttribute("class"); | 156 var classText = node.getAttribute("class"); |
| 158 this._hideElementButton.setToggled(classText && classText.match(/__web-i nspector-hide/)); | 157 this._hideElementButton.setToggled(!!node.marker(WebInspector.DOMPresent ationUtils.GenericMarkers.Hidden)); |
| 159 this._editAsHTMLButton.setToggled(false); | 158 this._editAsHTMLButton.setToggled(false); |
| 160 this._breakpointsButton.setEnabled(!node.pseudoType()); | 159 this._breakpointsButton.setEnabled(!node.pseudoType()); |
| 161 this._breakpointsButton.setToggled(WebInspector.domBreakpointsSidebarPan e.hasBreakpoints(node)); | 160 this._breakpointsButton.setToggled(WebInspector.domBreakpointsSidebarPan e.hasBreakpoints(node)); |
| 162 this._forceElementStateButton.setEnabled(node.nodeType() === Node.ELEMEN T_NODE && !node.pseudoType()); | 161 this._forceElementStateButton.setEnabled(node.nodeType() === Node.ELEMEN T_NODE && !node.pseudoType()); |
| 163 this._forceElementStateButton.setToggled(!!node.getUserProperty(WebInspe ctor.CSSStyleModel.PseudoStatePropertyName)); | 162 this._forceElementStateButton.setToggled(!!WebInspector.CSSStyleModel.fr omNode(node).pseudoState(node).length); |
| 164 }, | 163 }, |
| 165 | 164 |
| 166 _toggleEditAsHTML: function() | 165 _toggleEditAsHTML: function() |
| 167 { | 166 { |
| 168 var node = this.selectedDOMNode(); | 167 var node = this.selectedDOMNode(); |
| 169 var treeOutline = this._treeOutlineForNode(node); | 168 var treeOutline = this._treeOutlineForNode(node); |
| 170 if (!node || !treeOutline) | 169 if (!node || !treeOutline) |
| 171 return; | 170 return; |
| 172 var startEditing = !this._editAsHTMLButton.toggled(); | 171 var startEditing = !this._editAsHTMLButton.toggled(); |
| 173 treeOutline.toggleEditAsHTML(node, startEditing, this._updateToolbarButt ons.bind(this)); | 172 treeOutline.toggleEditAsHTML(node, startEditing, this._updateToolbarButt ons.bind(this)); |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 348 }, | 347 }, |
| 349 | 348 |
| 350 onResize: function() | 349 onResize: function() |
| 351 { | 350 { |
| 352 this._updateTreeOutlineVisibleWidth(); | 351 this._updateTreeOutlineVisibleWidth(); |
| 353 }, | 352 }, |
| 354 | 353 |
| 355 /** | 354 /** |
| 356 * @param {!WebInspector.Event} event | 355 * @param {!WebInspector.Event} event |
| 357 */ | 356 */ |
| 358 _decoratorsChanged: function(event) | |
| 359 { | |
| 360 var node = /** @type {!WebInspector.DOMNode} */ (event.data["node"]); | |
| 361 this._treeOutlineForNode(node).updateOpenCloseTags(node); | |
|
dgozman
2015/08/07 23:35:05
This call disappeared. I don't really understand i
pfeldman
2015/08/10 21:35:17
This was indirectly triggering decorators which ar
| |
| 362 this._updateToolbarButtons(); | |
| 363 }, | |
| 364 | |
| 365 /** | |
| 366 * @param {!WebInspector.Event} event | |
| 367 */ | |
| 368 _onNodePicked: function(event) | 357 _onNodePicked: function(event) |
| 369 { | 358 { |
| 370 if (!this.sidebarPanes.styles.isEditingSelector()) | 359 if (!this.sidebarPanes.styles.isEditingSelector()) |
| 371 return; | 360 return; |
| 372 this.sidebarPanes.styles.updateEditingSelectorForNode(/** @type {!WebIns pector.DOMNode} */(event.data)); | 361 this.sidebarPanes.styles.updateEditingSelectorForNode(/** @type {!WebIns pector.DOMNode} */(event.data)); |
| 373 }, | 362 }, |
| 374 | 363 |
| 375 /** | 364 /** |
| 376 * @param {!WebInspector.Event} event | 365 * @param {!WebInspector.Event} event |
| 377 */ | 366 */ |
| (...skipping 841 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1219 */ | 1208 */ |
| 1220 handleAction: function(context, actionId) | 1209 handleAction: function(context, actionId) |
| 1221 { | 1210 { |
| 1222 var elementsPanel = WebInspector.ElementsPanel.instance(); | 1211 var elementsPanel = WebInspector.ElementsPanel.instance(); |
| 1223 if (actionId === "elements.hide-element") | 1212 if (actionId === "elements.hide-element") |
| 1224 elementsPanel._toggleHideElement(); | 1213 elementsPanel._toggleHideElement(); |
| 1225 else if (actionId === "elements.edit-as-html") | 1214 else if (actionId === "elements.edit-as-html") |
| 1226 elementsPanel._toggleEditAsHTML(); | 1215 elementsPanel._toggleEditAsHTML(); |
| 1227 } | 1216 } |
| 1228 } | 1217 } |
| 1218 | |
| 1219 /** | |
| 1220 * @constructor | |
| 1221 * @implements {WebInspector.DOMPresentationUtils.MarkerDecorator} | |
| 1222 */ | |
| 1223 WebInspector.ElementsPanel.PseudoStateMarkerDecorator = function() | |
| 1224 { | |
| 1225 } | |
| 1226 | |
| 1227 WebInspector.ElementsPanel.PseudoStateMarkerDecorator.prototype = { | |
| 1228 /** | |
| 1229 * @override | |
| 1230 * @param {!WebInspector.DOMNode} node | |
| 1231 * @return {?string} | |
| 1232 */ | |
| 1233 decorate: function(node) | |
| 1234 { | |
| 1235 return WebInspector.UIString("Element state: %s", ":" + WebInspector.CSS StyleModel.fromNode(node).pseudoState(node).join(", :")); | |
| 1236 } | |
| 1237 } | |
| 1238 | |
| 1239 /** | |
| 1240 * @constructor | |
| 1241 * @implements {WebInspector.DOMPresentationUtils.MarkerDecorator} | |
| 1242 */ | |
| 1243 WebInspector.ElementsPanel.HiddenMarkerDecorator = function() | |
| 1244 { | |
| 1245 } | |
| 1246 | |
| 1247 WebInspector.ElementsPanel.HiddenMarkerDecorator.prototype = { | |
| 1248 /** | |
| 1249 * @override | |
| 1250 * @param {!WebInspector.DOMNode} node | |
| 1251 * @return {?string} | |
| 1252 */ | |
| 1253 decorate: function(node) | |
| 1254 { | |
| 1255 return WebInspector.UIString("Element is hidden"); | |
| 1256 } | |
| 1257 } | |
| OLD | NEW |