Bug 596168 - Make non-space characters in the "in foreign content" insertion mode set frameset-ok to not OK. rs=jonas, a=jst.

This commit is contained in:
Henri Sivonen
2010-09-15 11:37:55 +03:00
parent 0c29bea23f
commit 50ada1becb
3 changed files with 22 additions and 19 deletions

View File

@@ -191,15 +191,13 @@ nsHtml5TreeBuilder::characters(const PRUnichar* buf, PRInt32 start, PRInt32 leng
}
needToDropLF = PR_FALSE;
}
if (inForeign) {
accumulateCharacters(buf, start, length);
return;
}
switch(mode) {
case NS_HTML5TREE_BUILDER_IN_BODY:
case NS_HTML5TREE_BUILDER_IN_CELL:
case NS_HTML5TREE_BUILDER_IN_CAPTION: {
reconstructTheActiveFormattingElements();
if (!inForeign) {
reconstructTheActiveFormattingElements();
}
}
case NS_HTML5TREE_BUILDER_TEXT: {
accumulateCharacters(buf, start, length);
@@ -243,8 +241,10 @@ nsHtml5TreeBuilder::characters(const PRUnichar* buf, PRInt32 start, PRInt32 leng
accumulateCharacters(buf, start, i - start);
start = i;
}
flushCharacters();
reconstructTheActiveFormattingElements();
if (!inForeign) {
flushCharacters();
reconstructTheActiveFormattingElements();
}
NS_HTML5_BREAK(charactersloop);
}
case NS_HTML5TREE_BUILDER_IN_SELECT:
@@ -343,8 +343,10 @@ nsHtml5TreeBuilder::characters(const PRUnichar* buf, PRInt32 start, PRInt32 leng
accumulateCharacters(buf, start, i - start);
start = i;
}
flushCharacters();
reconstructTheActiveFormattingElements();
if (!inForeign) {
flushCharacters();
reconstructTheActiveFormattingElements();
}
NS_HTML5_BREAK(charactersloop);
}
case NS_HTML5TREE_BUILDER_IN_TABLE: