| 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 29 matching lines...) Expand all Loading... |
| 40 WebInspector.Panel.call(this, "timeline"); | 40 WebInspector.Panel.call(this, "timeline"); |
| 41 this.registerRequiredCSS("timelinePanel.css"); | 41 this.registerRequiredCSS("timelinePanel.css"); |
| 42 this.registerRequiredCSS("layersPanel.css"); | 42 this.registerRequiredCSS("layersPanel.css"); |
| 43 this.registerRequiredCSS("filter.css"); | 43 this.registerRequiredCSS("filter.css"); |
| 44 this.element.addEventListener("contextmenu", this._contextMenu.bind(this), f
alse); | 44 this.element.addEventListener("contextmenu", this._contextMenu.bind(this), f
alse); |
| 45 | 45 |
| 46 this._detailsLinkifier = new WebInspector.Linkifier(); | 46 this._detailsLinkifier = new WebInspector.Linkifier(); |
| 47 this._windowStartTime = 0; | 47 this._windowStartTime = 0; |
| 48 this._windowEndTime = Infinity; | 48 this._windowEndTime = Infinity; |
| 49 | 49 |
| 50 // Create model. | 50 this._tracingModel = new WebInspector.TracingModel(); |
| 51 if (WebInspector.experimentsSettings.timelineOnTraceEvents.isEnabled()) { | 51 this._tracingModel.addEventListener(WebInspector.TracingModel.Events.BufferU
sage, this._onTracingBufferUsage, this); |
| 52 this._tracingModel = new WebInspector.TracingModel(); | |
| 53 this._tracingModel.addEventListener(WebInspector.TracingModel.Events.Buf
ferUsage, this._onTracingBufferUsage, this); | |
| 54 | 52 |
| 55 this._uiUtils = new WebInspector.TracingTimelineUIUtils(); | 53 this._uiUtils = new WebInspector.TracingTimelineUIUtils(); |
| 56 this._tracingTimelineModel = new WebInspector.TracingTimelineModel(this.
_tracingModel, this._uiUtils.hiddenRecordsFilter()); | 54 this._tracingTimelineModel = new WebInspector.TracingTimelineModel(this._tra
cingModel, this._uiUtils.hiddenRecordsFilter()); |
| 57 this._model = this._tracingTimelineModel; | 55 this._model = this._tracingTimelineModel; |
| 58 } else { | |
| 59 this._uiUtils = new WebInspector.TimelineUIUtilsImpl(); | |
| 60 this._model = new WebInspector.TimelineModelImpl(); | |
| 61 } | |
| 62 | 56 |
| 63 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordingStar
ted, this._onRecordingStarted, this); | 57 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordingStar
ted, this._onRecordingStarted, this); |
| 64 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordingStop
ped, this._onRecordingStopped, this); | 58 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordingStop
ped, this._onRecordingStopped, this); |
| 65 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordsCleare
d, this._onRecordsCleared, this); | 59 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordsCleare
d, this._onRecordsCleared, this); |
| 66 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordingProg
ress, this._onRecordingProgress, this); | 60 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordingProg
ress, this._onRecordingProgress, this); |
| 67 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordFilterC
hanged, this._refreshViews, this); | 61 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordFilterC
hanged, this._refreshViews, this); |
| 68 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordAdded,
this._onRecordAdded, this); | 62 this._model.addEventListener(WebInspector.TimelineModel.Events.RecordAdded,
this._onRecordAdded, this); |
| 69 | 63 |
| 70 this._categoryFilter = new WebInspector.TimelineCategoryFilter(this._uiUtils
); | 64 this._categoryFilter = new WebInspector.TimelineCategoryFilter(this._uiUtils
); |
| 71 this._durationFilter = new WebInspector.TimelineIsLongFilter(); | 65 this._durationFilter = new WebInspector.TimelineIsLongFilter(); |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 331 garbageCollectButton.addEventListener("click", this._garbageCollectButto
nClicked, this); | 325 garbageCollectButton.addEventListener("click", this._garbageCollectButto
nClicked, this); |
| 332 this._statusBarButtons.push(garbageCollectButton); | 326 this._statusBarButtons.push(garbageCollectButton); |
| 333 panelStatusBarElement.appendChild(garbageCollectButton.element); | 327 panelStatusBarElement.appendChild(garbageCollectButton.element); |
| 334 | 328 |
| 335 var framesToggleButton = new WebInspector.StatusBarButton(WebInspector.U
IString("Frames mode"), "timeline-frames-status-bar-item"); | 329 var framesToggleButton = new WebInspector.StatusBarButton(WebInspector.U
IString("Frames mode"), "timeline-frames-status-bar-item"); |
| 336 framesToggleButton.toggled = this._overviewModeSetting.get() === WebInsp
ector.TimelinePanel.OverviewMode.Frames; | 330 framesToggleButton.toggled = this._overviewModeSetting.get() === WebInsp
ector.TimelinePanel.OverviewMode.Frames; |
| 337 framesToggleButton.addEventListener("click", this._overviewModeChanged.b
ind(this, framesToggleButton)); | 331 framesToggleButton.addEventListener("click", this._overviewModeChanged.b
ind(this, framesToggleButton)); |
| 338 this._statusBarButtons.push(framesToggleButton); | 332 this._statusBarButtons.push(framesToggleButton); |
| 339 panelStatusBarElement.appendChild(framesToggleButton.element); | 333 panelStatusBarElement.appendChild(framesToggleButton.element); |
| 340 | 334 |
| 341 if (WebInspector.experimentsSettings.timelineOnTraceEvents.isEnabled())
{ | 335 var flameChartToggleButton = new WebInspector.StatusBarButton(WebInspect
or.UIString("Tracing mode"), "timeline-flame-chart-status-bar-item"); |
| 342 var flameChartToggleButton = new WebInspector.StatusBarButton(WebIns
pector.UIString("Tracing mode"), "timeline-flame-chart-status-bar-item"); | 336 flameChartToggleButton.toggled = this._flameChartEnabledSetting.get(); |
| 343 flameChartToggleButton.toggled = this._flameChartEnabledSetting.get(
); | 337 flameChartToggleButton.addEventListener("click", this._flameChartEnabled
Changed.bind(this, flameChartToggleButton)); |
| 344 flameChartToggleButton.addEventListener("click", this._flameChartEna
bledChanged.bind(this, flameChartToggleButton)); | 338 this._statusBarButtons.push(flameChartToggleButton); |
| 345 this._statusBarButtons.push(flameChartToggleButton); | 339 panelStatusBarElement.appendChild(flameChartToggleButton.element); |
| 346 panelStatusBarElement.appendChild(flameChartToggleButton.element); | |
| 347 } | |
| 348 | 340 |
| 349 this._captureStacksSetting = WebInspector.settings.createSetting("timeli
neCaptureStacks", true); | 341 this._captureStacksSetting = WebInspector.settings.createSetting("timeli
neCaptureStacks", true); |
| 350 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebInspect
or.UIString("Stacks"), | 342 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebInspect
or.UIString("Stacks"), |
| 351 this._capt
ureStacksSetting, | 343 this._capt
ureStacksSetting, |
| 352 WebInspect
or.UIString("Capture JavaScript stack on every timeline event"))); | 344 WebInspect
or.UIString("Capture JavaScript stack on every timeline event"))); |
| 353 this._captureMemorySetting = WebInspector.settings.createSetting("timeli
neCaptureMemory", false); | 345 this._captureMemorySetting = WebInspector.settings.createSetting("timeli
neCaptureMemory", false); |
| 354 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebInspect
or.UIString("Memory"), | 346 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebInspect
or.UIString("Memory"), |
| 355 this._capt
ureMemorySetting, | 347 this._capt
ureMemorySetting, |
| 356 WebInspect
or.UIString("Capture memory information on every timeline event"))); | 348 WebInspect
or.UIString("Capture memory information on every timeline event"))); |
| 357 this._captureMemorySetting.addChangeListener(this._onModeChanged, this); | 349 this._captureMemorySetting.addChangeListener(this._onModeChanged, this); |
| 358 if (WebInspector.experimentsSettings.timelinePowerProfiler.isEnabled() &
& | 350 if (WebInspector.experimentsSettings.timelinePowerProfiler.isEnabled() &
& |
| 359 WebInspector.targetManager.mainTarget().hasCapability(WebInspector.T
arget.Capabilities.CanProfilePower)) { | 351 WebInspector.targetManager.mainTarget().hasCapability(WebInspector.T
arget.Capabilities.CanProfilePower)) { |
| 360 this._capturePowerSetting = WebInspector.settings.createSetting("tim
elineCapturePower", false); | 352 this._capturePowerSetting = WebInspector.settings.createSetting("tim
elineCapturePower", false); |
| 361 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebIns
pector.UIString("Power"), | 353 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebIns
pector.UIString("Power"), |
| 362 this._
capturePowerSetting, | 354 this._
capturePowerSetting, |
| 363 WebIns
pector.UIString("Capture power information"))); | 355 WebIns
pector.UIString("Capture power information"))); |
| 364 this._capturePowerSetting.addChangeListener(this._onModeChanged, thi
s); | 356 this._capturePowerSetting.addChangeListener(this._onModeChanged, thi
s); |
| 365 } | 357 } |
| 366 if (WebInspector.experimentsSettings.timelineOnTraceEvents.isEnabled() &
& | 358 if (WebInspector.experimentsSettings.paintProfiler.isEnabled()) { |
| 367 WebInspector.experimentsSettings.paintProfiler.isEnabled()) { | |
| 368 this._captureLayersAndPicturesSetting = WebInspector.settings.create
Setting("timelineCaptureLayersAndPictures", false); | 359 this._captureLayersAndPicturesSetting = WebInspector.settings.create
Setting("timelineCaptureLayersAndPictures", false); |
| 369 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebIns
pector.UIString("Paint"), | 360 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebIns
pector.UIString("Paint"), |
| 370 this._
captureLayersAndPicturesSetting, | 361 this._
captureLayersAndPicturesSetting, |
| 371 WebIns
pector.UIString("Capture graphics layer positions and painted pictures"))); | 362 WebIns
pector.UIString("Capture graphics layer positions and painted pictures"))); |
| 372 } | 363 } |
| 373 | 364 |
| 374 this._miscStatusBarItems = panelStatusBarElement.createChild("div", "sta
tus-bar-item"); | 365 this._miscStatusBarItems = panelStatusBarElement.createChild("div", "sta
tus-bar-item"); |
| 375 | 366 |
| 376 this._filtersContainer = this.element.createChild("div", "timeline-filte
rs-header hidden"); | 367 this._filtersContainer = this.element.createChild("div", "timeline-filte
rs-header hidden"); |
| 377 this._filtersContainer.appendChild(this._filterBar.filtersElement()); | 368 this._filtersContainer.appendChild(this._filterBar.filtersElement()); |
| 378 this._filterBar.addEventListener(WebInspector.FilterBar.Events.FiltersTo
ggled, this._onFiltersToggled, this); | 369 this._filterBar.addEventListener(WebInspector.FilterBar.Events.FiltersTo
ggled, this._onFiltersToggled, this); |
| 379 this._filterBar.setName("timelinePanel"); | 370 this._filterBar.setName("timelinePanel"); |
| 380 if (!WebInspector.experimentsSettings.timelineOnTraceEvents.isEnabled())
{ | |
| 381 var targetsComboBox = new WebInspector.StatusBarComboBox(null); | |
| 382 panelStatusBarElement.appendChild(targetsComboBox.element); | |
| 383 new WebInspector.TargetsComboBoxController(targetsComboBox.selectEle
ment(), targetsComboBox.element); | |
| 384 } | |
| 385 }, | 371 }, |
| 386 | 372 |
| 387 /** | 373 /** |
| 388 * @return {!WebInspector.FilterBar} | 374 * @return {!WebInspector.FilterBar} |
| 389 */ | 375 */ |
| 390 _createFilterBar: function() | 376 _createFilterBar: function() |
| 391 { | 377 { |
| 392 this._filterBar = new WebInspector.FilterBar(); | 378 this._filterBar = new WebInspector.FilterBar(); |
| 393 this._filters = {}; | 379 this._filters = {}; |
| 394 this._filters._textFilterUI = new WebInspector.TextFilterUI(); | 380 this._filters._textFilterUI = new WebInspector.TextFilterUI(); |
| (...skipping 1015 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1410 * @param {!WebInspector.TimelineModel.Record} record | 1396 * @param {!WebInspector.TimelineModel.Record} record |
| 1411 * @return {boolean} | 1397 * @return {boolean} |
| 1412 */ | 1398 */ |
| 1413 accept: function(record) | 1399 accept: function(record) |
| 1414 { | 1400 { |
| 1415 return !this._regex || this._uiUtils.testContentMatching(record, this._r
egex); | 1401 return !this._regex || this._uiUtils.testContentMatching(record, this._r
egex); |
| 1416 }, | 1402 }, |
| 1417 | 1403 |
| 1418 __proto__: WebInspector.TimelineModel.Filter.prototype | 1404 __proto__: WebInspector.TimelineModel.Filter.prototype |
| 1419 } | 1405 } |
| OLD | NEW |