OLD | NEW |
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 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 } | 170 } |
171 | 171 |
172 /** | 172 /** |
173 * @param {!WebInspector.TracingModel.Event} event | 173 * @param {!WebInspector.TracingModel.Event} event |
174 * @return {string} | 174 * @return {string} |
175 */ | 175 */ |
176 WebInspector.TimelineUIUtils.eventColor = function(event) | 176 WebInspector.TimelineUIUtils.eventColor = function(event) |
177 { | 177 { |
178 if (event.name === WebInspector.TimelineModel.RecordType.JSFrame) | 178 if (event.name === WebInspector.TimelineModel.RecordType.JSFrame) |
179 return WebInspector.TimelineUIUtils.colorForURL(event.args["data"]["url"
]); | 179 return WebInspector.TimelineUIUtils.colorForURL(event.args["data"]["url"
]); |
180 return WebInspector.TimelineUIUtils.eventStyle(event).category.fillColorStop
1; | 180 return WebInspector.TimelineUIUtils.eventStyle(event).category.color; |
181 } | 181 } |
182 | 182 |
183 /** | 183 /** |
184 * @param {!WebInspector.TracingModel.Event} event | 184 * @param {!WebInspector.TracingModel.Event} event |
185 * @return {string} | 185 * @return {string} |
186 */ | 186 */ |
187 WebInspector.TimelineUIUtils.eventTitle = function(event) | 187 WebInspector.TimelineUIUtils.eventTitle = function(event) |
188 { | 188 { |
189 var title = WebInspector.TimelineUIUtils.eventStyle(event).title; | 189 var title = WebInspector.TimelineUIUtils.eventStyle(event).title; |
190 if (event.hasCategory(WebInspector.TimelineModel.Category.Console)) | 190 if (event.hasCategory(WebInspector.TimelineModel.Category.Console)) |
(...skipping 1187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1378 } | 1378 } |
1379 | 1379 |
1380 /** | 1380 /** |
1381 * @return {!Object.<string, !WebInspector.TimelineCategory>} | 1381 * @return {!Object.<string, !WebInspector.TimelineCategory>} |
1382 */ | 1382 */ |
1383 WebInspector.TimelineUIUtils.categories = function() | 1383 WebInspector.TimelineUIUtils.categories = function() |
1384 { | 1384 { |
1385 if (WebInspector.TimelineUIUtils._categories) | 1385 if (WebInspector.TimelineUIUtils._categories) |
1386 return WebInspector.TimelineUIUtils._categories; | 1386 return WebInspector.TimelineUIUtils._categories; |
1387 WebInspector.TimelineUIUtils._categories = { | 1387 WebInspector.TimelineUIUtils._categories = { |
1388 loading: new WebInspector.TimelineCategory("loading", WebInspector.UIStr
ing("Loading"), true, "hsl(214, 53%, 58%)", "hsl(214, 67%, 90%)", "hsl(214, 67%,
74%)", "hsl(214, 67%, 66%)"), | 1388 loading: new WebInspector.TimelineCategory("loading", WebInspector.UIStr
ing("Loading"), true, "hsl(214, 67%, 74%)", "hsl(214, 67%, 66%)"), |
1389 scripting: new WebInspector.TimelineCategory("scripting", WebInspector.U
IString("Scripting"), true, "hsl(43, 90%, 45%)", "hsl(43, 83%, 90%)", "hsl(43, 8
3%, 72%)", "hsl(43, 83%, 64%) "), | 1389 scripting: new WebInspector.TimelineCategory("scripting", WebInspector.U
IString("Scripting"), true, "hsl(43, 83%, 72%)", "hsl(43, 83%, 64%) "), |
1390 rendering: new WebInspector.TimelineCategory("rendering", WebInspector.U
IString("Rendering"), true, "hsl(256, 50%, 60%)", "hsl(256, 67%, 90%)", "hsl(256
, 67%, 76%)", "hsl(256, 67%, 70%)"), | 1390 rendering: new WebInspector.TimelineCategory("rendering", WebInspector.U
IString("Rendering"), true, "hsl(256, 67%, 76%)", "hsl(256, 67%, 70%)"), |
1391 painting: new WebInspector.TimelineCategory("painting", WebInspector.UIS
tring("Painting"), true, "hsl(109, 33%, 47%)", "hsl(109, 33%, 90%)", "hsl(109, 3
3%, 64%)", "hsl(109, 33%, 55%)"), | 1391 painting: new WebInspector.TimelineCategory("painting", WebInspector.UIS
tring("Painting"), true, "hsl(109, 33%, 64%)", "hsl(109, 33%, 55%)"), |
1392 gpu: new WebInspector.TimelineCategory("gpu", WebInspector.UIString("GPU
"), false, "hsl(240, 24%, 45%)", "hsl(240, 24%, 90%)", "hsl(240, 24%, 73%)", "hs
l(240, 24%, 66%)"), | 1392 gpu: new WebInspector.TimelineCategory("gpu", WebInspector.UIString("GPU
"), false, "hsl(240, 24%, 73%)", "hsl(240, 24%, 66%)"), |
1393 other: new WebInspector.TimelineCategory("other", WebInspector.UIString(
"Other"), false, "hsl(0, 0%, 73%)", "hsl(0, 0%, 90%)", "hsl(0, 0%, 87%)", "hsl(0
, 0%, 79%)"), | 1393 other: new WebInspector.TimelineCategory("other", WebInspector.UIString(
"Other"), false, "hsl(0, 0%, 87%)", "hsl(0, 0%, 79%)"), |
1394 idle: new WebInspector.TimelineCategory("idle", WebInspector.UIString("I
dle"), false, "hsl(0, 0%, 87%)", "hsl(0, 100%, 100%)", "hsl(0, 100%, 100%)", "hs
l(0, 100%, 100%)") | 1394 idle: new WebInspector.TimelineCategory("idle", WebInspector.UIString("I
dle"), false, "hsl(0, 100%, 100%)", "hsl(0, 100%, 100%)") |
1395 }; | 1395 }; |
1396 return WebInspector.TimelineUIUtils._categories; | 1396 return WebInspector.TimelineUIUtils._categories; |
1397 }; | 1397 }; |
1398 | 1398 |
1399 /** | 1399 /** |
1400 * @constructor | 1400 * @constructor |
1401 * @param {string} title | 1401 * @param {string} title |
1402 */ | 1402 */ |
1403 WebInspector.AsyncEventGroup = function(title) | 1403 WebInspector.AsyncEventGroup = function(title) |
1404 { | 1404 { |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1447 * @param {number} value | 1447 * @param {number} value |
1448 * @param {string} color | 1448 * @param {string} color |
1449 */ | 1449 */ |
1450 function appendLegendRow(name, title, value, color) | 1450 function appendLegendRow(name, title, value, color) |
1451 { | 1451 { |
1452 if (!value) | 1452 if (!value) |
1453 return; | 1453 return; |
1454 pieChart.addSlice(value, color); | 1454 pieChart.addSlice(value, color); |
1455 var rowElement = footerElement.createChild("div"); | 1455 var rowElement = footerElement.createChild("div"); |
1456 rowElement.createChild("span", "timeline-aggregated-legend-value").text
Content = Number.preciseMillisToString(value, 1); | 1456 rowElement.createChild("span", "timeline-aggregated-legend-value").text
Content = Number.preciseMillisToString(value, 1); |
1457 rowElement.createChild("span", "timeline-aggregated-legend-swatch timel
ine-" + name); | 1457 rowElement.createChild("span", "timeline-aggregated-legend-swatch").sty
le.backgroundColor = color; |
1458 rowElement.createChild("span", "timeline-aggregated-legend-title").text
Content = title; | 1458 rowElement.createChild("span", "timeline-aggregated-legend-title").text
Content = title; |
1459 } | 1459 } |
1460 | 1460 |
1461 // In case of self time, first add self, then children of the same category. | 1461 // In case of self time, first add self, then children of the same category. |
1462 if (selfCategory) { | 1462 if (selfCategory) { |
1463 if (selfTime) | 1463 if (selfTime) |
1464 appendLegendRow(selfCategory.name, WebInspector.UIString("%s (self)"
, selfCategory.title), selfTime, selfCategory.fillColorStop1); | 1464 appendLegendRow(selfCategory.name, WebInspector.UIString("%s (self)"
, selfCategory.title), selfTime, selfCategory.color); |
1465 // Children of the same category. | 1465 // Children of the same category. |
1466 var categoryTime = aggregatedStats[selfCategory.name]; | 1466 var categoryTime = aggregatedStats[selfCategory.name]; |
1467 var value = categoryTime - selfTime; | 1467 var value = categoryTime - selfTime; |
1468 if (value > 0) | 1468 if (value > 0) |
1469 appendLegendRow(selfCategory.name, WebInspector.UIString("%s (childr
en)", selfCategory.title), value, selfCategory.fillColorStop0); | 1469 appendLegendRow(selfCategory.name, WebInspector.UIString("%s (childr
en)", selfCategory.title), value, selfCategory.childColor); |
1470 } | 1470 } |
1471 | 1471 |
1472 // Add other categories. | 1472 // Add other categories. |
1473 for (var categoryName in WebInspector.TimelineUIUtils.categories()) { | 1473 for (var categoryName in WebInspector.TimelineUIUtils.categories()) { |
1474 var category = WebInspector.TimelineUIUtils.categories()[categoryName]; | 1474 var category = WebInspector.TimelineUIUtils.categories()[categoryName]; |
1475 if (category === selfCategory) | 1475 if (category === selfCategory) |
1476 continue; | 1476 continue; |
1477 appendLegendRow(category.name, category.title, aggregatedStats[category.
name], category.fillColorStop0); | 1477 appendLegendRow(category.name, category.title, aggregatedStats[category.
name], category.childColor); |
1478 } | 1478 } |
1479 return element; | 1479 return element; |
1480 } | 1480 } |
1481 | 1481 |
1482 /** | 1482 /** |
1483 * @param {!WebInspector.TimelineFrameModelBase} frameModel | 1483 * @param {!WebInspector.TimelineFrameModelBase} frameModel |
1484 * @param {!WebInspector.TimelineFrame} frame | 1484 * @param {!WebInspector.TimelineFrame} frame |
1485 * @param {?WebInspector.FilmStripModel.Frame} filmStripFrame | 1485 * @param {?WebInspector.FilmStripModel.Frame} filmStripFrame |
1486 * @return {!Element} | 1486 * @return {!Element} |
1487 */ | 1487 */ |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1561 { | 1561 { |
1562 var gradient = context.createLinearGradient(0, 0, width, height); | 1562 var gradient = context.createLinearGradient(0, 0, width, height); |
1563 gradient.addColorStop(0, color0); | 1563 gradient.addColorStop(0, color0); |
1564 gradient.addColorStop(0.25, color1); | 1564 gradient.addColorStop(0.25, color1); |
1565 gradient.addColorStop(0.75, color1); | 1565 gradient.addColorStop(0.75, color1); |
1566 gradient.addColorStop(1, color2); | 1566 gradient.addColorStop(1, color2); |
1567 return gradient; | 1567 return gradient; |
1568 } | 1568 } |
1569 | 1569 |
1570 /** | 1570 /** |
1571 * @param {!CanvasRenderingContext2D} context | |
1572 * @param {number} width | |
1573 * @param {number} height | |
1574 * @param {!WebInspector.TimelineCategory} category | |
1575 * @return {!CanvasGradient} | |
1576 */ | |
1577 WebInspector.TimelineUIUtils.createFillStyleForCategory = function(context, widt
h, height, category) | |
1578 { | |
1579 return WebInspector.TimelineUIUtils.createFillStyle(context, width, height,
category.fillColorStop0, category.fillColorStop1, category.borderColor); | |
1580 } | |
1581 | |
1582 /** | |
1583 * @param {!WebInspector.TimelineCategory} category | |
1584 * @return {string} | |
1585 */ | |
1586 WebInspector.TimelineUIUtils.createStyleRuleForCategory = function(category) | |
1587 { | |
1588 var selector = ".timeline-category-" + category.name + " .timeline-graph-bar
, " + | |
1589 ".timeline-details-view .timeline-" + category.name + ", " + | |
1590 ".timeline-category-" + category.name + " .timeline-tree-icon"; | |
1591 | |
1592 return selector + " { background-image: linear-gradient(" + | |
1593 category.fillColorStop0 + ", " + category.fillColorStop1 + " 25%, " + cat
egory.fillColorStop1 + " 25%, " + category.fillColorStop1 + ");" + | |
1594 " border-color: " + category.borderColor + | |
1595 "}"; | |
1596 } | |
1597 | |
1598 /** | |
1599 * @param {!Array.<number>} quad | 1571 * @param {!Array.<number>} quad |
1600 * @return {number} | 1572 * @return {number} |
1601 */ | 1573 */ |
1602 WebInspector.TimelineUIUtils.quadWidth = function(quad) | 1574 WebInspector.TimelineUIUtils.quadWidth = function(quad) |
1603 { | 1575 { |
1604 return Math.round(Math.sqrt(Math.pow(quad[0] - quad[2], 2) + Math.pow(quad[1
] - quad[3], 2))); | 1576 return Math.round(Math.sqrt(Math.pow(quad[0] - quad[2], 2) + Math.pow(quad[1
] - quad[3], 2))); |
1605 } | 1577 } |
1606 | 1578 |
1607 /** | 1579 /** |
1608 * @param {!Array.<number>} quad | 1580 * @param {!Array.<number>} quad |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1648 ]; | 1620 ]; |
1649 return WebInspector.TimelineUIUtils._eventDispatchDesciptors; | 1621 return WebInspector.TimelineUIUtils._eventDispatchDesciptors; |
1650 } | 1622 } |
1651 | 1623 |
1652 /** | 1624 /** |
1653 * @constructor | 1625 * @constructor |
1654 * @extends {WebInspector.Object} | 1626 * @extends {WebInspector.Object} |
1655 * @param {string} name | 1627 * @param {string} name |
1656 * @param {string} title | 1628 * @param {string} title |
1657 * @param {boolean} visible | 1629 * @param {boolean} visible |
1658 * @param {string} borderColor | 1630 * @param {string} childColor |
1659 * @param {string} backgroundColor | 1631 * @param {string} color |
1660 * @param {string} fillColorStop0 | |
1661 * @param {string} fillColorStop1 | |
1662 */ | 1632 */ |
1663 WebInspector.TimelineCategory = function(name, title, visible, borderColor, back
groundColor, fillColorStop0, fillColorStop1) | 1633 WebInspector.TimelineCategory = function(name, title, visible, childColor, color
) |
1664 { | 1634 { |
1665 this.name = name; | 1635 this.name = name; |
1666 this.title = title; | 1636 this.title = title; |
1667 this.visible = visible; | 1637 this.visible = visible; |
1668 this.borderColor = borderColor; | 1638 this.childColor = childColor; |
1669 this.backgroundColor = backgroundColor; | 1639 this.color = color; |
1670 this.fillColorStop0 = fillColorStop0; | |
1671 this.fillColorStop1 = fillColorStop1; | |
1672 this.hidden = false; | 1640 this.hidden = false; |
1673 } | 1641 } |
1674 | 1642 |
1675 WebInspector.TimelineCategory.Events = { | 1643 WebInspector.TimelineCategory.Events = { |
1676 VisibilityChanged: "VisibilityChanged" | 1644 VisibilityChanged: "VisibilityChanged" |
1677 }; | 1645 }; |
1678 | 1646 |
1679 WebInspector.TimelineCategory.prototype = { | 1647 WebInspector.TimelineCategory.prototype = { |
1680 /** | 1648 /** |
1681 * @return {boolean} | 1649 * @return {boolean} |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1888 if (!this._tableElement.hasChildNodes()) { | 1856 if (!this._tableElement.hasChildNodes()) { |
1889 this.element.removeChildren(); | 1857 this.element.removeChildren(); |
1890 } else { | 1858 } else { |
1891 this.element = createElementWithClass("div", "timeline-details-view-
block"); | 1859 this.element = createElementWithClass("div", "timeline-details-view-
block"); |
1892 this.fragment.appendChild(this.element); | 1860 this.fragment.appendChild(this.element); |
1893 } | 1861 } |
1894 | 1862 |
1895 if (title) { | 1863 if (title) { |
1896 var titleElement = this.element.createChild("div", "timeline-details
-chip-title"); | 1864 var titleElement = this.element.createChild("div", "timeline-details
-chip-title"); |
1897 if (category) | 1865 if (category) |
1898 titleElement.createChild("div", "timeline-" + category.name); | 1866 titleElement.createChild("div").style.backgroundColor = category
.color; |
1899 titleElement.createTextChild(title); | 1867 titleElement.createTextChild(title); |
1900 } | 1868 } |
1901 | 1869 |
1902 this._tableElement = this.element.createChild("div", "vbox timeline-deta
ils-chip-body"); | 1870 this._tableElement = this.element.createChild("div", "vbox timeline-deta
ils-chip-body"); |
1903 this.fragment.appendChild(this.element); | 1871 this.fragment.appendChild(this.element); |
1904 }, | 1872 }, |
1905 | 1873 |
1906 /** | 1874 /** |
1907 * @return {?WebInspector.Linkifier} | 1875 * @return {?WebInspector.Linkifier} |
1908 */ | 1876 */ |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2043 case warnings.V8Deopt: | 2011 case warnings.V8Deopt: |
2044 span.appendChild(WebInspector.linkifyURLAsNode("https://github.com/Googl
eChrome/devtools-docs/issues/53", | 2012 span.appendChild(WebInspector.linkifyURLAsNode("https://github.com/Googl
eChrome/devtools-docs/issues/53", |
2045 WebInspector.UIString("Not optimized"), undefined, true)); | 2013 WebInspector.UIString("Not optimized"), undefined, true)); |
2046 span.createTextChild(WebInspector.UIString(": %s", eventData["deoptReaso
n"])); | 2014 span.createTextChild(WebInspector.UIString(": %s", eventData["deoptReaso
n"])); |
2047 break; | 2015 break; |
2048 default: | 2016 default: |
2049 console.assert(false, "Unhandled TimelineModel.WarningType"); | 2017 console.assert(false, "Unhandled TimelineModel.WarningType"); |
2050 } | 2018 } |
2051 return span; | 2019 return span; |
2052 } | 2020 } |
OLD | NEW |