| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 3 * Copyright (C) 2012 Intel Inc. All rights reserved. | 3 * Copyright (C) 2012 Intel Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 30 */ | 30 */ |
| 31 | 31 |
| 32 /** | 32 /** |
| 33 * @constructor | 33 * @constructor |
| 34 * @extends {WebInspector.Panel} | 34 * @extends {WebInspector.Panel} |
| 35 * @implements {WebInspector.TimelineModeViewDelegate} | 35 * @implements {WebInspector.TimelineModeViewDelegate} |
| 36 * @implements {WebInspector.Searchable} | 36 * @implements {WebInspector.Searchable} |
| 37 * @implements {WebInspector.TargetManager.Observer} | |
| 38 */ | 37 */ |
| 39 WebInspector.TimelinePanel = function() | 38 WebInspector.TimelinePanel = function() |
| 40 { | 39 { |
| 41 WebInspector.Panel.call(this, "timeline"); | 40 WebInspector.Panel.call(this, "timeline"); |
| 42 this.registerRequiredCSS("timelinePanel.css"); | 41 this.registerRequiredCSS("timelinePanel.css"); |
| 43 this.registerRequiredCSS("layersPanel.css"); | 42 this.registerRequiredCSS("layersPanel.css"); |
| 44 this.registerRequiredCSS("filter.css"); | 43 this.registerRequiredCSS("filter.css"); |
| 45 this.element.addEventListener("contextmenu", this._contextMenu.bind(this), f
alse); | 44 this.element.addEventListener("contextmenu", this._contextMenu.bind(this), f
alse); |
| 46 | 45 |
| 47 this._detailsLinkifier = new WebInspector.Linkifier(); | 46 this._detailsLinkifier = new WebInspector.Linkifier(); |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 this._stackView = new WebInspector.StackView(false); | 116 this._stackView = new WebInspector.StackView(false); |
| 118 this._stackView.show(this._searchableView.element); | 117 this._stackView.show(this._searchableView.element); |
| 119 this._stackView.element.classList.add("timeline-view-stack"); | 118 this._stackView.element.classList.add("timeline-view-stack"); |
| 120 | 119 |
| 121 WebInspector.dockController.addEventListener(WebInspector.DockController.Eve
nts.DockSideChanged, this._dockSideChanged.bind(this)); | 120 WebInspector.dockController.addEventListener(WebInspector.DockController.Eve
nts.DockSideChanged, this._dockSideChanged.bind(this)); |
| 122 WebInspector.settings.splitVerticallyWhenDockedToRight.addChangeListener(thi
s._dockSideChanged.bind(this)); | 121 WebInspector.settings.splitVerticallyWhenDockedToRight.addChangeListener(thi
s._dockSideChanged.bind(this)); |
| 123 this._dockSideChanged(); | 122 this._dockSideChanged(); |
| 124 | 123 |
| 125 this._onModeChanged(); | 124 this._onModeChanged(); |
| 126 this._detailsSplitView.show(this.element); | 125 this._detailsSplitView.show(this.element); |
| 126 WebInspector.profilingLock.addEventListener(WebInspector.Lock.Events.StateCh
anged, this._onProfilingStateChanged, this); |
| 127 } | 127 } |
| 128 | 128 |
| 129 WebInspector.TimelinePanel.OverviewMode = { | 129 WebInspector.TimelinePanel.OverviewMode = { |
| 130 Events: "Events", | 130 Events: "Events", |
| 131 Frames: "Frames" | 131 Frames: "Frames" |
| 132 }; | 132 }; |
| 133 | 133 |
| 134 // Define row and header height, should be in sync with styles for timeline grap
hs. | 134 // Define row and header height, should be in sync with styles for timeline grap
hs. |
| 135 WebInspector.TimelinePanel.rowHeight = 18; | 135 WebInspector.TimelinePanel.rowHeight = 18; |
| 136 WebInspector.TimelinePanel.headerHeight = 20; | 136 WebInspector.TimelinePanel.headerHeight = 20; |
| 137 | 137 |
| 138 WebInspector.TimelinePanel.durationFilterPresetsMs = [0, 1, 15]; | 138 WebInspector.TimelinePanel.durationFilterPresetsMs = [0, 1, 15]; |
| 139 | 139 |
| 140 WebInspector.TimelinePanel.prototype = { | 140 WebInspector.TimelinePanel.prototype = { |
| 141 /** | 141 /** |
| 142 * @param {!WebInspector.Target} target | |
| 143 */ | |
| 144 targetAdded: function(target) | |
| 145 { | |
| 146 target.profilingLock.addEventListener(WebInspector.Lock.Events.StateChan
ged, this._onProfilingStateChanged, this); | |
| 147 }, | |
| 148 | |
| 149 /** | |
| 150 * @param {!WebInspector.Target} target | |
| 151 */ | |
| 152 targetRemoved: function(target) | |
| 153 { | |
| 154 target.profilingLock.removeEventListener(WebInspector.Lock.Events.StateC
hanged, this._onProfilingStateChanged, this); | |
| 155 }, | |
| 156 | |
| 157 /** | |
| 158 * @return {?WebInspector.SearchableView} | 142 * @return {?WebInspector.SearchableView} |
| 159 */ | 143 */ |
| 160 searchableView: function() | 144 searchableView: function() |
| 161 { | 145 { |
| 162 return this._searchableView; | 146 return this._searchableView; |
| 163 }, | 147 }, |
| 164 | 148 |
| 165 wasShown: function() | 149 wasShown: function() |
| 166 { | 150 { |
| 167 if (!WebInspector.TimelinePanel._categoryStylesInitialized) { | 151 if (!WebInspector.TimelinePanel._categoryStylesInitialized) { |
| (...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 683 _onProfilingStateChanged: function() | 667 _onProfilingStateChanged: function() |
| 684 { | 668 { |
| 685 this._updateToggleTimelineButton(this.toggleTimelineButton.toggled); | 669 this._updateToggleTimelineButton(this.toggleTimelineButton.toggled); |
| 686 }, | 670 }, |
| 687 | 671 |
| 688 /** | 672 /** |
| 689 * @param {boolean} toggled | 673 * @param {boolean} toggled |
| 690 */ | 674 */ |
| 691 _updateToggleTimelineButton: function(toggled) | 675 _updateToggleTimelineButton: function(toggled) |
| 692 { | 676 { |
| 693 var isAcquiredInSomeTarget = WebInspector.targetManager.targets().some(f
unction(target) { return target.profilingLock.isAcquired(); }); | 677 var isAcquiredInSomeTarget = WebInspector.profilingLock.isAcquired(); |
| 694 this.toggleTimelineButton.toggled = toggled; | 678 this.toggleTimelineButton.toggled = toggled; |
| 695 if (toggled) { | 679 if (toggled) { |
| 696 this.toggleTimelineButton.title = WebInspector.UIString("Stop"); | 680 this.toggleTimelineButton.title = WebInspector.UIString("Stop"); |
| 697 this.toggleTimelineButton.setEnabled(true); | 681 this.toggleTimelineButton.setEnabled(true); |
| 698 } else if (this._stopPending) { | 682 } else if (this._stopPending) { |
| 699 this.toggleTimelineButton.title = WebInspector.UIString("Stop pendin
g"); | 683 this.toggleTimelineButton.title = WebInspector.UIString("Stop pendin
g"); |
| 700 this.toggleTimelineButton.setEnabled(false); | 684 this.toggleTimelineButton.setEnabled(false); |
| 701 } else if (isAcquiredInSomeTarget) { | 685 } else if (isAcquiredInSomeTarget) { |
| 702 this.toggleTimelineButton.title = WebInspector.anotherProfilerActive
Label(); | 686 this.toggleTimelineButton.title = WebInspector.anotherProfilerActive
Label(); |
| 703 this.toggleTimelineButton.setEnabled(false); | 687 this.toggleTimelineButton.setEnabled(false); |
| (...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1426 * @param {!WebInspector.TimelineModel.Record} record | 1410 * @param {!WebInspector.TimelineModel.Record} record |
| 1427 * @return {boolean} | 1411 * @return {boolean} |
| 1428 */ | 1412 */ |
| 1429 accept: function(record) | 1413 accept: function(record) |
| 1430 { | 1414 { |
| 1431 return !this._regex || this._uiUtils.testContentMatching(record, this._r
egex); | 1415 return !this._regex || this._uiUtils.testContentMatching(record, this._r
egex); |
| 1432 }, | 1416 }, |
| 1433 | 1417 |
| 1434 __proto__: WebInspector.TimelineModel.Filter.prototype | 1418 __proto__: WebInspector.TimelineModel.Filter.prototype |
| 1435 } | 1419 } |
| OLD | NEW |