mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 00:38:39 +09:00
Introduce a new non-heap-allocated type for holding nsStringBuffer* in the HTML parser.
An innerHTML setter profile shows about 10% of the time being spent under nsHtml5HtmlAttributes::clear, mostly deleting nsStrings.
This commit is contained in:
parent
41758fcea8
commit
1be77e0f3f
34 changed files with 719 additions and 358 deletions
|
|
@ -19,13 +19,15 @@ nsHtml5MetaScanner::sniff(nsHtml5ByteReadable* bytes, nsACString& charset)
|
|||
}
|
||||
|
||||
bool
|
||||
nsHtml5MetaScanner::tryCharset(nsString* charset)
|
||||
nsHtml5MetaScanner::tryCharset(nsHtml5String charset)
|
||||
{
|
||||
// This code needs to stay in sync with
|
||||
// nsHtml5StreamParser::internalEncodingDeclaration. Unfortunately, the
|
||||
// trickery with member fields here leads to some copy-paste reuse. :-(
|
||||
nsAutoCString label;
|
||||
CopyUTF16toUTF8(*charset, label);
|
||||
nsString charset16; // Not Auto, because using it to hold nsStringBuffer*
|
||||
charset.ToString(charset16);
|
||||
CopyUTF16toUTF8(charset16, label);
|
||||
nsAutoCString encoding;
|
||||
if (!EncodingUtils::FindEncodingForLabel(label, encoding)) {
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue