| Index: tracing/tracing/ui/analysis/memory_dump_heap_details_util.html
|
| diff --git a/tracing/tracing/ui/analysis/memory_dump_heap_details_util.html b/tracing/tracing/ui/analysis/memory_dump_heap_details_util.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d0c33aca21a800a359bf42c58bd758b9a625d369
|
| --- /dev/null
|
| +++ b/tracing/tracing/ui/analysis/memory_dump_heap_details_util.html
|
| @@ -0,0 +1,106 @@
|
| +<!DOCTYPE html>
|
| +<!--
|
| +Copyright 2016 The Chromium Authors. All rights reserved.
|
| +Use of this source code is governed by a BSD-style license that can be
|
| +found in the LICENSE file.
|
| +-->
|
| +
|
| +<link rel="import" href="/tracing/base/color_scheme.html">
|
| +<link rel="import" href="/tracing/ui/analysis/memory_dump_sub_view_util.html">
|
| +
|
| +<script>
|
| +'use strict';
|
| +
|
| +tr.exportTo('tr.ui.analysis', function() {
|
| +
|
| + var LATIN_SMALL_LETTER_F_WITH_HOOK = String.fromCharCode(0x0192);
|
| + var CIRCLED_LATIN_CAPITAL_LETTER_T = String.fromCharCode(0x24C9);
|
| +
|
| + /** @{enum} */
|
| + var HeapDetailsRowDimension = {
|
| + ROOT: {},
|
| + STACK_FRAME: {
|
| + label: 'Stack frame',
|
| + symbol: LATIN_SMALL_LETTER_F_WITH_HOOK,
|
| + color: 'heap_dump_stack_frame'
|
| + },
|
| + OBJECT_TYPE: {
|
| + label: 'Object type',
|
| + symbol: CIRCLED_LATIN_CAPITAL_LETTER_T,
|
| + color: 'heap_dump_object_type'
|
| + }
|
| + };
|
| +
|
| + /** @{constructor} */
|
| + function HeapDetailsTitleColumn(title) {
|
| + tr.ui.analysis.TitleColumn.call(this, title);
|
| + }
|
| +
|
| + HeapDetailsTitleColumn.prototype = {
|
| + __proto__: tr.ui.analysis.TitleColumn.prototype,
|
| +
|
| + formatTitle: function(row) {
|
| + if (row.dimension === HeapDetailsRowDimension.ROOT)
|
| + return row.title;
|
| +
|
| + var symbolEl = document.createElement('span');
|
| + Polymer.dom(symbolEl).textContent = row.dimension.symbol;
|
| + symbolEl.title = row.dimension.label;
|
| + symbolEl.style.color = tr.b.ColorScheme.getColorForReservedNameAsString(
|
| + row.dimension.color);
|
| + symbolEl.style.paddingRight = '4px';
|
| + symbolEl.style.cursor = 'help';
|
| + symbolEl.style.fontWeight = 'bold';
|
| +
|
| + var titleEl = document.createElement('span');
|
| + Polymer.dom(titleEl).appendChild(symbolEl);
|
| + Polymer.dom(titleEl).appendChild(document.createTextNode(row.title));
|
| +
|
| + return titleEl;
|
| + }
|
| + };
|
| +
|
| + /** @constructor */
|
| + function AllocationCountColumn(name, cellPath, aggregationMode) {
|
| + tr.ui.analysis.DetailsNumericMemoryColumn.call(
|
| + this, name, cellPath, aggregationMode);
|
| + }
|
| +
|
| + AllocationCountColumn.prototype = {
|
| + __proto__: tr.ui.analysis.DetailsNumericMemoryColumn.prototype,
|
| +
|
| + getFormattingContext: function(unit) {
|
| + return { minimumFractionDigits: 0 };
|
| + }
|
| + };
|
| +
|
| + var HEAP_DETAILS_COLUMN_RULES = [
|
| + {
|
| + condition: 'Size',
|
| + importance: 3,
|
| + columnConstructor: tr.ui.analysis.DetailsNumericMemoryColumn
|
| + },
|
| + {
|
| + condition: 'Count',
|
| + importance: 2,
|
| + columnConstructor: AllocationCountColumn
|
| + },
|
| + {
|
| + condition: 'Average size per allocation',
|
| + importance: 1,
|
| + columnConstructor: tr.ui.analysis.DetailsNumericMemoryColumn
|
| + },
|
| + {
|
| + importance: 0,
|
| + columnConstructor: tr.ui.analysis.DetailsNumericMemoryColumn
|
| + }
|
| + ];
|
| +
|
| + return {
|
| + HeapDetailsRowDimension: HeapDetailsRowDimension,
|
| + HeapDetailsTitleColumn: HeapDetailsTitleColumn,
|
| + AllocationCountColumn: AllocationCountColumn,
|
| + HEAP_DETAILS_COLUMN_RULES: HEAP_DETAILS_COLUMN_RULES
|
| + };
|
| +});
|
| +</script>
|
|
|