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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 72 this._computedStyleWidget = new Elements.ComputedStyleWidget(); | 72 this._computedStyleWidget = new Elements.ComputedStyleWidget(); |
| 73 this._metricsWidget = new Elements.MetricsSidebarPane(); | 73 this._metricsWidget = new Elements.MetricsSidebarPane(); |
| 74 | 74 |
| 75 this._stylesSidebarToolbar = this._createStylesSidebarToolbar(); | 75 this._stylesSidebarToolbar = this._createStylesSidebarToolbar(); |
| 76 | 76 |
| 77 Common.moduleSetting('sidebarPosition').addChangeListener(this._updateSideba rPosition.bind(this)); | 77 Common.moduleSetting('sidebarPosition').addChangeListener(this._updateSideba rPosition.bind(this)); |
| 78 this._updateSidebarPosition(); | 78 this._updateSidebarPosition(); |
| 79 | 79 |
| 80 /** @type {!Array.<!Elements.ElementsTreeOutline>} */ | 80 /** @type {!Array.<!Elements.ElementsTreeOutline>} */ |
| 81 this._treeOutlines = []; | 81 this._treeOutlines = []; |
| 82 /** @type {!Map<!Elements.ElementsTreeOutline, !Element>} */ | |
| 83 this._treeOutlineHeaders = new Map(); | |
|
pfeldman
2017/02/23 23:49:41
Why you no use symbols?
| |
| 82 SDK.targetManager.observeTargets(this); | 84 SDK.targetManager.observeTargets(this); |
| 85 SDK.targetManager.addEventListener( | |
| 86 SDK.TargetManager.Events.NameChanged, | |
|
pfeldman
2017/02/23 23:49:41
What is TargetManager name?
| |
| 87 event => this._targetNameChanged(/** @type {!SDK.Target} */ (event.data) )); | |
| 83 Common.moduleSetting('showUAShadowDOM').addChangeListener(this._showUAShadow DOMChanged.bind(this)); | 88 Common.moduleSetting('showUAShadowDOM').addChangeListener(this._showUAShadow DOMChanged.bind(this)); |
| 84 SDK.targetManager.addModelListener( | 89 SDK.targetManager.addModelListener( |
| 85 SDK.DOMModel, SDK.DOMModel.Events.DocumentUpdated, this._documentUpdated Event, this); | 90 SDK.DOMModel, SDK.DOMModel.Events.DocumentUpdated, this._documentUpdated Event, this); |
| 86 Extensions.extensionServer.addEventListener( | 91 Extensions.extensionServer.addEventListener( |
| 87 Extensions.ExtensionServer.Events.SidebarPaneAdded, this._extensionSideb arPaneAdded, this); | 92 Extensions.ExtensionServer.Events.SidebarPaneAdded, this._extensionSideb arPaneAdded, this); |
| 88 } | 93 } |
| 89 | 94 |
| 90 /** | 95 /** |
| 91 * @return {!Elements.ElementsPanel} | 96 * @return {!Elements.ElementsPanel} |
| 92 */ | 97 */ |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 210 return; | 215 return; |
| 211 var treeOutline = new Elements.ElementsTreeOutline(domModel, true, true); | 216 var treeOutline = new Elements.ElementsTreeOutline(domModel, true, true); |
| 212 treeOutline.setWordWrap(Common.moduleSetting('domWordWrap').get()); | 217 treeOutline.setWordWrap(Common.moduleSetting('domWordWrap').get()); |
| 213 treeOutline.wireToDOMModel(); | 218 treeOutline.wireToDOMModel(); |
| 214 treeOutline.addEventListener( | 219 treeOutline.addEventListener( |
| 215 Elements.ElementsTreeOutline.Events.SelectedNodeChanged, this._selectedN odeChanged, this); | 220 Elements.ElementsTreeOutline.Events.SelectedNodeChanged, this._selectedN odeChanged, this); |
| 216 treeOutline.addEventListener( | 221 treeOutline.addEventListener( |
| 217 Elements.ElementsTreeOutline.Events.ElementsTreeUpdated, this._updateBre adcrumbIfNeeded, this); | 222 Elements.ElementsTreeOutline.Events.ElementsTreeUpdated, this._updateBre adcrumbIfNeeded, this); |
| 218 new Elements.ElementsTreeElementHighlighter(treeOutline); | 223 new Elements.ElementsTreeElementHighlighter(treeOutline); |
| 219 this._treeOutlines.push(treeOutline); | 224 this._treeOutlines.push(treeOutline); |
| 225 if (target.parentTarget()) { | |
| 226 this._treeOutlineHeaders.set(treeOutline, createElementWithClass('div', 'e lements-tree-header')); | |
| 227 this._targetNameChanged(target); | |
| 228 } | |
| 220 | 229 |
| 221 // Perform attach if necessary. | 230 // Perform attach if necessary. |
| 222 if (this.isShowing()) | 231 if (this.isShowing()) |
| 223 this.wasShown(); | 232 this.wasShown(); |
| 224 } | 233 } |
| 225 | 234 |
| 226 /** | 235 /** |
| 227 * @override | 236 * @override |
| 228 * @param {!SDK.Target} target | 237 * @param {!SDK.Target} target |
| 229 */ | 238 */ |
| 230 targetRemoved(target) { | 239 targetRemoved(target) { |
| 231 var domModel = SDK.DOMModel.fromTarget(target); | 240 var domModel = SDK.DOMModel.fromTarget(target); |
| 232 if (!domModel) | 241 if (!domModel) |
| 233 return; | 242 return; |
| 234 var treeOutline = Elements.ElementsTreeOutline.forDOMModel(domModel); | 243 var treeOutline = Elements.ElementsTreeOutline.forDOMModel(domModel); |
| 235 treeOutline.unwireFromDOMModel(); | 244 treeOutline.unwireFromDOMModel(); |
| 236 this._treeOutlines.remove(treeOutline); | 245 this._treeOutlines.remove(treeOutline); |
| 246 var header = this._treeOutlineHeaders.get(treeOutline); | |
| 247 if (header) | |
| 248 header.remove(); | |
| 249 this._treeOutlineHeaders.delete(treeOutline); | |
| 237 treeOutline.element.remove(); | 250 treeOutline.element.remove(); |
| 238 } | 251 } |
| 239 | 252 |
| 253 /** | |
| 254 * @param {!SDK.Target} target | |
| 255 */ | |
| 256 _targetNameChanged(target) { | |
| 257 var domModel = SDK.DOMModel.fromTarget(target); | |
| 258 if (!domModel) | |
| 259 return; | |
| 260 var treeOutline = Elements.ElementsTreeOutline.forDOMModel(domModel); | |
| 261 if (!treeOutline) | |
| 262 return; | |
| 263 var header = this._treeOutlineHeaders.get(treeOutline); | |
| 264 if (!header) | |
| 265 return; | |
| 266 header.removeChildren(); | |
| 267 header.createChild('div', 'elements-tree-header-frame').textContent = Common .UIString('Frame'); | |
|
pfeldman
2017/02/24 19:39:38
You can use .formatLocalized.
| |
| 268 header.appendChild(Components.Linkifier.linkifyURL(target.inspectedURL(), ta rget.name())); | |
| 269 } | |
| 270 | |
| 240 _updateTreeOutlineVisibleWidth() { | 271 _updateTreeOutlineVisibleWidth() { |
| 241 if (!this._treeOutlines.length) | 272 if (!this._treeOutlines.length) |
| 242 return; | 273 return; |
| 243 | 274 |
| 244 var width = this._splitWidget.element.offsetWidth; | 275 var width = this._splitWidget.element.offsetWidth; |
| 245 if (this._splitWidget.isVertical()) | 276 if (this._splitWidget.isVertical()) |
| 246 width -= this._splitWidget.sidebarSize(); | 277 width -= this._splitWidget.sidebarSize(); |
| 247 for (var i = 0; i < this._treeOutlines.length; ++i) | 278 for (var i = 0; i < this._treeOutlines.length; ++i) |
| 248 this._treeOutlines[i].setVisibleWidth(width); | 279 this._treeOutlines[i].setVisibleWidth(width); |
| 249 | 280 |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 268 | 299 |
| 269 /** | 300 /** |
| 270 * @override | 301 * @override |
| 271 */ | 302 */ |
| 272 wasShown() { | 303 wasShown() { |
| 273 UI.context.setFlavor(Elements.ElementsPanel, this); | 304 UI.context.setFlavor(Elements.ElementsPanel, this); |
| 274 | 305 |
| 275 for (var i = 0; i < this._treeOutlines.length; ++i) { | 306 for (var i = 0; i < this._treeOutlines.length; ++i) { |
| 276 var treeOutline = this._treeOutlines[i]; | 307 var treeOutline = this._treeOutlines[i]; |
| 277 // Attach heavy component lazily | 308 // Attach heavy component lazily |
| 278 if (treeOutline.element.parentElement !== this._contentElement) | 309 if (treeOutline.element.parentElement !== this._contentElement) { |
| 310 var header = this._treeOutlineHeaders.get(treeOutline); | |
| 311 if (header) | |
| 312 this._contentElement.appendChild(header); | |
| 279 this._contentElement.appendChild(treeOutline.element); | 313 this._contentElement.appendChild(treeOutline.element); |
| 314 } | |
| 280 } | 315 } |
| 281 super.wasShown(); | 316 super.wasShown(); |
| 282 this._breadcrumbs.update(); | 317 this._breadcrumbs.update(); |
| 283 | 318 |
| 284 for (var i = 0; i < this._treeOutlines.length; ++i) { | 319 for (var i = 0; i < this._treeOutlines.length; ++i) { |
| 285 var treeOutline = this._treeOutlines[i]; | 320 var treeOutline = this._treeOutlines[i]; |
| 286 treeOutline.setVisible(true); | 321 treeOutline.setVisible(true); |
| 287 | 322 |
| 288 if (!treeOutline.rootDOMNode) { | 323 if (!treeOutline.rootDOMNode) { |
| 289 if (treeOutline.domModel().existingDocument()) | 324 if (treeOutline.domModel().existingDocument()) |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 300 */ | 335 */ |
| 301 willHide() { | 336 willHide() { |
| 302 UI.context.setFlavor(Elements.ElementsPanel, null); | 337 UI.context.setFlavor(Elements.ElementsPanel, null); |
| 303 | 338 |
| 304 SDK.DOMModel.hideDOMNodeHighlight(); | 339 SDK.DOMModel.hideDOMNodeHighlight(); |
| 305 for (var i = 0; i < this._treeOutlines.length; ++i) { | 340 for (var i = 0; i < this._treeOutlines.length; ++i) { |
| 306 var treeOutline = this._treeOutlines[i]; | 341 var treeOutline = this._treeOutlines[i]; |
| 307 treeOutline.setVisible(false); | 342 treeOutline.setVisible(false); |
| 308 // Detach heavy component on hide | 343 // Detach heavy component on hide |
| 309 this._contentElement.removeChild(treeOutline.element); | 344 this._contentElement.removeChild(treeOutline.element); |
| 345 var header = this._treeOutlineHeaders.get(treeOutline); | |
| 346 if (header) | |
| 347 this._contentElement.removeChild(header); | |
| 310 } | 348 } |
| 311 if (this._popoverHelper) | 349 if (this._popoverHelper) |
| 312 this._popoverHelper.hidePopover(); | 350 this._popoverHelper.hidePopover(); |
| 313 super.willHide(); | 351 super.willHide(); |
| 314 } | 352 } |
| 315 | 353 |
| 316 /** | 354 /** |
| 317 * @override | 355 * @override |
| 318 */ | 356 */ |
| 319 onResize() { | 357 onResize() { |
| (...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1069 * @param {!SDK.DOMNode} node | 1107 * @param {!SDK.DOMNode} node |
| 1070 * @return {?{title: string, color: string}} | 1108 * @return {?{title: string, color: string}} |
| 1071 */ | 1109 */ |
| 1072 decorate(node) { | 1110 decorate(node) { |
| 1073 return { | 1111 return { |
| 1074 color: 'orange', | 1112 color: 'orange', |
| 1075 title: Common.UIString('Element state: %s', ':' + SDK.CSSModel.fromNode(no de).pseudoState(node).join(', :')) | 1113 title: Common.UIString('Element state: %s', ':' + SDK.CSSModel.fromNode(no de).pseudoState(node).join(', :')) |
| 1076 }; | 1114 }; |
| 1077 } | 1115 } |
| 1078 }; | 1116 }; |
| OLD | NEW |