mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-15 08:53:07 +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
|
|
@ -1261,7 +1261,7 @@ nsHtml5StreamParser::PreferredForInternalEncodingDecl(nsACString& aEncoding)
|
|||
}
|
||||
|
||||
bool
|
||||
nsHtml5StreamParser::internalEncodingDeclaration(nsString* aEncoding)
|
||||
nsHtml5StreamParser::internalEncodingDeclaration(nsHtml5String aEncoding)
|
||||
{
|
||||
// This code needs to stay in sync with
|
||||
// nsHtml5MetaScanner::tryCharset. Unfortunately, the
|
||||
|
|
@ -1270,9 +1270,10 @@ nsHtml5StreamParser::internalEncodingDeclaration(nsString* aEncoding)
|
|||
if (mCharsetSource >= kCharsetFromMetaTag) { // this threshold corresponds to "confident" in the HTML5 spec
|
||||
return false;
|
||||
}
|
||||
|
||||
nsString newEncoding16; // Not Auto, because using it to hold nsStringBuffer*
|
||||
aEncoding.ToString(newEncoding16);
|
||||
nsAutoCString newEncoding;
|
||||
CopyUTF16toUTF8(*aEncoding, newEncoding);
|
||||
CopyUTF16toUTF8(newEncoding16, newEncoding);
|
||||
|
||||
if (!PreferredForInternalEncodingDecl(newEncoding)) {
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue