Elliott Sprehn 0275d42ac7 Add the <t> element and ignore whitespace outside it.
We now only preserve the whitespace inside a <t> element inside
the parser. This removes the known n^2 from reattaching whitespace
which should make parsing and appending nodes faster. I also
removed the dead WhitespaceMode code from the parser, and made
the dom-seralizer.sky auto indent the markup so the test output
would be readable.

R=abarth@chromium.org

Review URL: https://codereview.chromium.org/867963006
2015-01-23 16:50:00 -08:00
..
2014-12-02 10:09:35 -08:00

The empty, cr, and utf16 tests don't import the test framework so they currently hang until timeout. Really they should just check that nothing crashes. For now they are disabled.

We should also test the following (each line is its own test):

<
<!
<!-
<!--
<!---
<!----
<!---->
<!----->
<a
<aa
<a 
<a a
<a a=
<a a=&
<a a=&#
<a a=&#x
<a a=&#x1
<a a=&#x1;
<a a=&#1
<a a=&#1;
<a a=&a
<a a=&a;
<a a=&;
<a a='
<a a="
<a a=a
<a>
<a >
<a a>
<a a=>
<a a=&>
<a a=&#>
<a a=&#x>
<a a=&#x1>
<a a=&#x1;>
<a a=&#1>
<a a=&#1;>
<a a=&a>
<a a=&a;>
<a a=&;>
<a a=''>
<a a="">
<a a=a>
<a a >
<a a= >
<a a=& >
<a a=&# >
<a a=&#x >
<a a=&#x1 >
<a a=&#x1; >
<a a=&#1 >
<a a=&#1; >
<a a=&a >
<a a=&a; >
<a a=&; >
<a a='' >
<a a="" >
<a a=a >
</a
</aa
</a 
</a a
</a a=
</a a=&
</a a=&#
</a a=&#x
</a a=&#x1
</a a=&#x1;
</a a=&#1
</a a=&#1;
</a a=&a
</a a=&a;
</a a=&;
</a a='
</a a="
</a a=a
</a>
</a >
</a a>
</a a=>
</a a=&>
</a a=&#>
</a a=&#x>
</a a=&#x1>
</a a=&#x1;>
</a a=&#1>
</a a=&#1;>
</a a=&a>
</a a=&a;>
</a a=&;>
</a a=''>
</a a="">
</a a=a>
</a a >
</a a= >
</a a=& >
</a a=&# >
</a a=&#x >
</a a=&#x1 >
</a a=&#x1; >
</a a=&#1 >
</a a=&#1; >
</a a=&a >
</a a=&a; >
</a a=&; >
</a a='' >
</a a="" >
</a a=a >
a
&
&#
&#x
&#x1
&#x1;
&#1
&#1;
&a
&a;
&;

We should also test:

  • multiple elements per page
  • signature stuff