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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/perf_ui/FlameChart.js

Issue 2879943003: DevTools: render product badges behind the setting. (Closed)
Patch Set: removed module from the list. Created 3 years, 7 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 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 1476 matching lines...) Expand 10 before | Expand all | Expand 10 after
1487 draw(context, x, height, pixelsPerMillisecond) {}, 1487 draw(context, x, height, pixelsPerMillisecond) {},
1488 }; 1488 };
1489 1489
1490 /** @enum {symbol} */ 1490 /** @enum {symbol} */
1491 PerfUI.FlameChart.Events = { 1491 PerfUI.FlameChart.Events = {
1492 EntrySelected: Symbol('EntrySelected'), 1492 EntrySelected: Symbol('EntrySelected'),
1493 EntryHighlighted: Symbol('EntryHighlighted') 1493 EntryHighlighted: Symbol('EntryHighlighted')
1494 }; 1494 };
1495 1495
1496 /** 1496 /**
1497 * @unrestricted
1498 */
1499 PerfUI.FlameChart.ColorGenerator = class {
1500 /**
1501 * @param {!{min: number, max: number}|number=} hueSpace
1502 * @param {!{min: number, max: number, count: (number|undefined)}|number=} sat Space
1503 * @param {!{min: number, max: number, count: (number|undefined)}|number=} lig htnessSpace
1504 * @param {!{min: number, max: number, count: (number|undefined)}|number=} alp haSpace
1505 */
1506 constructor(hueSpace, satSpace, lightnessSpace, alphaSpace) {
1507 this._hueSpace = hueSpace || {min: 0, max: 360};
1508 this._satSpace = satSpace || 67;
1509 this._lightnessSpace = lightnessSpace || 80;
1510 this._alphaSpace = alphaSpace || 1;
1511 /** @type {!Map<string, string>} */
1512 this._colors = new Map();
1513 }
1514
1515 /**
1516 * @param {string} id
1517 * @param {string} color
1518 */
1519 setColorForID(id, color) {
1520 this._colors.set(id, color);
1521 }
1522
1523 /**
1524 * @param {string} id
1525 * @return {string}
1526 */
1527 colorForID(id) {
1528 var color = this._colors.get(id);
1529 if (!color) {
1530 color = this._generateColorForID(id);
1531 this._colors.set(id, color);
1532 }
1533 return color;
1534 }
1535
1536 /**
1537 * @param {string} id
1538 * @return {string}
1539 */
1540 _generateColorForID(id) {
1541 var hash = String.hashCode(id);
1542 var h = this._indexToValueInSpace(hash, this._hueSpace);
1543 var s = this._indexToValueInSpace(hash >> 8, this._satSpace);
1544 var l = this._indexToValueInSpace(hash >> 16, this._lightnessSpace);
1545 var a = this._indexToValueInSpace(hash >> 24, this._alphaSpace);
1546 return `hsla(${h}, ${s}%, ${l}%, ${a})`;
1547 }
1548
1549 /**
1550 * @param {number} index
1551 * @param {!{min: number, max: number, count: (number|undefined)}|number} spac e
1552 * @return {number}
1553 */
1554 _indexToValueInSpace(index, space) {
1555 if (typeof space === 'number')
1556 return space;
1557 var count = space.count || space.max - space.min;
1558 index %= count;
1559 return space.min + Math.floor(index / (count - 1) * (space.max - space.min)) ;
1560 }
1561 };
1562
1563 /**
1564 * @implements {PerfUI.TimelineGrid.Calculator} 1497 * @implements {PerfUI.TimelineGrid.Calculator}
1565 * @unrestricted 1498 * @unrestricted
1566 */ 1499 */
1567 PerfUI.FlameChart.Calculator = class { 1500 PerfUI.FlameChart.Calculator = class {
1568 /** 1501 /**
1569 * @param {!PerfUI.FlameChartDataProvider} dataProvider 1502 * @param {!PerfUI.FlameChartDataProvider} dataProvider
1570 */ 1503 */
1571 constructor(dataProvider) { 1504 constructor(dataProvider) {
1572 this._dataProvider = dataProvider; 1505 this._dataProvider = dataProvider;
1573 } 1506 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1629 } 1562 }
1630 1563
1631 /** 1564 /**
1632 * @override 1565 * @override
1633 * @return {number} 1566 * @return {number}
1634 */ 1567 */
1635 boundarySpan() { 1568 boundarySpan() {
1636 return this._maximumBoundaries - this._minimumBoundaries; 1569 return this._maximumBoundaries - this._minimumBoundaries;
1637 } 1570 }
1638 }; 1571 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698