mirror of
https://github.com/servo/servo.git
synced 2025-09-30 00:29:14 +01:00
Reuse StylesheetContent
for inline style sheets with identical content (#38540)
For duplicate style sheets with identical content, `StylesheetContents` can be reused to avoid redundant parsing of the inline style sheets. Since duplicate stylesheets is a common case with web components, this change will significantly improve performance. Additionally, the cache hit rate of stylo's `CascadeDataCache` can now be significantly improved. When shared `StylesheetContents` is modified, copy-on-write will occur to avoid affecting other sharers. And then updates the references to `CssRule` or `PropertyDeclarationBlock` stored in the CSSOMs to ensure that modifications are made only on the new copy. Signed-off-by: sharpshooter_pt <ibluegalaxy_taoj@163.com>
This commit is contained in:
parent
f6b77f94e2
commit
6e6ef513a9
25 changed files with 711 additions and 125 deletions
|
@ -562,6 +562,7 @@ pub(crate) mod storage;
|
|||
pub(crate) mod storageevent;
|
||||
pub(crate) mod stylepropertymapreadonly;
|
||||
pub(crate) mod stylesheet;
|
||||
pub(crate) mod stylesheetcontentscache;
|
||||
pub(crate) mod stylesheetlist;
|
||||
pub(crate) mod submitevent;
|
||||
pub(crate) mod subtlecrypto;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue