diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:34:42 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:34:42 +0000 |
commit | da4c7e7ed675c3bf405668739c3012d140856109 (patch) | |
tree | cdd868dba063fecba609a1d819de271f0d51b23e /parser/html/nsHtml5Tokenizer.cpp | |
parent | Adding upstream version 125.0.3. (diff) | |
download | firefox-da4c7e7ed675c3bf405668739c3012d140856109.tar.xz firefox-da4c7e7ed675c3bf405668739c3012d140856109.zip |
Adding upstream version 126.0.upstream/126.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'parser/html/nsHtml5Tokenizer.cpp')
-rw-r--r-- | parser/html/nsHtml5Tokenizer.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/parser/html/nsHtml5Tokenizer.cpp b/parser/html/nsHtml5Tokenizer.cpp index 5092bf4bf6..127c0a77fc 100644 --- a/parser/html/nsHtml5Tokenizer.cpp +++ b/parser/html/nsHtml5Tokenizer.cpp @@ -126,6 +126,7 @@ nsHtml5Tokenizer::nsHtml5Tokenizer(nsHtml5TreeBuilder* tokenHandler, : nullptr), newAttributesEachTime(!tokenHandler->HasBuilder()), shouldSuspend(false), + keepBuffer(false), confident(false), line(0), attributeLine(0), @@ -146,6 +147,18 @@ void nsHtml5Tokenizer::initLocation(nsHtml5String newPublicId, bool nsHtml5Tokenizer::isViewingXmlSource() { return viewingXmlSource; } +void nsHtml5Tokenizer::setKeepBuffer(bool keepBuffer) { + this->keepBuffer = keepBuffer; +} + +bool nsHtml5Tokenizer::dropBufferIfLongerThan(int32_t length) { + if (strBuf.length > length) { + strBuf = nullptr; + return true; + } + return false; +} + void nsHtml5Tokenizer::setState(int32_t specialTokenizerState) { this->stateSave = specialTokenizerState; this->endTagExpectation = nullptr; @@ -5022,7 +5035,9 @@ void nsHtml5Tokenizer::emitOrAppendOne(const char16_t* val, } void nsHtml5Tokenizer::end() { - strBuf = nullptr; + if (!keepBuffer) { + strBuf = nullptr; + } doctypeName = nullptr; if (systemIdentifier) { systemIdentifier.Release(); @@ -5148,7 +5163,9 @@ void nsHtml5Tokenizer::loadState(nsHtml5Tokenizer* other) { void nsHtml5Tokenizer::initializeWithoutStarting() { confident = false; - strBuf = nullptr; + if (!keepBuffer) { + strBuf = nullptr; + } line = 1; attributeLine = 1; resetToDataState(); |