Closed Bug 1822177 Opened 2 years ago Closed 2 years ago

:has Selector Caching

Categories

(Core :: CSS Parsing and Computation, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
117 Branch
Tracking Status
firefox117 --- fixed

People

(Reporter: dshin, Assigned: dshin)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 9 obsolete files)

48 bytes, text/x-phabricator-request
Details | Review
No description provided.
Assignee: nobody → dshin
Blocks: has-pseudo
See Also: → 1833679
Keywords: leave-open
Blocks: 1845095
Summary: :has Selector Performance Improvements → :has Selector Caching

This simple relative selector cache avoids O(n^2) behaviour when the relative
selector is not in the subject position. e.g. .anchor:has(.a) ~ .subject,
with a DOM tree .anchor + .subject + .. + .subject.

Blocks: 1845291
Attachment #9345362 - Attachment is obsolete: true
Keywords: leave-open
Attachment #9345361 - Attachment description: Bug 1822177: Part 1 - Simple relative selector caching. r=emilio,#layout-reviewers → Bug 1822177: Simple relative selector caching. r=emilio,#layout-reviewers
Pushed by dshin@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6f95df6ad7c1 Simple relative selector caching. r=emilio
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 117 Branch

Depends on D185676

Comment on attachment 9347932 [details]
Bug 1822177: Part 1 - Mark relative selector search path. r=emilio,#layout-reviewers

Revision D185674 was moved to bug 1792501. Setting attachment 9347932 [details] to obsolete.

Attachment #9347932 - Attachment is obsolete: true

Comment on attachment 9347933 [details]
Bug 1822177: Part 2 - Infrastructure for relative selector invalidation. r=emilio,#layout-reviewers

Revision D185675 was moved to bug 1792501. Setting attachment 9347933 [details] to obsolete.

Attachment #9347933 - Attachment is obsolete: true

Comment on attachment 9347934 [details]
Bug 1822177: Part 3 - Let :has contribute to dependencies. r=emilio,#layout-reviewers

Revision D185676 was moved to bug 1792501. Setting attachment 9347934 [details] to obsolete.

Attachment #9347934 - Attachment is obsolete: true

Comment on attachment 9347935 [details]
Bug 1822177: Part 4 - Basic :has invalidation. r=emilio,#layout-reviewers

Revision D185677 was moved to bug 1792501. Setting attachment 9347935 [details] to obsolete.

Attachment #9347935 - Attachment is obsolete: true

Comment on attachment 9347936 [details]
Bug 1822177: Part 5 - :has DOM mutation invalidation. r=emilio,#layout-reviewers

Revision D185678 was moved to bug 1792501. Setting attachment 9347936 [details] to obsolete.

Attachment #9347936 - Attachment is obsolete: true

Comment on attachment 9347937 [details]
Bug 1822177: Part 6 - :has invalidation for :empty and :nth (Without of). r=emilio,#layout-reviewers

Revision D185679 was moved to bug 1792501. Setting attachment 9347937 [details] to obsolete.

Attachment #9347937 - Attachment is obsolete: true

Comment on attachment 9347938 [details]
Bug 1822177: Part 7 - :has invalidation inside :nth-child(of). r=emilio,#layout-reviewers

Revision D185680 was moved to bug 1792501. Setting attachment 9347938 [details] to obsolete.

Attachment #9347938 - Attachment is obsolete: true

Comment on attachment 9347939 [details]
Bug 1822177: Part 8 - :has invalidation for inner selectors. r=emilio,#layout-reviewers

Revision D185681 was moved to bug 1792501. Setting attachment 9347939 [details] to obsolete.

Attachment #9347939 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: