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 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 var crumbsContainer = stackElement.createChild("div"); | 81 var crumbsContainer = stackElement.createChild("div"); |
82 crumbsContainer.id = "elements-crumbs"; | 82 crumbsContainer.id = "elements-crumbs"; |
83 this.crumbsElement = crumbsContainer.createChild("div", "crumbs"); | 83 this.crumbsElement = crumbsContainer.createChild("div", "crumbs"); |
84 this.crumbsElement.addEventListener("mousemove", this._mouseMovedInCrumbs.bi
nd(this), false); | 84 this.crumbsElement.addEventListener("mousemove", this._mouseMovedInCrumbs.bi
nd(this), false); |
85 this.crumbsElement.addEventListener("mouseout", this._mouseMovedOutOfCrumbs.
bind(this), false); | 85 this.crumbsElement.addEventListener("mouseout", this._mouseMovedOutOfCrumbs.
bind(this), false); |
86 | 86 |
87 this.sidebarPanes = {}; | 87 this.sidebarPanes = {}; |
88 this.sidebarPanes.platformFonts = new WebInspector.PlatformFontsSidebarPane(
); | 88 this.sidebarPanes.platformFonts = new WebInspector.PlatformFontsSidebarPane(
); |
89 this.sidebarPanes.computedStyle = new WebInspector.ComputedStyleSidebarPane(
); | 89 this.sidebarPanes.computedStyle = new WebInspector.ComputedStyleSidebarPane(
); |
90 this.sidebarPanes.styles = new WebInspector.StylesSidebarPane(this.sidebarPa
nes.computedStyle, this._setPseudoClassForNodeId.bind(this)); | 90 this.sidebarPanes.styles = new WebInspector.StylesSidebarPane(this.sidebarPa
nes.computedStyle, this._setPseudoClassForNodeId.bind(this)); |
| 91 |
| 92 this._matchedStylesFilterBoxContainer = document.createElement("div"); |
| 93 this._matchedStylesFilterBoxContainer.className = "filter-box-container insp
ector-footer status-bar"; |
| 94 this._computedStylesFilterBoxContainer = document.createElement("div"); |
| 95 this._computedStylesFilterBoxContainer.className = "filter-box-container ins
pector-footer status-bar"; |
| 96 this.sidebarPanes.styles.setFilterBoxContainers(this._matchedStylesFilterBox
Container, this._computedStylesFilterBoxContainer); |
| 97 |
91 this.sidebarPanes.metrics = new WebInspector.MetricsSidebarPane(); | 98 this.sidebarPanes.metrics = new WebInspector.MetricsSidebarPane(); |
92 this.sidebarPanes.properties = new WebInspector.PropertiesSidebarPane(); | 99 this.sidebarPanes.properties = new WebInspector.PropertiesSidebarPane(); |
93 this.sidebarPanes.domBreakpoints = WebInspector.domBreakpointsSidebarPane.cr
eateProxy(this); | 100 this.sidebarPanes.domBreakpoints = WebInspector.domBreakpointsSidebarPane.cr
eateProxy(this); |
94 this.sidebarPanes.eventListeners = new WebInspector.EventListenersSidebarPan
e(); | 101 this.sidebarPanes.eventListeners = new WebInspector.EventListenersSidebarPan
e(); |
95 | 102 |
96 this.sidebarPanes.styles.addEventListener(WebInspector.SidebarPane.EventType
s.wasShown, this.updateStyles.bind(this, false)); | 103 this.sidebarPanes.styles.addEventListener(WebInspector.SidebarPane.EventType
s.wasShown, this.updateStyles.bind(this, false)); |
97 this.sidebarPanes.metrics.addEventListener(WebInspector.SidebarPane.EventTyp
es.wasShown, this.updateMetrics.bind(this)); | 104 this.sidebarPanes.metrics.addEventListener(WebInspector.SidebarPane.EventTyp
es.wasShown, this.updateMetrics.bind(this)); |
98 this.sidebarPanes.platformFonts.addEventListener(WebInspector.SidebarPane.Ev
entTypes.wasShown, this.updatePlatformFonts.bind(this)); | 105 this.sidebarPanes.platformFonts.addEventListener(WebInspector.SidebarPane.Ev
entTypes.wasShown, this.updatePlatformFonts.bind(this)); |
99 this.sidebarPanes.properties.addEventListener(WebInspector.SidebarPane.Event
Types.wasShown, this.updateProperties.bind(this)); | 106 this.sidebarPanes.properties.addEventListener(WebInspector.SidebarPane.Event
Types.wasShown, this.updateProperties.bind(this)); |
100 this.sidebarPanes.eventListeners.addEventListener(WebInspector.SidebarPane.E
ventTypes.wasShown, this.updateEventListeners.bind(this)); | 107 this.sidebarPanes.eventListeners.addEventListener(WebInspector.SidebarPane.E
ventTypes.wasShown, this.updateEventListeners.bind(this)); |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
419 return null; | 426 return null; |
420 | 427 |
421 var resource = WebInspector.resourceTreeModel.resourceForURL(anchor.
href); | 428 var resource = WebInspector.resourceTreeModel.resourceForURL(anchor.
href); |
422 if (!resource || resource.type !== WebInspector.resourceTypes.Image) | 429 if (!resource || resource.type !== WebInspector.resourceTypes.Image) |
423 return null; | 430 return null; |
424 | 431 |
425 anchor.removeAttribute("title"); | 432 anchor.removeAttribute("title"); |
426 } | 433 } |
427 return anchor; | 434 return anchor; |
428 }, | 435 }, |
429 | 436 |
430 _loadDimensionsForNode: function(treeElement, callback) | 437 _loadDimensionsForNode: function(treeElement, callback) |
431 { | 438 { |
432 // We get here for CSS properties, too, so bail out early for non-DOM tr
eeElements. | 439 // We get here for CSS properties, too, so bail out early for non-DOM tr
eeElements. |
433 if (treeElement.treeOutline !== this.treeOutline) { | 440 if (treeElement.treeOutline !== this.treeOutline) { |
434 callback(); | 441 callback(); |
435 return; | 442 return; |
436 } | 443 } |
437 | 444 |
438 var node = /** @type {!WebInspector.DOMNode} */ (treeElement.represented
Object); | 445 var node = /** @type {!WebInspector.DOMNode} */ (treeElement.represented
Object); |
439 | 446 |
440 if (!node.nodeName() || node.nodeName().toLowerCase() !== "img") { | 447 if (!node.nodeName() || node.nodeName().toLowerCase() !== "img") { |
441 callback(); | 448 callback(); |
442 return; | 449 return; |
443 } | 450 } |
444 | 451 |
445 WebInspector.RemoteObject.resolveNode(node, "", resolvedNode); | 452 WebInspector.RemoteObject.resolveNode(node, "", resolvedNode); |
446 | 453 |
447 function resolvedNode(object) | 454 function resolvedNode(object) |
(...skipping 748 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1196 this._splitView.uninstallResizer(this.sidebarPaneView.headerElement(
)); | 1203 this._splitView.uninstallResizer(this.sidebarPaneView.headerElement(
)); |
1197 } | 1204 } |
1198 | 1205 |
1199 this._splitView.setVertical(!vertically); | 1206 this._splitView.setVertical(!vertically); |
1200 | 1207 |
1201 var computedPane = new WebInspector.SidebarPane(WebInspector.UIString("C
omputed")); | 1208 var computedPane = new WebInspector.SidebarPane(WebInspector.UIString("C
omputed")); |
1202 computedPane.element.classList.add("composite"); | 1209 computedPane.element.classList.add("composite"); |
1203 computedPane.element.classList.add("fill"); | 1210 computedPane.element.classList.add("fill"); |
1204 var expandComputed = computedPane.expand.bind(computedPane); | 1211 var expandComputed = computedPane.expand.bind(computedPane); |
1205 | 1212 |
1206 computedPane.bodyElement.appendChild(this.sidebarPanes.computedStyle.tit
leElement); | |
1207 computedPane.bodyElement.classList.add("metrics-and-computed"); | 1213 computedPane.bodyElement.classList.add("metrics-and-computed"); |
1208 this.sidebarPanes.computedStyle.show(computedPane.bodyElement); | |
1209 this.sidebarPanes.computedStyle.setExpandCallback(expandComputed); | 1214 this.sidebarPanes.computedStyle.setExpandCallback(expandComputed); |
1210 | 1215 |
1211 this.sidebarPanes.platformFonts.show(computedPane.bodyElement); | 1216 var matchedStylePanesWrapper = document.createElement("div"); |
| 1217 matchedStylePanesWrapper.className = "style-panes-wrapper"; |
| 1218 var computedStylePanesWrapper = document.createElement("div"); |
| 1219 computedStylePanesWrapper.className = "style-panes-wrapper"; |
1212 | 1220 |
1213 /** | 1221 /** |
1214 * @param {!WebInspector.SidebarPane} pane | 1222 * @param {boolean} inComputedStyle |
1215 * @param {!Element=} beforeElement | |
1216 * @this {WebInspector.ElementsPanel} | 1223 * @this {WebInspector.ElementsPanel} |
1217 */ | 1224 */ |
1218 function showMetrics(pane, beforeElement) | 1225 function showMetrics(inComputedStyle) |
1219 { | 1226 { |
1220 this.sidebarPanes.metrics.show(pane.bodyElement, beforeElement); | 1227 if (inComputedStyle) |
| 1228 this.sidebarPanes.metrics.show(computedStylePanesWrapper, this.s
idebarPanes.computedStyle.element); |
| 1229 else |
| 1230 this.sidebarPanes.metrics.show(matchedStylePanesWrapper); |
1221 } | 1231 } |
1222 | 1232 |
1223 /** | 1233 /** |
1224 * @param {!WebInspector.Event} event | 1234 * @param {!WebInspector.Event} event |
1225 * @this {WebInspector.ElementsPanel} | 1235 * @this {WebInspector.ElementsPanel} |
1226 */ | 1236 */ |
1227 function tabSelected(event) | 1237 function tabSelected(event) |
1228 { | 1238 { |
1229 var tabId = /** @type {string} */ (event.data.tabId); | 1239 var tabId = /** @type {string} */ (event.data.tabId); |
1230 if (tabId === computedPane.title()) | 1240 if (tabId === computedPane.title()) |
1231 showMetrics.call(this, computedPane, this.sidebarPanes.computedS
tyle.element); | 1241 showMetrics.call(this, true); |
1232 if (tabId === stylesPane.title()) | 1242 else if (tabId === stylesPane.title()) |
1233 showMetrics.call(this, stylesPane); | 1243 showMetrics.call(this, false); |
1234 } | 1244 } |
1235 | 1245 |
1236 this.sidebarPaneView = new WebInspector.SidebarTabbedPane(); | 1246 this.sidebarPaneView = new WebInspector.SidebarTabbedPane(); |
1237 | 1247 |
1238 if (vertically) { | 1248 if (vertically) { |
1239 this._splitView.installResizer(this.sidebarPaneView.headerElement())
; | 1249 this._splitView.installResizer(this.sidebarPaneView.headerElement())
; |
1240 this.sidebarPanes.metrics.show(computedPane.bodyElement, this.sideba
rPanes.computedStyle.element); | |
1241 this.sidebarPanes.metrics.setExpandCallback(expandComputed); | 1250 this.sidebarPanes.metrics.setExpandCallback(expandComputed); |
1242 | 1251 |
1243 var compositePane = new WebInspector.SidebarPane(this.sidebarPanes.s
tyles.title()); | 1252 var compositePane = new WebInspector.SidebarPane(this.sidebarPanes.s
tyles.title()); |
1244 compositePane.element.classList.add("composite"); | 1253 compositePane.element.classList.add("composite"); |
1245 compositePane.element.classList.add("fill"); | 1254 compositePane.element.classList.add("fill"); |
1246 var expandComposite = compositePane.expand.bind(compositePane); | 1255 var expandComposite = compositePane.expand.bind(compositePane); |
1247 | 1256 |
1248 var splitView = new WebInspector.SplitView(true, true, "stylesPaneSp
litViewState", 0.5); | 1257 var splitView = new WebInspector.SplitView(true, true, "stylesPaneSp
litViewState", 0.5); |
1249 splitView.show(compositePane.bodyElement); | 1258 splitView.show(compositePane.bodyElement); |
1250 | 1259 |
1251 this.sidebarPanes.styles.show(splitView.mainElement()); | 1260 splitView.mainElement().appendChild(matchedStylePanesWrapper); |
1252 splitView.mainElement().appendChild(this.sidebarPanes.styles.titleEl
ement); | 1261 splitView.sidebarElement().appendChild(computedStylePanesWrapper); |
| 1262 |
1253 this.sidebarPanes.styles.setExpandCallback(expandComposite); | 1263 this.sidebarPanes.styles.setExpandCallback(expandComposite); |
1254 | 1264 |
1255 computedPane.show(splitView.sidebarElement()); | 1265 computedPane.show(computedStylePanesWrapper); |
1256 computedPane.setExpandCallback(expandComposite); | 1266 computedPane.setExpandCallback(expandComposite); |
1257 | 1267 |
| 1268 if (WebInspector.experimentsSettings.cssStyleSearch.isEnabled()) { |
| 1269 splitView.mainElement().appendChild(this._matchedStylesFilterBox
Container); |
| 1270 splitView.sidebarElement().appendChild(this._computedStylesFilte
rBoxContainer); |
| 1271 } |
| 1272 |
1258 this.sidebarPaneView.addPane(compositePane); | 1273 this.sidebarPaneView.addPane(compositePane); |
1259 } else { | 1274 } else { |
1260 var stylesPane = new WebInspector.SidebarPane(this.sidebarPanes.styl
es.title()); | 1275 var stylesPane = new WebInspector.SidebarPane(this.sidebarPanes.styl
es.title()); |
1261 stylesPane.element.classList.add("composite"); | 1276 stylesPane.element.classList.add("composite"); |
1262 stylesPane.element.classList.add("fill"); | 1277 stylesPane.element.classList.add("fill"); |
1263 var expandStyles = stylesPane.expand.bind(stylesPane); | 1278 var expandStyles = stylesPane.expand.bind(stylesPane); |
1264 stylesPane.bodyElement.classList.add("metrics-and-styles"); | 1279 stylesPane.bodyElement.classList.add("metrics-and-styles"); |
1265 this.sidebarPanes.styles.show(stylesPane.bodyElement); | 1280 |
| 1281 stylesPane.bodyElement.appendChild(matchedStylePanesWrapper); |
| 1282 computedPane.bodyElement.appendChild(computedStylePanesWrapper); |
| 1283 |
1266 this.sidebarPanes.styles.setExpandCallback(expandStyles); | 1284 this.sidebarPanes.styles.setExpandCallback(expandStyles); |
1267 this.sidebarPanes.metrics.setExpandCallback(expandStyles); | 1285 this.sidebarPanes.metrics.setExpandCallback(expandStyles); |
1268 stylesPane.bodyElement.appendChild(this.sidebarPanes.styles.titleEle
ment); | |
1269 | 1286 |
1270 this.sidebarPaneView.addEventListener(WebInspector.TabbedPane.EventT
ypes.TabSelected, tabSelected, this); | 1287 this.sidebarPaneView.addEventListener(WebInspector.TabbedPane.EventT
ypes.TabSelected, tabSelected, this); |
1271 | 1288 |
1272 showMetrics.call(this, stylesPane); | 1289 if (WebInspector.experimentsSettings.cssStyleSearch.isEnabled()) { |
| 1290 stylesPane.bodyElement.appendChild(this._matchedStylesFilterBoxC
ontainer); |
| 1291 computedPane.bodyElement.appendChild(this._computedStylesFilterB
oxContainer); |
| 1292 } |
| 1293 |
1273 this.sidebarPaneView.addPane(stylesPane); | 1294 this.sidebarPaneView.addPane(stylesPane); |
1274 this.sidebarPaneView.addPane(computedPane); | 1295 this.sidebarPaneView.addPane(computedPane); |
1275 } | 1296 } |
1276 | 1297 |
| 1298 this.sidebarPanes.styles.show(matchedStylePanesWrapper); |
| 1299 this.sidebarPanes.computedStyle.show(computedStylePanesWrapper); |
| 1300 matchedStylePanesWrapper.appendChild(this.sidebarPanes.styles.titleEleme
nt); |
| 1301 showMetrics.call(this, vertically); |
| 1302 this.sidebarPanes.platformFonts.show(computedStylePanesWrapper); |
| 1303 |
1277 this.sidebarPaneView.addPane(this.sidebarPanes.eventListeners); | 1304 this.sidebarPaneView.addPane(this.sidebarPanes.eventListeners); |
1278 this.sidebarPaneView.addPane(this.sidebarPanes.domBreakpoints); | 1305 this.sidebarPaneView.addPane(this.sidebarPanes.domBreakpoints); |
1279 this.sidebarPaneView.addPane(this.sidebarPanes.properties); | 1306 this.sidebarPaneView.addPane(this.sidebarPanes.properties); |
1280 this._extensionSidebarPanesContainer = this.sidebarPaneView; | 1307 this._extensionSidebarPanesContainer = this.sidebarPaneView; |
1281 | 1308 |
1282 for (var i = 0; i < this._extensionSidebarPanes.length; ++i) | 1309 for (var i = 0; i < this._extensionSidebarPanes.length; ++i) |
1283 this._extensionSidebarPanesContainer.addPane(this._extensionSidebarP
anes[i]); | 1310 this._extensionSidebarPanesContainer.addPane(this._extensionSidebarP
anes[i]); |
1284 | 1311 |
1285 this.sidebarPaneView.show(this._splitView.sidebarElement()); | 1312 this.sidebarPaneView.show(this._splitView.sidebarElement()); |
1286 this.sidebarPanes.styles.expand(); | 1313 this.sidebarPanes.styles.expand(); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1337 return; | 1364 return; |
1338 | 1365 |
1339 if (WebInspector.inspectElementModeController && WebInspector.inspectEle
mentModeController.enabled()) { | 1366 if (WebInspector.inspectElementModeController && WebInspector.inspectEle
mentModeController.enabled()) { |
1340 InspectorFrontendHost.bringToFront(); | 1367 InspectorFrontendHost.bringToFront(); |
1341 WebInspector.inspectElementModeController.disable(); | 1368 WebInspector.inspectElementModeController.disable(); |
1342 } | 1369 } |
1343 | 1370 |
1344 /** @type {!WebInspector.ElementsPanel} */ (WebInspector.inspectorView.p
anel("elements")).revealAndSelectNode(node.id); | 1371 /** @type {!WebInspector.ElementsPanel} */ (WebInspector.inspectorView.p
anel("elements")).revealAndSelectNode(node.id); |
1345 } | 1372 } |
1346 } | 1373 } |
OLD | NEW |