mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Add a fast path in Element::SetInnerHTML when the value is small and trivial text
Inspired from gecko which has a similar fast path. This makes innerHTML more than 10 times faster for this case. Fixes #25892
This commit is contained in:
parent
d08c4fff15
commit
1b2464b4b6
13 changed files with 89 additions and 24 deletions
|
@ -2,6 +2,7 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use crate::dom::bindings::inheritance::Castable;
|
||||
use crate::dom::bindings::root::DomRoot;
|
||||
use crate::dom::document::Document;
|
||||
use crate::dom::htmlelement::HTMLElement;
|
||||
|
@ -32,9 +33,12 @@ impl HTMLHtmlElement {
|
|||
prefix: Option<Prefix>,
|
||||
document: &Document,
|
||||
) -> DomRoot<HTMLHtmlElement> {
|
||||
Node::reflect_node(
|
||||
let n = Node::reflect_node(
|
||||
Box::new(HTMLHtmlElement::new_inherited(localName, prefix, document)),
|
||||
document,
|
||||
)
|
||||
);
|
||||
|
||||
n.upcast::<Node>().set_weird_parser_insertion_mode();
|
||||
n
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue