mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-05 08:35:26 +00:00
cd67e85c8d
This code is super-hairy, but I think this is the minimum amount of changes that we need. nsPlainTextSerializer::IsInPre() before this patch is completely broken, and I changed it to maintain a stack of bools representing whether the elements that we saw as we were traversing the tree are preformatted or not. nsXHTMLContentSerializer maintains this information using a counter, which is broken in case pre and non-preformatted elements are stacked underneath each other, but I'm not sure why this code is using a counter and I didn't want to change it drastically, so for now I'm just making it look at the element's style first as opposed to its tag name. Follow-up work may include exploring whether nsXHTMLContentSerializer should use a stack similar to nsPlainTextSerializer, and also audit this code for more places where things are hardcoded based on tag names where we should be really looking at the style.
61 lines
2.2 KiB
HTML
61 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
<title>Test for html serializer</title>
|
|
</head>
|
|
<body>
|
|
<p>Hello world</p>
|
|
<p> Lorem ipsum dolor sit amet, <strong>consectetuer</strong>
|
|
adipiscing elit. Nam eu sapien. Sed viverra lacus. Donec quis
|
|
ipsum. Nunc cursus aliquet lectus. Nunc vitae eros. Class aptent
|
|
taciti <span>sociosqu ad litora</span> torquent <a
|
|
href="file_htmlserializer_1_result1.html">per conubia</a>
|
|
nostra, per inceptos hymenaeos. </p>
|
|
<ul>
|
|
<li>Nam tellus massa,éàèçù</li>
|
|
<li> fringilla aliquam,</li>
|
|
<li> fermentum sit amet,</li>
|
|
<li>posuere ac,</li>
|
|
<li> est.</li>
|
|
</ul>
|
|
<div> Duis tristique egestas ligula. Mauris quis felis. </div>
|
|
<script type="text/javascript">
|
|
// a script which does nothing
|
|
|
|
function nothing() {
|
|
var hey="hello";
|
|
var aLongLine="consectetuer molestie. Curabitur consectetuer urna a sem. Nunc non urna. Cras in massa. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere";
|
|
}
|
|
|
|
var a=3, b=4, c=7;
|
|
// here we test the non-serialization of xml character into javascript content
|
|
var d = a < b && a > c;
|
|
</script>
|
|
<ol>
|
|
<li>Fusce a ipsum</li>
|
|
<li> non lacus posuere aliquet.</li>
|
|
<li> Sed fermentum posuere nulla</li>
|
|
<li> Donec tempor.</li>
|
|
</ol>
|
|
Donec sollicitudin tortor
|
|
<!-- test on
|
|
comments -->
|
|
<pre>lacinia <em>libero</em> ullamcorper laoreet.<br>
|
|
Cras quis<br>
|
|
nisi at odio<br>
|
|
consectetuer molestie. Curabitur consectetuer urna a sem. Nunc non
|
|
urna. Cras in massa. Vestibulum ante ipsum primis in faucibus orci
|
|
luctus et ultrices posuere cubilia Curae; Sed sollicitudin, nulla
|
|
at pharetra rutrum, <br>
|
|
lacus risus pulvinar ante.
|
|
</pre>
|
|
ut gravida eros leo ut libero
|
|
<p></p>
|
|
<noscript>
|
|
<p>Curabitur consectetuer urna a sem. Nunc & non urna. Cras in massa. Vestibulum ante ipsum primis in faucibus orci luctus</p></noscript>
|
|
<p>Nam eu sapien. Sed viverra lacus. Donec quis ipsum. Nunc cursus
|
|
aliquet lectus. Nunc vitae eros. Class aptent taciti</p>
|
|
</body>
|
|
</html>
|