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

Unified Diff: tools/win/sizeviewer/template.html

Issue 801123002: Improve sizeviewer for Windows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 6 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/win/sizeviewer/sizeviewer.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/win/sizeviewer/template.html
diff --git a/tools/win/sizeviewer/template.html b/tools/win/sizeviewer/template.html
index ffbffbb1f1574a2c7ec30b20d12e640bee97b527..a5fe1332e8a1096c02fb84121546d21dd5ba76f2 100644
--- a/tools/win/sizeviewer/template.html
+++ b/tools/win/sizeviewer/template.html
@@ -1,199 +1,380 @@
<!DOCTYPE html>
<html>
<head>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
- <link type="text/css" rel="stylesheet" href="style.css"/>
- <script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
+ <script type="text/javascript" src="https://www.google.com/jsapi"></script>
<style type="text/css">
+/* ----------------------------------------- Slightly modified codemirror.css */
-body {
- overflow: hidden;
- margin: 0;
- font-size: 14px;
- font-family: "Helvetica Neue", Helvetica;
+/* BASICS */
+
+.CodeMirror {
+ /* Set height, width, borders, and global font properties here */
+ font-family: 'Consolas', 'Monaco', 'Courier';
+ font-size: 12px;
+ height: 300px;
+}
+.CodeMirror-scroll {
+ /* Set scrolling behaviour here */
+ overflow: auto;
}
-#chart, #header, #footer {
- position: absolute;
- top: 0;
+/* PADDING */
+
+.CodeMirror-lines {
+ padding: 4px 0; /* Vertical padding around content */
+}
+.CodeMirror pre {
+ padding: 0 4px; /* Horizontal padding of content */
}
-#header, #footer {
- z-index: 1;
- display: block;
- font-size: 36px;
- font-weight: 300;
- text-shadow: 0 1px 0 #fff;
+.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+ background-color: white; /* The little square between H and V scrollbars */
}
-#header.inverted, #footer.inverted {
- color: #fff;
- text-shadow: 0 1px 4px #000;
+/* GUTTER */
+
+.CodeMirror-gutters {
+ border-right: 1px solid #ddd;
+ background-color: #f7f7f7;
+ white-space: nowrap;
+}
+.CodeMirror-linenumbers {}
+.CodeMirror-linenumber {
+ padding: 0 3px 0 5px;
+ min-width: 20px;
+ text-align: right;
+ color: #999;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
}
-#header {
- top: 80px;
- left: 140px;
- width: 1000px;
+.CodeMirror-guttermarker { color: black; }
+.CodeMirror-guttermarker-subtle { color: #999; }
+
+/* CURSOR */
+
+.CodeMirror div.CodeMirror-cursor {
+ border-left: 1px solid black;
+}
+/* Shown when moving in bi-directional text */
+.CodeMirror div.CodeMirror-secondarycursor {
+ border-left: 1px solid silver;
+}
+.CodeMirror.cm-fat-cursor div.CodeMirror-cursor {
+ width: auto;
+ border: 0;
+ background: #7e7;
+}
+.CodeMirror.cm-fat-cursor div.CodeMirror-cursors {
+ z-index: 1;
}
-#footer {
- top: 1080px;
- right: 140px;
- text-align: right;
+.cm-animate-fat-cursor {
+ width: auto;
+ border: 0;
+ -webkit-animation: blink 1.06s steps(1) infinite;
+ -moz-animation: blink 1.06s steps(1) infinite;
+ animation: blink 1.06s steps(1) infinite;
}
+@-moz-keyframes blink {
+ 0% { background: #7e7; }
+ 50% { background: none; }
+ 100% { background: #7e7; }
+}
+@-webkit-keyframes blink {
+ 0% { background: #7e7; }
+ 50% { background: none; }
+ 100% { background: #7e7; }
+}
+@keyframes blink {
+ 0% { background: #7e7; }
+ 50% { background: none; }
+ 100% { background: #7e7; }
+}
+
+/* Can style cursor different in overwrite (non-insert) mode */
+div.CodeMirror-overwrite div.CodeMirror-cursor {}
-rect {
- fill: none;
- pointer-events: all;
+.cm-tab { display: inline-block; text-decoration: inherit; }
+
+.CodeMirror-ruler {
+ border-left: 1px solid #ccc;
+ position: absolute;
}
-pre {
- font-size: 18px;
+/* DEFAULT THEME */
+
+.cm-s-default .cm-keyword {color: #708;}
+.cm-s-default .cm-atom {color: #219;}
+.cm-s-default .cm-number {color: #164;}
+.cm-s-default .cm-def {color: #00f;}
+.cm-s-default .cm-variable,
+.cm-s-default .cm-punctuation,
+.cm-s-default .cm-property,
+.cm-s-default .cm-operator {}
+.cm-s-default .cm-variable-2 {color: #05a;}
+.cm-s-default .cm-variable-3 {color: #085;}
+.cm-s-default .cm-comment {color: #a50;}
+.cm-s-default .cm-string {color: #a11;}
+.cm-s-default .cm-string-2 {color: #f50;}
+.cm-s-default .cm-meta {color: #555;}
+.cm-s-default .cm-qualifier {color: #555;}
+.cm-s-default .cm-builtin {color: #30a;}
+.cm-s-default .cm-bracket {color: #997;}
+.cm-s-default .cm-tag {color: #170;}
+.cm-s-default .cm-attribute {color: #00c;}
+.cm-s-default .cm-header {color: blue;}
+.cm-s-default .cm-quote {color: #090;}
+.cm-s-default .cm-hr {color: #999;}
+.cm-s-default .cm-link {color: #00c;}
+
+.cm-negative {color: #d44;}
+.cm-positive {color: #292;}
+.cm-header, .cm-strong {font-weight: bold;}
+.cm-em {font-style: italic;}
+.cm-link {text-decoration: underline;}
+.cm-strikethrough {text-decoration: line-through;}
+
+.cm-s-default .cm-error {color: #f00;}
+.cm-invalidchar {color: #f00;}
+
+/* Default styles for common addons */
+
+div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
+div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
+.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
+.CodeMirror-activeline-background {background: #e8f2ff;}
+
+/* STOP */
+
+/* The rest of this file contains styles related to the mechanics of
+ the editor. You probably shouldn't touch them. */
+
+.CodeMirror {
+ line-height: 1;
+ position: relative;
+ overflow: hidden;
+ background: white;
+ color: black;
}
-line {
- stroke: #000;
- stroke-width: 1.5px;
+.CodeMirror-scroll {
+ /* 30px is the magic margin used to hide the element's real scrollbars */
+ /* See overflow: hidden in .CodeMirror */
+ margin-bottom: -30px; margin-right: -30px;
+ padding-bottom: 30px;
+ height: 100%;
+ outline: none; /* Prevent dragging from highlighting the element */
+ position: relative;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+.CodeMirror-sizer {
+ position: relative;
+ border-right: 30px solid transparent;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
}
-.string, .regexp {
- color: #f39;
+/* The fake, visible scrollbars. Used to force redraw during scrolling
+ before actuall scrolling happens, thus preventing shaking and
+ flickering artifacts. */
+.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
+ position: absolute;
+ z-index: 6;
+ display: none;
+}
+.CodeMirror-vscrollbar {
+ right: 0; top: 0;
+ overflow-x: hidden;
+ overflow-y: scroll;
+}
+.CodeMirror-hscrollbar {
+ bottom: 0; left: 0;
+ overflow-y: hidden;
+ overflow-x: scroll;
+}
+.CodeMirror-scrollbar-filler {
+ right: 0; bottom: 0;
+}
+.CodeMirror-gutter-filler {
+ left: 0; bottom: 0;
}
-.keyword {
- color: #00c;
+.CodeMirror-gutters {
+ position: absolute; left: 0; top: 0;
+ padding-bottom: 30px;
+ z-index: 3;
+}
+.CodeMirror-gutter {
+ white-space: normal;
+ height: 100%;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ padding-bottom: 30px;
+ margin-bottom: -32px;
+ display: inline-block;
+ /* Hack to make IE7 behave */
+ *zoom:1;
+ *display:inline;
+}
+.CodeMirror-gutter-wrapper {
+ position: absolute;
+ z-index: 4;
+ height: 100%;
+}
+.CodeMirror-gutter-elt {
+ position: absolute;
+ cursor: default;
+ z-index: 4;
}
-.comment {
- color: #777;
- font-style: oblique;
+.CodeMirror-lines {
+ cursor: text;
+ min-height: 1px; /* prevents collapsing before first draw */
+}
+.CodeMirror pre {
+ /* Reset some styles that the rest of the page might have set */
+ -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
+ border-width: 0;
+ background: transparent;
+ font-family: inherit;
+ font-size: inherit;
+ margin: 0;
+ white-space: pre;
+ word-wrap: normal;
+ line-height: inherit;
+ color: inherit;
+ z-index: 2;
+ position: relative;
+ overflow: visible;
+}
+.CodeMirror-wrap pre {
+ word-wrap: break-word;
+ white-space: pre-wrap;
+ word-break: normal;
}
-.number {
- color: #369;
+.CodeMirror-linebackground {
+ position: absolute;
+ left: 0; right: 0; top: 0; bottom: 0;
+ z-index: 0;
}
-.class, .special {
- color: #1181B8;
+.CodeMirror-linewidget {
+ position: relative;
+ z-index: 2;
+ overflow: auto;
}
-a:link, a:visited {
- color: #000;
- text-decoration: none;
+.CodeMirror-widget {}
+
+.CodeMirror-wrap .CodeMirror-scroll {
+ overflow-x: hidden;
}
-a:hover {
- color: #666;
+.CodeMirror-measure {
+ position: absolute;
+ width: 100%;
+ height: 0;
+ overflow: hidden;
+ visibility: hidden;
}
+.CodeMirror-measure pre { position: static; }
-.hint {
+.CodeMirror div.CodeMirror-cursor {
position: absolute;
- right: 0;
- width: 1280px;
- font-size: 12px;
- color: #999;
+ border-right: none;
+ width: 0;
+}
+
+div.CodeMirror-cursors {
+ visibility: hidden;
+ position: relative;
+ z-index: 3;
}
-.chart {
- display: block;
- margin: auto;
- margin-top: 60px;
- font-size: 11px;
+.CodeMirror-focused div.CodeMirror-cursors {
+ visibility: visible;
}
-rect {
- stroke: #eee;
- fill: #aaa;
- fill-opacity: .8;
+.CodeMirror-selected { background: #d9d9d9; }
+.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
+.CodeMirror-crosshair { cursor: crosshair; }
+
+.cm-searching {
+ background: #ffa;
+ background: rgba(255, 255, 0, .4);
}
-rect.parent {
- cursor: pointer;
- fill: steelblue;
+/* IE7 hack to prevent it from returning funny offsetTops on the spans */
+.CodeMirror span { *vertical-align: text-bottom; }
+
+/* Used to force a border model for a node */
+.cm-force-border { padding-right: .1px; }
+
+@media print {
+ /* Hide the cursor when printing */
+ .CodeMirror div.CodeMirror-cursors {
+ visibility: hidden;
+ }
}
-text {
- pointer-events: none;
+/* See issue #2901 */
+.cm-tab-wrap-hack:after { content: ''; }
+
+/* Help users use markselection to safely style text background */
+span.CodeMirror-selectedtext { background: none; }
+
+/* ---------------------------------- End of slightly modified codemirror.css */
+
+body {
+ font-family: "Helvetica Neue", Helvetica, Arial;
}
+#outer {
+ width: 1500px;
+ height: 800px;
+ display: flex;
+}
+.CodeMirror {
+ border: 1px solid black;
+ margin-top: 3px;
+}
+.CodeMirror-linenumbers {
+ width: 150px;
+}
+.linebg-top10 { background: #f88; }
+.linebg-top25 { background: #fbb; }
+.linebg-top50 { background: #fee; }
+.symbol-tag { background: #eee; }
+.charts-tooltip { z-index: 1000; }
</style>
</head>
<body>
- <div id="body">
- <div id="footer">
- $dllname
+ <h1 id='title'>Loading...</h1>
+ <div id="outer">
+ <div id="tree>">
+ <button onclick="tree.goUpAndDraw()">Go up</button>
+ <div id="chart_div" style="width: 600px; height: 750px;">
+ </div>
</div>
- </div>
- <script type="text/javascript">
-
-var w = 1120,
- h = 1000,
- x = d3.scale.linear().range([0, w]),
- y = d3.scale.linear().range([0, h]);
-
-var vis = d3.select("#body").append("div")
- .attr("class", "chart")
- .style("width", w + "px")
- .style("height", h + "px")
- .append("svg:svg")
- .attr("width", w)
- .attr("height", h);
-
-var partition = d3.layout.partition()
- .value(function(d) { return d.size; });
-
-(function(root) {
- var g = vis.selectAll("g")
- .data(partition.nodes(root))
- .enter().append("svg:g")
- .attr("transform", function(d) { return "translate(" + x(d.y) + "," + y(d.x) + ")"; })
- .on("click", click);
-
- var kx = w / root.dx,
- ky = h / 1;
-
- g.append("svg:rect")
- .attr("width", root.dy * kx)
- .attr("height", function(d) { return d.dx * ky; })
- .attr("class", function(d) { return d.children ? "parent" : "child"; });
-
- g.append("svg:text")
- .attr("transform", transform)
- .attr("dy", ".35em")
- .style("opacity", function(d) { return d.dx * ky > 12 ? 1 : 0; })
- .text(function(d) { return d.name; })
-
- d3.select(window)
- .on("click", function() { click(root); })
-
- function click(d) {
- if (!d.children) return;
-
- kx = (d.y ? w - 40 : w) / (1 - d.y);
- ky = h / d.dx;
- x.domain([d.y, 1]).range([d.y ? 40 : 0, w]);
- y.domain([d.x, d.x + d.dx]);
-
- var t = g.transition()
- .duration(d3.event.altKey ? 7500 : 750)
- .attr("transform", function(d) { return "translate(" + x(d.y) + "," + y(d.x) + ")"; });
-
- t.select("rect")
- .attr("width", d.dy * kx)
- .attr("height", function(d) { return d.dx * ky; });
-
- t.select("text")
- .attr("transform", transform)
- .style("opacity", function(d) { return d.dx * ky > 12 ? 1 : 0; });
-
- d3.event.stopPropagation();
- }
+ <div id=source">
+ <textarea id="source_view" style="width: 850px; height: 600px;">
+/*
- function transform(d) {
- return "translate(8," + d.dx * ky / 2 + ")";
- }
-})($data);
+Drill down on the left to an interesting file to see a line-by-line breakdown.
+
+Largest lines are annotated here in darkest red.
- </script>
+Click on a line with bytes assigned to see contributing symbols below
+
+*/
+ </textarea>
+ <textarea id="symlist_view" style="width: 850px; height: 100px;">
+ </textarea>
+ </div>
</body>
-</html>
+<!--
+Various things appended: codemirror.js, clike.js, various g_xxx variables ending
+with main.js, followed by the closing html tag.
+-->
« no previous file with comments | « tools/win/sizeviewer/sizeviewer.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698