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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/timeline/TimelineUIUtils.js

Issue 2803413002: DevTools: brush up paint marker rendering, sort experiments, restore event markers on the overview. (Closed)
Patch Set: fixed the test Created 3 years, 8 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 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 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 eventStyles[recordTypes.EvaluateScript] = 104 eventStyles[recordTypes.EvaluateScript] =
105 new Timeline.TimelineRecordStyle(Common.UIString('Evaluate Script'), cat egories['scripting']); 105 new Timeline.TimelineRecordStyle(Common.UIString('Evaluate Script'), cat egories['scripting']);
106 eventStyles[recordTypes.ParseScriptOnBackground] = 106 eventStyles[recordTypes.ParseScriptOnBackground] =
107 new Timeline.TimelineRecordStyle(Common.UIString('Parse Script'), catego ries['scripting']); 107 new Timeline.TimelineRecordStyle(Common.UIString('Parse Script'), catego ries['scripting']);
108 eventStyles[recordTypes.MarkLoad] = 108 eventStyles[recordTypes.MarkLoad] =
109 new Timeline.TimelineRecordStyle(Common.UIString('Load event'), categori es['scripting'], true); 109 new Timeline.TimelineRecordStyle(Common.UIString('Load event'), categori es['scripting'], true);
110 eventStyles[recordTypes.MarkDOMContent] = 110 eventStyles[recordTypes.MarkDOMContent] =
111 new Timeline.TimelineRecordStyle(Common.UIString('DOMContentLoaded event '), categories['scripting'], true); 111 new Timeline.TimelineRecordStyle(Common.UIString('DOMContentLoaded event '), categories['scripting'], true);
112 eventStyles[recordTypes.MarkFirstPaint] = 112 eventStyles[recordTypes.MarkFirstPaint] =
113 new Timeline.TimelineRecordStyle(Common.UIString('First paint'), categor ies['painting'], true); 113 new Timeline.TimelineRecordStyle(Common.UIString('First paint'), categor ies['painting'], true);
114 eventStyles[recordTypes.MarkFMP] =
115 new Timeline.TimelineRecordStyle(Common.UIString('FMP'), categories['ren dering'], true);
116 eventStyles[recordTypes.MarkFMPCandidate] =
117 new Timeline.TimelineRecordStyle(Common.UIString('FMP candidate'), categ ories['rendering'], true);
114 eventStyles[recordTypes.TimeStamp] = 118 eventStyles[recordTypes.TimeStamp] =
115 new Timeline.TimelineRecordStyle(Common.UIString('Timestamp'), categorie s['scripting']); 119 new Timeline.TimelineRecordStyle(Common.UIString('Timestamp'), categorie s['scripting']);
116 eventStyles[recordTypes.ConsoleTime] = 120 eventStyles[recordTypes.ConsoleTime] =
117 new Timeline.TimelineRecordStyle(Common.UIString('Console Time'), catego ries['scripting']); 121 new Timeline.TimelineRecordStyle(Common.UIString('Console Time'), catego ries['scripting']);
118 eventStyles[recordTypes.UserTiming] = 122 eventStyles[recordTypes.UserTiming] =
119 new Timeline.TimelineRecordStyle(Common.UIString('User Timing'), categor ies['scripting']); 123 new Timeline.TimelineRecordStyle(Common.UIString('User Timing'), categor ies['scripting']);
120 eventStyles[recordTypes.ResourceSendRequest] = 124 eventStyles[recordTypes.ResourceSendRequest] =
121 new Timeline.TimelineRecordStyle(Common.UIString('Send Request'), catego ries['loading']); 125 new Timeline.TimelineRecordStyle(Common.UIString('Send Request'), catego ries['loading']);
122 eventStyles[recordTypes.ResourceReceiveResponse] = 126 eventStyles[recordTypes.ResourceReceiveResponse] =
123 new Timeline.TimelineRecordStyle(Common.UIString('Receive Response'), ca tegories['loading']); 127 new Timeline.TimelineRecordStyle(Common.UIString('Receive Response'), ca tegories['loading']);
(...skipping 1286 matching lines...) Expand 10 before | Expand all | Expand 10 after
1410 1414
1411 /** 1415 /**
1412 * @param {!SDK.TracingModel.Event} event 1416 * @param {!SDK.TracingModel.Event} event
1413 * @param {number} zeroTime 1417 * @param {number} zeroTime
1414 * @return {!Element} 1418 * @return {!Element}
1415 */ 1419 */
1416 static createEventDivider(event, zeroTime) { 1420 static createEventDivider(event, zeroTime) {
1417 var eventDivider = createElementWithClass('div', 'resources-event-divider'); 1421 var eventDivider = createElementWithClass('div', 'resources-event-divider');
1418 var startTime = Number.millisToString(event.startTime - zeroTime); 1422 var startTime = Number.millisToString(event.startTime - zeroTime);
1419 eventDivider.title = Common.UIString('%s at %s', Timeline.TimelineUIUtils.ev entTitle(event), startTime); 1423 eventDivider.title = Common.UIString('%s at %s', Timeline.TimelineUIUtils.ev entTitle(event), startTime);
1420 1424 var style = Timeline.TimelineUIUtils.markerStyleForEvent(event);
1421 var recordTypes = TimelineModel.TimelineModel.RecordType; 1425 if (style.tall)
1422 var name = event.name; 1426 eventDivider.style.backgroundColor = style.color;
1423 if (name === recordTypes.MarkDOMContent)
1424 eventDivider.classList.add('resources-blue-divider');
1425 else if (name === recordTypes.MarkLoad)
1426 eventDivider.classList.add('resources-red-divider');
1427 else if (name === recordTypes.MarkFirstPaint)
1428 eventDivider.classList.add('resources-green-divider');
1429
1430 return eventDivider; 1427 return eventDivider;
1431 } 1428 }
1432 1429
1433 /** 1430 /**
1434 * @return {!Array.<string>} 1431 * @return {!Array.<string>}
1435 */ 1432 */
1436 static _visibleTypes() { 1433 static _visibleTypes() {
1437 var eventStyles = Timeline.TimelineUIUtils._initEventStyles(); 1434 var eventStyles = Timeline.TimelineUIUtils._initEventStyles();
1438 var result = []; 1435 var result = [];
1439 for (var name in eventStyles) { 1436 for (var name in eventStyles) {
1440 if (!eventStyles[name].hidden) 1437 if (!eventStyles[name].hidden)
1441 result.push(name); 1438 result.push(name);
1442 } 1439 }
1443 return result; 1440 return result;
1444 } 1441 }
1445 1442
1446 /** 1443 /**
1447 * @return {!TimelineModel.TimelineModelFilter} 1444 * @return {!TimelineModel.TimelineModelFilter}
1448 */ 1445 */
1449 static visibleEventsFilter() { 1446 static visibleEventsFilter() {
1450 return new TimelineModel.TimelineVisibleEventsFilter(Timeline.TimelineUIUtil s._visibleTypes()); 1447 return new TimelineModel.TimelineVisibleEventsFilter(Timeline.TimelineUIUtil s._visibleTypes());
1451 } 1448 }
1452 1449
1453 /** 1450 /**
1451 * @return {!TimelineModel.TimelineModelFilter}
1452 */
1453 static paintEventsFilter() {
1454 var recordTypes = TimelineModel.TimelineModel.RecordType;
1455 return new TimelineModel.TimelineInvisibleEventsFilter([recordTypes.MarkFMP, recordTypes.MarkFMPCandidate]);
1456 }
1457
1458 /**
1454 * @return {!Object.<string, !Timeline.TimelineCategory>} 1459 * @return {!Object.<string, !Timeline.TimelineCategory>}
1455 */ 1460 */
1456 static categories() { 1461 static categories() {
1457 if (Timeline.TimelineUIUtils._categories) 1462 if (Timeline.TimelineUIUtils._categories)
1458 return Timeline.TimelineUIUtils._categories; 1463 return Timeline.TimelineUIUtils._categories;
1459 Timeline.TimelineUIUtils._categories = { 1464 Timeline.TimelineUIUtils._categories = {
1460 loading: new Timeline.TimelineCategory( 1465 loading: new Timeline.TimelineCategory(
1461 'loading', Common.UIString('Loading'), true, 'hsl(214, 67%, 74%)', 'hs l(214, 67%, 66%)'), 1466 'loading', Common.UIString('Loading'), true, 'hsl(214, 67%, 74%)', 'hs l(214, 67%, 66%)'),
1462 scripting: new Timeline.TimelineCategory( 1467 scripting: new Timeline.TimelineCategory(
1463 'scripting', Common.UIString('Scripting'), true, 'hsl(43, 83%, 72%)', 'hsl(43, 83%, 64%) '), 1468 'scripting', Common.UIString('Scripting'), true, 'hsl(43, 83%, 72%)', 'hsl(43, 83%, 64%) '),
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
1675 new Timeline.TimelineUIUtils.EventDispatchTypeDescriptor(3, purple, ['keyd own', 'keyup', 'keypress']) 1680 new Timeline.TimelineUIUtils.EventDispatchTypeDescriptor(3, purple, ['keyd own', 'keyup', 'keypress'])
1676 ]; 1681 ];
1677 return Timeline.TimelineUIUtils._eventDispatchDesciptors; 1682 return Timeline.TimelineUIUtils._eventDispatchDesciptors;
1678 } 1683 }
1679 1684
1680 /** 1685 /**
1681 * @param {!SDK.TracingModel.Event} event 1686 * @param {!SDK.TracingModel.Event} event
1682 * @return {!Timeline.TimelineMarkerStyle} 1687 * @return {!Timeline.TimelineMarkerStyle}
1683 */ 1688 */
1684 static markerStyleForEvent(event) { 1689 static markerStyleForEvent(event) {
1685 const red = 'rgb(255, 0, 0)';
1686 const blue = 'rgb(0, 0, 255)';
1687 const orange = 'rgb(255, 178, 23)';
1688 const green = 'rgb(0, 130, 0)';
1689 const purple = '#a2f';
1690 const tallMarkerDashStyle = [10, 5]; 1690 const tallMarkerDashStyle = [10, 5];
1691 const title = Timeline.TimelineUIUtils.eventTitle(event); 1691 const title = Timeline.TimelineUIUtils.eventTitle(event);
1692 1692
1693 if (event.hasCategory(TimelineModel.TimelineModel.Category.Console) || 1693 if (event.hasCategory(TimelineModel.TimelineModel.Category.Console) ||
1694 event.hasCategory(TimelineModel.TimelineModel.Category.UserTiming)) { 1694 event.hasCategory(TimelineModel.TimelineModel.Category.UserTiming)) {
1695 return { 1695 return {
1696 title: title, 1696 title: title,
1697 dashStyle: tallMarkerDashStyle, 1697 dashStyle: tallMarkerDashStyle,
1698 lineWidth: 0.5, 1698 lineWidth: 0.5,
1699 color: event.hasCategory(TimelineModel.TimelineModel.Category.UserTiming ) ? purple : orange, 1699 color: event.hasCategory(TimelineModel.TimelineModel.Category.UserTiming ) ? 'purple' : 'orange',
1700 tall: false, 1700 tall: false,
1701 lowPriority: false, 1701 lowPriority: false,
1702 }; 1702 };
1703 } 1703 }
1704 var recordTypes = TimelineModel.TimelineModel.RecordType; 1704 var recordTypes = TimelineModel.TimelineModel.RecordType;
1705 var tall = false; 1705 var tall = false;
1706 var color = green; 1706 var color = 'green';
1707 switch (event.name) { 1707 switch (event.name) {
1708 case recordTypes.MarkDOMContent: 1708 case recordTypes.MarkDOMContent:
1709 color = blue; 1709 color = 'blue';
1710 tall = true; 1710 tall = true;
1711 break; 1711 break;
1712 case recordTypes.MarkLoad: 1712 case recordTypes.MarkLoad:
1713 color = red; 1713 color = 'red';
1714 tall = true; 1714 tall = true;
1715 break; 1715 break;
1716 case recordTypes.MarkFirstPaint: 1716 case recordTypes.MarkFirstPaint:
1717 color = green; 1717 color = 'green';
1718 tall = true;
1719 break;
1720 case recordTypes.MarkFMP:
1721 color = 'orange';
1722 tall = true;
1723 break;
1724 case recordTypes.MarkFMPCandidate:
1725 color = 'orange';
1718 tall = true; 1726 tall = true;
1719 break; 1727 break;
1720 case recordTypes.TimeStamp: 1728 case recordTypes.TimeStamp:
1721 color = orange; 1729 color = 'orange';
1722 break; 1730 break;
1723 } 1731 }
1724 return { 1732 return {
1725 title: title, 1733 title: title,
1726 dashStyle: tallMarkerDashStyle, 1734 dashStyle: tallMarkerDashStyle,
1727 lineWidth: 0.5, 1735 lineWidth: 0.5,
1728 color: color, 1736 color: color,
1729 tall: tall, 1737 tall: tall,
1730 lowPriority: false, 1738 lowPriority: false,
1731 }; 1739 };
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
2287 * @param {string=} warningType 2295 * @param {string=} warningType
2288 */ 2296 */
2289 appendWarningRow(event, warningType) { 2297 appendWarningRow(event, warningType) {
2290 var warning = Timeline.TimelineUIUtils.eventWarning(event, warningType); 2298 var warning = Timeline.TimelineUIUtils.eventWarning(event, warningType);
2291 if (warning) 2299 if (warning)
2292 this.appendElementRow(Common.UIString('Warning'), warning, true); 2300 this.appendElementRow(Common.UIString('Warning'), warning, true);
2293 } 2301 }
2294 }; 2302 };
2295 2303
2296 Timeline.TimelineUIUtils._categoryBreakdownCacheSymbol = Symbol('categoryBreakdo wnCache'); 2304 Timeline.TimelineUIUtils._categoryBreakdownCacheSymbol = Symbol('categoryBreakdo wnCache');
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698