gecko-dev/parser/htmlparser
Kris Maglione a1fde10261 Bug 1729005: Recursively block parsing for parser blocking scripts. r=hsivonen
Bug 1333990 added the ability to have multiple parser blockers at the same
time, so we no longer need to guard against recursively blocking. What's more,
if we do, and skip calling `BlockParser` while it's blocked for another reason,
we still call `UnblockParser` when we receive script data, at which point we
crash.

This patch moves the XHTML parser's behavior closer in line with the HTML
parser's.

The only way I've seen this manifest as a bug is when we have an XHTML
document with a top-level <script> element, and an extension with content
scripts that cause us to block parsing when we see that top-level element and
need to wait for them to compile.

Differential Revision: https://phabricator.services.mozilla.com/D145513
2022-05-11 22:15:14 +00:00
..
tests Bug 1751796 - XML parsererror eats two first letters. r=bholley 2022-04-05 14:10:11 +00:00
CNavDTD.cpp Bug 1749935 - Remove GetDTD. r=hsivonen 2022-02-14 13:03:52 +00:00
CNavDTD.h
CParserContext.cpp Bug 1749935 - Remove nsITokenizer. r=hsivonen 2022-02-14 13:03:50 +00:00
CParserContext.h Bug 1749935 - Remove nsITokenizer. r=hsivonen 2022-02-14 13:03:50 +00:00
moz.build Bug 1749935 - Create nsParser directly instead of with a CID. r=hsivonen 2022-02-14 13:03:51 +00:00
nsElementTable.cpp
nsElementTable.h
nsExpatDriver.cpp Bug 1751796 - XML parsererror eats two first letters. r=bholley 2022-04-05 14:10:11 +00:00
nsExpatDriver.h Bug 1751796 - XML parsererror eats two first letters. r=bholley 2022-04-05 14:10:11 +00:00
nsHTMLTagList.h
nsHTMLTags.cpp Bug 1749935 - Create nsParser directly instead of with a CID. r=hsivonen 2022-02-14 13:03:51 +00:00
nsHTMLTags.h
nsIContentSink.h Bug 1749935 - Mark nsIParser::WillResume(Impl) as infallible. r=hsivonen 2022-02-14 13:03:43 +00:00
nsIDTD.h Bug 1749935 - Remove GetDTD. r=hsivonen 2022-02-14 13:03:52 +00:00
nsIExpatSink.idl
nsIFragmentContentSink.h Bug 1749935 - Remove nsIParser::ParseFragment/Reset. r=hsivonen 2022-02-14 13:03:51 +00:00
nsIHTMLContentSink.h
nsIParser.h Bug 1749935 - Remove GetDTD. r=hsivonen 2022-02-14 13:03:52 +00:00
nsParser.cpp Bug 1729005: Recursively block parsing for parser blocking scripts. r=hsivonen 2022-05-11 22:15:14 +00:00
nsParser.h Bug 1749935 - Simplify nsParser::Initialize. r=hsivonen 2022-02-14 13:03:52 +00:00
nsParserBase.h Bug 1749935 - Remove nsIParser::GetChannel. r=hsivonen 2022-02-14 13:03:44 +00:00
nsParserConstants.h
nsParserMsgUtils.cpp
nsParserMsgUtils.h
nsRLBoxExpatDriver.h Bug 1744460 part 2 - Update woff2 RLBoxSandboxPool to track minimum sandbox size r=bholley 2021-12-09 00:01:17 +00:00
nsScanner.cpp Bug 1749935 - Make mSlidingBuffer a UniquePtr. r=hsivonen 2022-02-14 13:03:48 +00:00
nsScanner.h Bug 1749935 - Make mSlidingBuffer a UniquePtr. r=hsivonen 2022-02-14 13:03:48 +00:00
nsScannerString.cpp
nsScannerString.h