1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-11 02:13:56 +09:00
ladybird/Libraries/LibWeb
Aliaksandr Kalenik 875a7141a3 LibWeb: Skip pending :has() invalidations if there are no :has()
`invalidate_style()` already tries to avoid scheduling invalidation for
`:has()` by checking result of `may_have_has_selectors()`, but it might
still result in unnecessary work because `may_have_has_selectors()`
does not force building of rules cache. This change adds
`have_has_selectors()` that forces building of rules cache and is
invoked in `update_style()` to double-check whether we actually need to
process scheduled `:has()` invalidations.

This allows to skip ~100000 ancestor traversals on this WPT test:
https://wpt.live/html/select/options-length-too-large.html
2025-02-11 10:22:23 +01:00
..
Animations LibWeb/Bindings: Support returning nullable types in dictionaries 2025-02-10 17:05:15 +00:00
ARIA LibWeb: Ignore role=none for focusable & has-global-ARIA-attribute cases 2025-01-09 14:08:23 +00:00
Bindings LibWeb: Make Agent's MutationObserver list weak 2025-02-07 16:53:11 +01:00
Clipboard AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
Compression LibWeb: Add an 'enqueue' helper method on TransformStream 2024-12-25 12:00:54 +01:00
Cookie
CredentialManagement LibWeb: Stub for Credential Management API 2025-02-05 13:18:47 -07:00
Crypto LibCrypto: Make SECPxxxr1Signature carry the scalar size 2025-01-27 12:24:48 +01:00
CSS LibWeb: Skip pending :has() invalidations if there are no :has() 2025-02-11 10:22:23 +01:00
DOM LibWeb: Skip pending :has() invalidations if there are no :has() 2025-02-11 10:22:23 +01:00
DOMParsing AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
DOMURL LibWeb: Return OptionalNone from DOMURL::parse on failure 2025-01-22 12:33:55 +00:00
Editing LibWeb: Treat execCommand command names as case insensitive 2025-02-08 07:30:27 -05:00
Encoding LibWeb/Bindings: Support returning nullable types in dictionaries 2025-02-10 17:05:15 +00:00
EntriesAPI
EventTiming
Fetch LibWeb/Fetch: Sync with spec update (whatwg/fetch#1569) 2025-01-30 16:24:50 -07:00
FileAPI LibWeb/FileAPI: Implement aborting a FileReader read 2025-01-30 14:25:27 -07:00
Geometry LibWeb/CSS: Integrate ParsingContext into the Parser 2025-02-06 16:47:25 +00:00
HighResolutionTime LibWeb: Use as to cast global object to WindowOrWorkerGlobalScopeMixin 2025-02-02 17:18:56 +01:00
HTML LibWeb/Bindings: Support returning nullable types in dictionaries 2025-02-10 17:05:15 +00:00
IndexedDB LibWeb: Rename ConnectionQueue to RequestList 2025-01-14 23:46:09 +01:00
Infra LibWeb: Revert addition of VERIFY call to isomorphic-decode 2025-01-03 14:54:29 +01:00
Internals LibWeb: Return OptionalNone from DOMURL::parse on failure 2025-01-22 12:33:55 +00:00
IntersectionObserver LibWeb/CSS: Integrate ParsingContext into the Parser 2025-02-06 16:47:25 +00:00
Layout LibWeb: Remove unnecessary re-measurement of cross sizes in flex layout 2025-02-10 01:26:34 +01:00
Loader Everywhere: Include HashMap only where it's actually used 2024-12-09 12:31:16 +01:00
MathML LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
MediaCapabilitiesAPI
MediaSourceExtensions LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
MimeSniff
MixedContent AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
NavigationTiming LibWeb: Return wall time from PerformanceTiming interface 2025-01-27 14:53:33 +01:00
Page LibWeb: Reset find-in-page index if selection is cleared 2025-02-09 18:19:58 +00:00
Painting LibWeb/CSS: Implement mix-blend-mode 2025-02-05 11:26:58 +00:00
PerformanceTimeline LibWeb: Use as to cast global object to WindowOrWorkerGlobalScopeMixin 2025-02-02 17:18:56 +01:00
PermissionsPolicy
Platform LibWeb+LibWebView: Allow to specify default font size in FontPlugin 2025-01-02 10:47:21 +01:00
ReferrerPolicy LibURL+LibWeb: Make URL::serialize return a String 2024-12-04 16:34:13 +00:00
RequestIdleCallback
ResizeObserver AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
SecureContexts LibURL: Migrate Origin scheme from ByteString to String 2024-11-30 12:07:39 +01:00
Selection LibWeb: Only clear command states and values if range actually changed 2025-01-24 23:53:26 +01:00
ServiceWorker LibWeb: Implement nagivator.serviceWorker.getRegistration() 2025-01-30 15:18:43 -07:00
SRI
StorageAPI LibWeb/Storage: Add a storage key getter that takes a URL::Origin 2025-01-21 19:22:07 +00:00
Streams LibWeb: Align ReadableByteStreamControllerEnqueue 2025-02-10 13:25:51 +00:00
SVG LibWeb: Use invalidation sets for link-related pseudo classes 2025-02-08 18:11:24 +01:00
UIEvents LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
URLPattern LibWeb/URLPattern: Add a stub for URLPattern.exec 2025-02-10 17:05:15 +00:00
UserTiming LibWeb: Report performance based timestamps relative to ESO time origin 2025-01-27 14:53:33 +01:00
WebAssembly LibGC: Rename MarkedVector => RootVector 2024-12-26 19:10:44 +01:00
WebAudio LibWeb/Bindings: Support returning nullable types in dictionaries 2025-02-10 17:05:15 +00:00
WebDriver LibWeb+WebDriver: Validate WebDriver proxy capabilities 2025-02-10 11:33:53 -05:00
WebGL LibWeb/WebGL: Implement WEBGL_compressed_texture_s3tc extension 2025-02-09 01:00:51 +01:00
WebIDL LibWeb: Use as to cast global object to WindowOrWorkerGlobalScopeMixin 2025-02-02 17:18:56 +01:00
WebSockets LibWeb: Use as to cast global object to WindowOrWorkerGlobalScopeMixin 2025-02-02 17:18:56 +01:00
WebVTT
Worker Everywhere: Include HashMap only where it's actually used 2024-12-09 12:31:16 +01:00
XHR LibWeb: Return OptionalNone from DOMURL::parse on failure 2025-01-22 12:33:55 +00:00
XLink LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
XML AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
CMakeLists.txt LibWeb+WebDriver: Validate WebDriver proxy capabilities 2025-02-10 11:33:53 -05:00
Dump.cpp LibWeb: Support inserting non-inline elements into inline elements 2025-01-23 09:33:10 +01:00
Dump.h LibWeb: Split StyleComputer work into two phases with separate outputs 2024-12-22 10:12:49 +01:00
Forward.h LibWeb/WebGL: Implement WEBGL_compressed_texture_s3tc extension 2025-02-09 01:00:51 +01:00
idl_files.cmake LibWeb/WebGL: Implement WEBGL_compressed_texture_s3tc extension 2025-02-09 01:00:51 +01:00
InvalidateDisplayList.h
Namespace.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
Namespace.h LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
PixelUnits.cpp
PixelUnits.h LibWeb: Clamp layout content sizes to a max value instead of crashing 2025-02-05 18:28:55 +01:00
TraversalDecision.h
TraversalOrder.h
TreeNode.h LibWeb/DOM: Don't use recursion for subtree traversal in Node.h 2025-02-03 18:36:57 +01:00