Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(368)

Side by Side Diff: Source/devtools/front_end/timeline/TimelinePanel.js

Issue 423433004: DevTools: move the "Capture *" checkboxes from timeline sidebar to the toolbar. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebaselined Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 this._model.addFilter(this._durationFilter); 106 this._model.addFilter(this._durationFilter);
107 this._model.addFilter(this._textFilter); 107 this._model.addFilter(this._textFilter);
108 108
109 /** @type {!Array.<!WebInspector.TimelineModeView>} */ 109 /** @type {!Array.<!WebInspector.TimelineModeView>} */
110 this._currentViews = []; 110 this._currentViews = [];
111 111
112 this._overviewModeSetting = WebInspector.settings.createSetting("timelineOve rviewMode", WebInspector.TimelinePanel.OverviewMode.Events); 112 this._overviewModeSetting = WebInspector.settings.createSetting("timelineOve rviewMode", WebInspector.TimelinePanel.OverviewMode.Events);
113 this._flameChartEnabledSetting = WebInspector.settings.createSetting("timeli neFlameChartEnabled", false); 113 this._flameChartEnabledSetting = WebInspector.settings.createSetting("timeli neFlameChartEnabled", false);
114 this._createStatusBarItems(); 114 this._createStatusBarItems();
115 115
116 this._topPane = new WebInspector.SplitView(true, false); 116 var topPaneElement = this.element.createChild("div", "hbox");
117 this._topPane.element.id = "timeline-overview-panel"; 117 topPaneElement.id = "timeline-overview-panel";
118 this._topPane.show(this.element);
119 this._topPane.addEventListener(WebInspector.SplitView.Events.SidebarSizeChan ged, this._sidebarResized, this);
120 this._topPane.setResizable(false);
121 this._createRecordingOptions();
122 118
123 // Create top overview component. 119 // Create top overview component.
124 this._overviewPane = new WebInspector.TimelineOverviewPane(this._model, this ._uiUtils); 120 this._overviewPane = new WebInspector.TimelineOverviewPane(this._model, this ._uiUtils);
125 this._overviewPane.addEventListener(WebInspector.TimelineOverviewPane.Events .WindowChanged, this._onWindowChanged.bind(this)); 121 this._overviewPane.addEventListener(WebInspector.TimelineOverviewPane.Events .WindowChanged, this._onWindowChanged.bind(this));
126 this._overviewPane.show(this._topPane.mainElement()); 122 this._overviewPane.show(topPaneElement);
127 123
128 this._createFileSelector(); 124 this._createFileSelector();
129 this._registerShortcuts(); 125 this._registerShortcuts();
130 126
131 WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeMod el.EventTypes.WillReloadPage, this._willReloadPage, this); 127 WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeMod el.EventTypes.WillReloadPage, this._willReloadPage, this);
132 WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeMod el.EventTypes.Load, this._loadEventFired, this); 128 WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeMod el.EventTypes.Load, this._loadEventFired, this);
133 129
134 // Create top level properties splitter. 130 // Create top level properties splitter.
135 this._detailsSplitView = new WebInspector.SplitView(false, true, "timelinePa nelDetailsSplitViewState"); 131 this._detailsSplitView = new WebInspector.SplitView(false, true, "timelinePa nelDetailsSplitViewState");
136 this._detailsSplitView.element.classList.add("timeline-details-split"); 132 this._detailsSplitView.element.classList.add("timeline-details-split");
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 return this._windowEndTime; 230 return this._windowEndTime;
235 return this._model.maximumRecordTime() || Infinity; 231 return this._model.maximumRecordTime() || Infinity;
236 }, 232 },
237 233
238 /** 234 /**
239 * @param {!WebInspector.Event} event 235 * @param {!WebInspector.Event} event
240 */ 236 */
241 _sidebarResized: function(event) 237 _sidebarResized: function(event)
242 { 238 {
243 var width = /** @type {number} */ (event.data); 239 var width = /** @type {number} */ (event.data);
244 this._topPane.setSidebarSize(width);
245 for (var i = 0; i < this._currentViews.length; ++i) 240 for (var i = 0; i < this._currentViews.length; ++i)
246 this._currentViews[i].setSidebarSize(width); 241 this._currentViews[i].setSidebarSize(width);
247 }, 242 },
248 243
249 /** 244 /**
250 * @param {!WebInspector.Event} event 245 * @param {!WebInspector.Event} event
251 */ 246 */
252 _onWindowChanged: function(event) 247 _onWindowChanged: function(event)
253 { 248 {
254 this._windowStartTime = event.data.startTime; 249 this._windowStartTime = event.data.startTime;
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 return this._lazyPaintProfilerView; 311 return this._lazyPaintProfilerView;
317 }, 312 },
318 313
319 /** 314 /**
320 * @param {!WebInspector.TimelineModeView} modeView 315 * @param {!WebInspector.TimelineModeView} modeView
321 */ 316 */
322 _addModeView: function(modeView) 317 _addModeView: function(modeView)
323 { 318 {
324 modeView.setWindowTimes(this.windowStartTime(), this.windowEndTime()); 319 modeView.setWindowTimes(this.windowStartTime(), this.windowEndTime());
325 modeView.refreshRecords(this._textFilter._regex); 320 modeView.refreshRecords(this._textFilter._regex);
326 modeView.view().setSidebarSize(this._topPane.sidebarSize());
327 this._stackView.appendView(modeView.view(), "timelinePanelTimelineStackS plitViewState"); 321 this._stackView.appendView(modeView.view(), "timelinePanelTimelineStackS plitViewState");
328 modeView.view().addEventListener(WebInspector.SplitView.Events.SidebarSi zeChanged, this._sidebarResized, this); 322 modeView.view().addEventListener(WebInspector.SplitView.Events.SidebarSi zeChanged, this._sidebarResized, this);
329 this._currentViews.push(modeView); 323 this._currentViews.push(modeView);
330 }, 324 },
331 325
332 _removeAllModeViews: function() 326 _removeAllModeViews: function()
333 { 327 {
334 for (var i = 0; i < this._currentViews.length; ++i) { 328 for (var i = 0; i < this._currentViews.length; ++i) {
335 this._currentViews[i].removeEventListener(WebInspector.SplitView.Eve nts.SidebarSizeChanged, this._sidebarResized, this); 329 this._currentViews[i].removeEventListener(WebInspector.SplitView.Eve nts.SidebarSizeChanged, this._sidebarResized, this);
336 this._currentViews[i].dispose(); 330 this._currentViews[i].dispose();
(...skipping 12 matching lines...) Expand all
349 { 343 {
350 if (!this._recordingOptionUIControls) 344 if (!this._recordingOptionUIControls)
351 this._recordingOptionUIControls = []; 345 this._recordingOptionUIControls = [];
352 346
353 var checkboxElement = document.createElement("input"); 347 var checkboxElement = document.createElement("input");
354 var labelElement = WebInspector.SettingsUI.createSettingCheckbox(name, s etting, true, checkboxElement, tooltip); 348 var labelElement = WebInspector.SettingsUI.createSettingCheckbox(name, s etting, true, checkboxElement, tooltip);
355 this._recordingOptionUIControls.push({ "label": labelElement, "checkbox" : checkboxElement }); 349 this._recordingOptionUIControls.push({ "label": labelElement, "checkbox" : checkboxElement });
356 return labelElement; 350 return labelElement;
357 }, 351 },
358 352
359 _createRecordingOptions: function()
360 {
361 var topPaneSidebarElement = this._topPane.sidebarElement();
362 this._captureStacksSetting = WebInspector.settings.createSetting("timeli neCaptureStacks", true);
363 topPaneSidebarElement.appendChild(this._createSettingCheckbox(WebInspect or.UIString("Capture stacks"),
364 this._capt ureStacksSetting,
365 WebInspect or.UIString("Capture JavaScript stack on every timeline event")));
366
367 this._captureMemorySetting = WebInspector.settings.createSetting("timeli neCaptureMemory", false);
368 topPaneSidebarElement.appendChild(this._createSettingCheckbox(WebInspect or.UIString("Capture memory"),
369 this._capt ureMemorySetting,
370 WebInspect or.UIString("Capture memory information on every timeline event")));
371 this._captureMemorySetting.addChangeListener(this._onModeChanged, this);
372
373 if (WebInspector.experimentsSettings.timelinePowerProfiler.isEnabled()) {
374 this._capturePowerSetting = WebInspector.settings.createSetting("tim elineCapturePower", false);
375 topPaneSidebarElement.appendChild(this._createSettingCheckbox(WebIns pector.UIString("Capture power"),
376 this._ capturePowerSetting,
377 WebIns pector.UIString("Capture power information")));
378 this._capturePowerSetting.addChangeListener(this._onModeChanged, thi s);
379 }
380
381 if (WebInspector.experimentsSettings.timelineOnTraceEvents.isEnabled()) {
382 this._captureLayersAndPicturesSetting = WebInspector.settings.create Setting("timelineCaptureLayersAndPictures", false);
383 topPaneSidebarElement.appendChild(this._createSettingCheckbox(WebIns pector.UIString("Capture pictures"),
384 this._ captureLayersAndPicturesSetting,
385 WebIns pector.UIString("Capture graphics layer positions and painted pictures")));
386 }
387 },
388
389 _createStatusBarItems: function() 353 _createStatusBarItems: function()
390 { 354 {
391 var panelStatusBarElement = this.element.createChild("div", "panel-statu s-bar"); 355 var panelStatusBarElement = this.element.createChild("div", "panel-statu s-bar");
392 this._statusBarButtons = /** @type {!Array.<!WebInspector.StatusBarItem> } */ ([]); 356 this._statusBarButtons = /** @type {!Array.<!WebInspector.StatusBarItem> } */ ([]);
393 357
394 this.toggleTimelineButton = new WebInspector.StatusBarButton("", "record -profile-status-bar-item"); 358 this.toggleTimelineButton = new WebInspector.StatusBarButton("", "record -profile-status-bar-item");
395 this.toggleTimelineButton.addEventListener("click", this._toggleTimeline ButtonClicked, this); 359 this.toggleTimelineButton.addEventListener("click", this._toggleTimeline ButtonClicked, this);
396 this._statusBarButtons.push(this.toggleTimelineButton); 360 this._statusBarButtons.push(this.toggleTimelineButton);
397 panelStatusBarElement.appendChild(this.toggleTimelineButton.element); 361 panelStatusBarElement.appendChild(this.toggleTimelineButton.element);
398 this._updateToggleTimelineButton(false); 362 this._updateToggleTimelineButton(false);
(...skipping 18 matching lines...) Expand all
417 panelStatusBarElement.appendChild(framesToggleButton.element); 381 panelStatusBarElement.appendChild(framesToggleButton.element);
418 382
419 if (WebInspector.experimentsSettings.timelineOnTraceEvents.isEnabled()) { 383 if (WebInspector.experimentsSettings.timelineOnTraceEvents.isEnabled()) {
420 var flameChartToggleButton = new WebInspector.StatusBarButton(WebIns pector.UIString("Tracing mode"), "timeline-flame-chart-status-bar-item"); 384 var flameChartToggleButton = new WebInspector.StatusBarButton(WebIns pector.UIString("Tracing mode"), "timeline-flame-chart-status-bar-item");
421 flameChartToggleButton.toggled = this._flameChartEnabledSetting.get( ); 385 flameChartToggleButton.toggled = this._flameChartEnabledSetting.get( );
422 flameChartToggleButton.addEventListener("click", this._flameChartEna bledChanged.bind(this, flameChartToggleButton)); 386 flameChartToggleButton.addEventListener("click", this._flameChartEna bledChanged.bind(this, flameChartToggleButton));
423 this._statusBarButtons.push(flameChartToggleButton); 387 this._statusBarButtons.push(flameChartToggleButton);
424 panelStatusBarElement.appendChild(flameChartToggleButton.element); 388 panelStatusBarElement.appendChild(flameChartToggleButton.element);
425 } 389 }
426 390
391 this._captureStacksSetting = WebInspector.settings.createSetting("timeli neCaptureStacks", true);
392 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebInspect or.UIString("Stacks"),
393 this._capt ureStacksSetting,
394 WebInspect or.UIString("Capture JavaScript stack on every timeline event")));
395 this._captureMemorySetting = WebInspector.settings.createSetting("timeli neCaptureMemory", false);
396 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebInspect or.UIString("Memory"),
397 this._capt ureMemorySetting,
398 WebInspect or.UIString("Capture memory information on every timeline event")));
399 this._captureMemorySetting.addChangeListener(this._onModeChanged, this);
400 if (WebInspector.experimentsSettings.timelinePowerProfiler.isEnabled()) {
401 this._capturePowerSetting = WebInspector.settings.createSetting("tim elineCapturePower", false);
402 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebIns pector.UIString("Power"),
403 this._ capturePowerSetting,
404 WebIns pector.UIString("Capture power information")));
405 this._capturePowerSetting.addChangeListener(this._onModeChanged, thi s);
406 }
407 if (WebInspector.experimentsSettings.timelineOnTraceEvents.isEnabled()) {
408 this._captureLayersAndPicturesSetting = WebInspector.settings.create Setting("timelineCaptureLayersAndPictures", false);
409 panelStatusBarElement.appendChild(this._createSettingCheckbox(WebIns pector.UIString("Paint"),
410 this._ captureLayersAndPicturesSetting,
411 WebIns pector.UIString("Capture graphics layer positions and painted pictures")));
412 }
413
427 this._miscStatusBarItems = panelStatusBarElement.createChild("div", "sta tus-bar-item"); 414 this._miscStatusBarItems = panelStatusBarElement.createChild("div", "sta tus-bar-item");
428 415
429 this._filtersContainer = this.element.createChild("div", "timeline-filte rs-header hidden"); 416 this._filtersContainer = this.element.createChild("div", "timeline-filte rs-header hidden");
430 this._filtersContainer.appendChild(this._filterBar.filtersElement()); 417 this._filtersContainer.appendChild(this._filterBar.filtersElement());
431 this._filterBar.addEventListener(WebInspector.FilterBar.Events.FiltersTo ggled, this._onFiltersToggled, this); 418 this._filterBar.addEventListener(WebInspector.FilterBar.Events.FiltersTo ggled, this._onFiltersToggled, this);
432 this._filterBar.setName("timelinePanel"); 419 this._filterBar.setName("timelinePanel");
433 }, 420 },
434 421
435 /** 422 /**
436 * @return {!WebInspector.FilterBar} 423 * @return {!WebInspector.FilterBar}
(...skipping 1039 matching lines...) Expand 10 before | Expand all | Expand 10 after
1476 * @param {!WebInspector.TimelineModel.Record} record 1463 * @param {!WebInspector.TimelineModel.Record} record
1477 * @return {boolean} 1464 * @return {boolean}
1478 */ 1465 */
1479 accept: function(record) 1466 accept: function(record)
1480 { 1467 {
1481 return !this._regex || this._uiUtils.testContentMatching(record, this._r egex); 1468 return !this._regex || this._uiUtils.testContentMatching(record, this._r egex);
1482 }, 1469 },
1483 1470
1484 __proto__: WebInspector.TimelineModel.Filter.prototype 1471 __proto__: WebInspector.TimelineModel.Filter.prototype
1485 } 1472 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/timeline/TimelineOverviewPane.js ('k') | Source/devtools/front_end/timelinePanel.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698