Bug 251657

Summary: avoid creating ElementRareData when lang="" matches the effective document language
Product: WebKit Reporter: Cameron McCormack (:heycam) <heycam>
Component: DOMAssignee: Cameron McCormack (:heycam) <heycam>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, darin, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 251932    
Bug Blocks:    

Description Cameron McCormack (:heycam) 2023-02-02 18:48:26 PST
On Wikipedia, there's a lang="" attribute on the <div> that contains the article content.  On the page I'm looking at, this lang="" matches the value on the document element.  Currently we'll create ElementRareData to store the effective language for the entire subtree, which for large articles can be several MB worth.  We can optimize this by detecting when the explicitly set lang="" matches the effective document language, and avoid the subtree traversal / restyle / ElementRareData creation.
Comment 1 Radar WebKit Bug Importer 2023-02-02 18:48:49 PST
<rdar://problem/104987630>
Comment 2 Cameron McCormack (:heycam) 2023-02-02 20:14:33 PST
Pull request: https://github.com/WebKit/WebKit/pull/9566
Comment 3 Cameron McCormack (:heycam) 2023-02-02 20:19:20 PST
Pull request: https://github.com/WebKit/WebKit/pull/9580
Comment 4 EWS 2023-02-06 19:16:33 PST
Committed 259931@main (8858f1de792a): <https://commits.webkit.org/259931@main>

Reviewed commits have been landed. Closing PR #9580 and removing active labels.
Comment 6 WebKit Commit Bot 2023-02-08 10:06:21 PST
Re-opened since this is blocked by bug 251932
Comment 7 Ryan Haddad 2023-02-08 10:12:39 PST
Reverted in https://commits.webkit.org/260019@main due to the assertion failures.
Comment 8 Cameron McCormack (:heycam) 2023-02-08 12:07:07 PST
*** Bug 251904 has been marked as a duplicate of this bug. ***
Comment 9 Cameron McCormack (:heycam) 2023-02-08 12:55:27 PST
Pull request: https://github.com/WebKit/WebKit/pull/9833
Comment 10 EWS 2023-02-08 21:11:43 PST
Committed 260047@main (f31c6cd34376): <https://commits.webkit.org/260047@main>

Reviewed commits have been landed. Closing PR #9833 and removing active labels.