| 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 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Sel
ectedNodeChanged, this._selectedNodeChanged, this); | 264 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Sel
ectedNodeChanged, this._selectedNodeChanged, this); |
| 265 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Nod
ePicked, this._onNodePicked, this); | 265 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Nod
ePicked, this._onNodePicked, this); |
| 266 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Ele
mentsTreeUpdated, this._updateBreadcrumbIfNeeded, this); | 266 treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.Ele
mentsTreeUpdated, this._updateBreadcrumbIfNeeded, this); |
| 267 this._treeOutlines.push(treeOutline); | 267 this._treeOutlines.push(treeOutline); |
| 268 this._modelToTreeOutline.set(domModel, treeOutline); | 268 this._modelToTreeOutline.set(domModel, treeOutline); |
| 269 | 269 |
| 270 // Perform attach if necessary. | 270 // Perform attach if necessary. |
| 271 if (this.isShowing()) | 271 if (this.isShowing()) |
| 272 this.wasShown(); | 272 this.wasShown(); |
| 273 | 273 |
| 274 if (this._showLayoutEditor) | |
| 275 domModel.setHighlighter(new WebInspector.ElementsPanel.LayoutEditorN
odeHighlighter(target, treeOutline)); | |
| 276 }, | 274 }, |
| 277 | 275 |
| 278 /** | 276 /** |
| 279 * @override | 277 * @override |
| 280 * @param {!WebInspector.Target} target | 278 * @param {!WebInspector.Target} target |
| 281 */ | 279 */ |
| 282 targetRemoved: function(target) | 280 targetRemoved: function(target) |
| 283 { | 281 { |
| 284 var domModel = WebInspector.DOMModel.fromTarget(target); | 282 var domModel = WebInspector.DOMModel.fromTarget(target); |
| 285 if (!domModel) | 283 if (!domModel) |
| 286 return; | 284 return; |
| 287 var treeOutline = this._modelToTreeOutline.remove(domModel); | 285 var treeOutline = this._modelToTreeOutline.remove(domModel); |
| 288 treeOutline.unwireFromDOMModel(); | 286 treeOutline.unwireFromDOMModel(); |
| 289 this._treeOutlines.remove(treeOutline); | 287 this._treeOutlines.remove(treeOutline); |
| 290 treeOutline.element.remove(); | 288 treeOutline.element.remove(); |
| 291 if (this._showLayoutEditor) | |
| 292 domModel.setHighlighter(null); | |
| 293 }, | 289 }, |
| 294 | 290 |
| 295 _updateTreeOutlineVisibleWidth: function() | 291 _updateTreeOutlineVisibleWidth: function() |
| 296 { | 292 { |
| 297 if (!this._treeOutlines.length) | 293 if (!this._treeOutlines.length) |
| 298 return; | 294 return; |
| 299 | 295 |
| 300 var width = this._splitWidget.element.offsetWidth; | 296 var width = this._splitWidget.element.offsetWidth; |
| 301 if (this._splitWidget.isVertical()) | 297 if (this._splitWidget.isVertical()) |
| 302 width -= this._splitWidget.sidebarSize(); | 298 width -= this._splitWidget.sidebarSize(); |
| (...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 877 { | 873 { |
| 878 var userAgentShadowRoot = node.ancestorUserAgentShadowRoot(); | 874 var userAgentShadowRoot = node.ancestorUserAgentShadowRoot(); |
| 879 return userAgentShadowRoot ? /** @type {!WebInspector.DOMNode} */ (userA
gentShadowRoot.parentNode) : node; | 875 return userAgentShadowRoot ? /** @type {!WebInspector.DOMNode} */ (userA
gentShadowRoot.parentNode) : node; |
| 880 }, | 876 }, |
| 881 | 877 |
| 882 /** | 878 /** |
| 883 * @param {!WebInspector.DOMNode} node | 879 * @param {!WebInspector.DOMNode} node |
| 884 */ | 880 */ |
| 885 revealAndSelectNode: function(node) | 881 revealAndSelectNode: function(node) |
| 886 { | 882 { |
| 887 if (WebInspector.inspectElementModeController && WebInspector.inspectEle
mentModeController.enabled()) { | 883 if (WebInspector.inspectElementModeController && WebInspector.inspectEle
mentModeController.started()) |
| 888 InspectorFrontendHost.bringToFront(); | 884 WebInspector.inspectElementModeController.stop(); |
| 889 WebInspector.inspectElementModeController.disable(); | |
| 890 } | |
| 891 | 885 |
| 892 this._omitDefaultSelection = true; | 886 this._omitDefaultSelection = true; |
| 893 WebInspector.inspectorView.setCurrentPanel(this); | 887 |
| 888 WebInspector.inspectorView.setCurrentPanel(this, this._showLayoutEditor)
; |
| 894 node = WebInspector.moduleSetting("showUAShadowDOM").get() ? node : this
._leaveUserAgentShadowDOM(node); | 889 node = WebInspector.moduleSetting("showUAShadowDOM").get() ? node : this
._leaveUserAgentShadowDOM(node); |
| 895 if (this._showLayoutEditor) | 890 if (!this._showLayoutEditor) |
| 896 node.highlight(); | |
| 897 else | |
| 898 node.highlightForTwoSeconds(); | 891 node.highlightForTwoSeconds(); |
| 899 | 892 |
| 900 this.selectDOMNode(node, true); | 893 this.selectDOMNode(node, true); |
| 901 delete this._omitDefaultSelection; | 894 delete this._omitDefaultSelection; |
| 902 | 895 |
| 903 if (!this._notFirstInspectElement) | 896 if (!this._notFirstInspectElement) |
| 904 InspectorFrontendHost.inspectElementCompleted(); | 897 InspectorFrontendHost.inspectElementCompleted(); |
| 905 this._notFirstInspectElement = true; | 898 this._notFirstInspectElement = true; |
| 906 }, | 899 }, |
| 907 | 900 |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1096 } else { | 1089 } else { |
| 1097 this._elementsPanelTreeOutilneSplit.hideSidebar(true); | 1090 this._elementsPanelTreeOutilneSplit.hideSidebar(true); |
| 1098 } | 1091 } |
| 1099 }, | 1092 }, |
| 1100 | 1093 |
| 1101 _toggleLayoutEditor: function() | 1094 _toggleLayoutEditor: function() |
| 1102 { | 1095 { |
| 1103 this._showLayoutEditor = !this._showLayoutEditor; | 1096 this._showLayoutEditor = !this._showLayoutEditor; |
| 1104 this._layoutEditorButton.setToggled(this._showLayoutEditor); | 1097 this._layoutEditorButton.setToggled(this._showLayoutEditor); |
| 1105 var targets = WebInspector.targetManager.targets(); | 1098 var targets = WebInspector.targetManager.targets(); |
| 1106 for (var target of targets) { | |
| 1107 var domModel = WebInspector.DOMModel.fromTarget(target); | |
| 1108 if (!domModel) | |
| 1109 continue; | |
| 1110 | 1099 |
| 1111 var treeOutline = /** @type {!WebInspector.ElementsTreeOutline} */(t
his._modelToTreeOutline.get(domModel)); | 1100 if (this._showLayoutEditor) |
| 1112 if (this._showLayoutEditor) | 1101 WebInspector.inspectElementModeController.disable(); |
| 1113 domModel.setHighlighter(new WebInspector.ElementsPanel.LayoutEdi
torNodeHighlighter(target, treeOutline)); | 1102 else |
| 1114 else | 1103 WebInspector.inspectElementModeController.enable(); |
| 1115 domModel.setHighlighter(null); | |
| 1116 | 1104 |
| 1117 // We need to correct (turn on/off layout editor) the config which i
s used by inspect element mode, so we re-enable it. | 1105 var mode = this._showLayoutEditor ? DOMAgent.InspectMode.ShowLayoutEdito
r : DOMAgent.InspectMode.None; |
| 1118 if (WebInspector.inspectElementModeController && WebInspector.inspec
tElementModeController.enabled()) | 1106 for (var domModel of WebInspector.DOMModel.instances()) |
| 1119 domModel.setInspectMode(WebInspector.moduleSetting("showUAShadow
DOM").get() ? DOMAgent.InspectMode.SearchForUAShadowDOM : DOMAgent.InspectMode.S
earchForNode); | 1107 domModel.setInspectMode(mode); |
| 1120 } | |
| 1121 WebInspector.DOMModel.hideDOMNodeHighlight(); | |
| 1122 }, | 1108 }, |
| 1123 | 1109 |
| 1124 __proto__: WebInspector.Panel.prototype | 1110 __proto__: WebInspector.Panel.prototype |
| 1125 } | 1111 } |
| 1126 | 1112 |
| 1127 /** | 1113 /** |
| 1128 * @constructor | 1114 * @constructor |
| 1129 * @implements {WebInspector.ContextMenu.Provider} | 1115 * @implements {WebInspector.ContextMenu.Provider} |
| 1130 */ | 1116 */ |
| 1131 WebInspector.ElementsPanel.ContextMenuProvider = function() | 1117 WebInspector.ElementsPanel.ContextMenuProvider = function() |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1292 WebInspector.ElementsPanel.HiddenMarkerDecorator.prototype = { | 1278 WebInspector.ElementsPanel.HiddenMarkerDecorator.prototype = { |
| 1293 /** | 1279 /** |
| 1294 * @override | 1280 * @override |
| 1295 * @param {!WebInspector.DOMNode} node | 1281 * @param {!WebInspector.DOMNode} node |
| 1296 * @return {?{title: string, color: string}} | 1282 * @return {?{title: string, color: string}} |
| 1297 */ | 1283 */ |
| 1298 decorate: function(node) | 1284 decorate: function(node) |
| 1299 { | 1285 { |
| 1300 return { color: "#555", title: WebInspector.UIString("Element is hidden"
) }; | 1286 return { color: "#555", title: WebInspector.UIString("Element is hidden"
) }; |
| 1301 } | 1287 } |
| 1302 } | |
| 1303 | |
| 1304 /** | |
| 1305 * @constructor | |
| 1306 * @extends {WebInspector.DefaultDOMNodeHighlighter} | |
| 1307 * @param {!WebInspector.Target} target | |
| 1308 * @param {!WebInspector.ElementsTreeOutline} treeOutline | |
| 1309 */ | |
| 1310 WebInspector.ElementsPanel.LayoutEditorNodeHighlighter = function(target, treeOu
tline) | |
| 1311 { | |
| 1312 WebInspector.DefaultDOMNodeHighlighter.call(this, target.domAgent()); | |
| 1313 this._treeOutline = treeOutline; | |
| 1314 } | |
| 1315 | |
| 1316 WebInspector.ElementsPanel.LayoutEditorNodeHighlighter.prototype = { | |
| 1317 /** | |
| 1318 * @override | |
| 1319 * @param {?WebInspector.DOMNode} node | |
| 1320 * @param {!DOMAgent.HighlightConfig} config | |
| 1321 * @param {!DOMAgent.BackendNodeId=} backendNodeId | |
| 1322 * @param {!RuntimeAgent.RemoteObjectId=} objectId | |
| 1323 */ | |
| 1324 highlightDOMNode: function(node, config, backendNodeId, objectId) | |
| 1325 { | |
| 1326 config.showLayoutEditor = config.showInfo; | |
| 1327 var selectedNode = this._treeOutline.selectedDOMNode(); | |
| 1328 if (objectId || node || backendNodeId || !selectedNode) | |
| 1329 WebInspector.DefaultDOMNodeHighlighter.prototype.highlightDOMNode.ca
ll(this, node, config, backendNodeId, objectId); | |
| 1330 else | |
| 1331 WebInspector.DefaultDOMNodeHighlighter.prototype.highlightDOMNode.ca
ll(this, selectedNode, config); | |
| 1332 }, | |
| 1333 | |
| 1334 /** | |
| 1335 * @override | |
| 1336 * @param {!DOMAgent.InspectMode} mode | |
| 1337 * @param {!DOMAgent.HighlightConfig} config | |
| 1338 * @param {function(?Protocol.Error)=} callback | |
| 1339 */ | |
| 1340 setInspectMode: function(mode, config, callback) | |
| 1341 { | |
| 1342 config.showLayoutEditor = config.showInfo; | |
| 1343 WebInspector.DefaultDOMNodeHighlighter.prototype.setInspectMode.call(thi
s, mode, config, callback); | |
| 1344 | |
| 1345 if (mode !== DOMAgent.InspectMode.None) | |
| 1346 return; | |
| 1347 | |
| 1348 var selectedNode = this._treeOutline.selectedDOMNode(); | |
| 1349 if (selectedNode) | |
| 1350 WebInspector.DefaultDOMNodeHighlighter.prototype.highlightDOMNode.ca
ll(this, selectedNode, config); | |
| 1351 }, | |
| 1352 | |
| 1353 __proto__: WebInspector.DefaultDOMNodeHighlighter.prototype | |
| 1354 } | 1288 } |
| OLD | NEW |