Bug 601604 - Emit ]] or ] when ]]EOF or ]EOF appears in a CDATA section in text/html. rs=jonas, a=jst.
This commit is contained in:
@@ -6471,6 +6471,12 @@ public class Tokenizer implements Locator {
|
||||
handleNcrValue(returnState);
|
||||
state = returnState;
|
||||
continue;
|
||||
case CDATA_RSQB:
|
||||
tokenHandler.characters(Tokenizer.RSQB_RSQB, 0, 1);
|
||||
break eofloop;
|
||||
case CDATA_RSQB_RSQB:
|
||||
tokenHandler.characters(Tokenizer.RSQB_RSQB, 0, 2);
|
||||
break eofloop;
|
||||
case DATA:
|
||||
default:
|
||||
break eofloop;
|
||||
|
||||
@@ -3684,6 +3684,14 @@ nsHtml5Tokenizer::eof()
|
||||
state = returnState;
|
||||
continue;
|
||||
}
|
||||
case NS_HTML5TOKENIZER_CDATA_RSQB: {
|
||||
tokenHandler->characters(nsHtml5Tokenizer::RSQB_RSQB, 0, 1);
|
||||
NS_HTML5_BREAK(eofloop);
|
||||
}
|
||||
case NS_HTML5TOKENIZER_CDATA_RSQB_RSQB: {
|
||||
tokenHandler->characters(nsHtml5Tokenizer::RSQB_RSQB, 0, 2);
|
||||
NS_HTML5_BREAK(eofloop);
|
||||
}
|
||||
case NS_HTML5TOKENIZER_DATA:
|
||||
default: {
|
||||
NS_HTML5_BREAK(eofloop);
|
||||
|
||||
@@ -1,17 +1,8 @@
|
||||
#data
|
||||
<svg><![CDATA[]]
|
||||
Placeholder
|
||||
#errors
|
||||
#document
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <svg svg>
|
||||
|
||||
#data
|
||||
<svg><![CDATA[]
|
||||
#errors
|
||||
#document
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <svg svg>
|
||||
| "Placeholder"
|
||||
|
||||
@@ -86,6 +86,26 @@
|
||||
| <svg svg>
|
||||
| "]] >"
|
||||
|
||||
#data
|
||||
<svg><![CDATA[]]
|
||||
#errors
|
||||
#document
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <svg svg>
|
||||
| "]]"
|
||||
|
||||
#data
|
||||
<svg><![CDATA[]
|
||||
#errors
|
||||
#document
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <svg svg>
|
||||
| "]"
|
||||
|
||||
#data
|
||||
<svg><![CDATA[]>a
|
||||
#errors
|
||||
|
||||
Reference in New Issue
Block a user