diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:35:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:35:49 +0000 |
commit | d8bbc7858622b6d9c278469aab701ca0b609cddf (patch) | |
tree | eff41dc61d9f714852212739e6b3738b82a2af87 /parser/html/nsHtml5Tokenizer.cpp | |
parent | Releasing progress-linux version 125.0.3-1~progress7.99u1. (diff) | |
download | firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.tar.xz firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.zip |
Merging upstream version 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(); |