From cd70f7ed7efd6e43f79868bd04cc97e42c32edac Mon Sep 17 00:00:00 2001 From: "bzbarsky%mit.edu" Date: Mon, 14 May 2007 03:00:14 +0000 Subject: [PATCH] Make use of the wonders of inline-block to produce a much smaller DOM for XML prettyprinting (fewer nodes, fewer frames, etc). Speeds up prettyprinting by a factor of 2 or so over here, with a 25% memory usage decrease. Bug 379683, r+sr=sicking git-svn-id: svn://10.0.0.236/trunk@226370 18797224-902f-48f8-a5cc-f745e15eee43 --- .../xml/document/resources/XMLMonoPrint.css | 2 +- .../xml/document/resources/XMLPrettyPrint.css | 29 +++--- .../xml/document/resources/XMLPrettyPrint.xml | 4 +- .../xml/document/resources/XMLPrettyPrint.xsl | 94 +++++++++---------- 4 files changed, 61 insertions(+), 68 deletions(-) diff --git a/mozilla/content/xml/document/resources/XMLMonoPrint.css b/mozilla/content/xml/document/resources/XMLMonoPrint.css index b77748b4738..cd814e7d7f2 100755 --- a/mozilla/content/xml/document/resources/XMLMonoPrint.css +++ b/mozilla/content/xml/document/resources/XMLMonoPrint.css @@ -38,7 +38,7 @@ @import url("chrome://global/content/xml/XMLPrettyPrint.css"); -#top > table { +#top > .expander-open { font-family: monospace; white-space: pre; } diff --git a/mozilla/content/xml/document/resources/XMLPrettyPrint.css b/mozilla/content/xml/document/resources/XMLPrettyPrint.css index 576b9555535..a6994a8da35 100644 --- a/mozilla/content/xml/document/resources/XMLPrettyPrint.css +++ b/mozilla/content/xml/document/resources/XMLPrettyPrint.css @@ -45,31 +45,25 @@ margin-bottom: 1em; } -table { - border-spacing: 0; - margin: 0; -} - -td { - padding: 0; -} - -.indent { - margin-left: 1em; -} - -.spacer { - width: 1em; +.expander-content { + padding-left: 1em; } .expander { cursor: pointer; -moz-user-select: none; - vertical-align: top; text-align: center; + vertical-align: top; + width: 1em; + display: inline-block; + margin-left: -1em; } -.expander-closed > * > .expander-content { +#top > .expander-open, #top > .expander-closed { + margin-left: 1em; +} + +.expander-closed > .expander-content { display: none; } @@ -77,3 +71,4 @@ td { font-family: monospace; white-space: pre; } + diff --git a/mozilla/content/xml/document/resources/XMLPrettyPrint.xml b/mozilla/content/xml/document/resources/XMLPrettyPrint.xml index 3e9ec98dbd3..842233613df 100644 --- a/mozilla/content/xml/document/resources/XMLPrettyPrint.xml +++ b/mozilla/content/xml/document/resources/XMLPrettyPrint.xml @@ -62,9 +62,9 @@ -
- < +
+ < - /> + />
-
- < +
+ < - > + > - </ + </ - > + >
- - - - - -
- < - - - > +
+ -
+ < + + + > - </ - - > -
+
+ + </ + + > +
- = + = "" -
+
-
+
<? @@ -123,20 +120,20 @@ - - - - - -
- <? -
- ?> -
+
+ + +
+ <? + +
+ ?> +
+
-
+
<!-- --> @@ -144,20 +141,21 @@ - - - - - -
- <!-- -
- --> -
+
+ + +
+ <!-- +
+ +
+ --> +
+
- −
+