ladybird/Libraries/LibWeb
Aliaksandr Kalenik cd0705334b LibWeb: Skip effect contexts for off-screen display list commands
When executing display list commands, check if commands with effect
contexts (opacity, filters, blend modes) are outside the viewport
before applying the effect. Since effects don't affect clip state,
would_be_fully_clipped_by_painter() returns the same result before
and after applying effects.

This avoids expensive saveLayer/restore cycles for off-screen commands
with effects like blur, which is particularly beneficial for pages with
many blurred decorative images (e.g., Discord's landing page has 70+
blurred star images).

The optimization only applies when switching to a new effect context,
not for consecutive commands with the same context, to preserve correct
blend mode compositing behavior.
2026-01-22 16:27:52 +01:00
..
Animations LibWeb: Rebuild AccumulatedVisualContext on transform changes 2026-01-15 19:50:53 +01:00
ARIA LibWeb: Shave 168 bytes off of ARIAMixin 2025-11-07 16:59:26 +01:00
Bindings LibJS: Skip initializing constant slots in ExecutionContext 2026-01-19 10:48:12 +01:00
Clipboard LibWeb+UI/AppKit: Ignore unknown clipboard MIME types 2025-10-10 15:10:03 -04:00
Compression Everywhere: Make ByteBuffer::bytes() lvalue-only 2025-12-10 07:43:22 -05:00
ContentSecurityPolicy LibHTTP+LibWeb+RequestServer: Move Fetch's HTTP header infra to LibHTTP 2025-11-27 14:57:29 +01:00
Cookie
CookieStore
CredentialManagement LibWeb: Implement FederatedCredential ctor and corresponding AO 2026-01-08 13:10:35 +01:00
Crypto AK+Everywhere: Add Vector::contains(predicate) and use it 2026-01-08 15:27:30 +00:00
CSS LibWeb: Support composition of BasicShapeStyleValue 2026-01-22 11:29:41 +00:00
DOM LibWeb: Move AccumulatedVisualContext update in paint properties update 2026-01-22 10:43:20 +01:00
DOMURL LibWeb/HTML: Fix Origin.from(value) for Window objects 2025-12-30 18:50:05 +01:00
Editing LibWeb: Avoid void elements when inserting text 2026-01-13 10:07:56 +01:00
Encoding
EncryptedMediaExtensions
EntriesAPI
EventTiming
Fetch LibHTTP+LibWeb: Support the HTTP Vary response header 2026-01-22 08:54:49 -05:00
FileAPI LibWeb: Don't store GC::Root<JS::ArrayBuffer> in FileAPI::FileReader 2025-12-26 11:57:00 +01:00
Gamepad LibWeb/Gamepad: Ignore physical gamepads when running in test mode 2026-01-20 06:58:16 -05:00
Geolocation
Geometry LibWeb: Support implicit downcast to DOMException in ExceptionOr 2025-12-29 17:15:11 +01:00
GPC
HighResolutionTime Everywhere: Clean up AD-HOC and FIXME comments without colons 2025-11-13 15:56:04 +01:00
HTML LibWeb: Implement External interface 2026-01-22 14:56:46 +01:00
IndexedDB LibGC: Only call finalize() on types that override finalize() 2026-01-07 20:51:17 +01:00
Infra LibTextCodec+LibWeb: Move isomorphic coders to LibTextCodec 2025-11-27 14:57:29 +01:00
Internals LibWeb/Internals: Remove unused InternalGamepad::create() declaration 2026-01-20 06:58:16 -05:00
IntersectionObserver LibGC: Only call finalize() on types that override finalize() 2026-01-07 20:51:17 +01:00
Layout LibWeb/Layout: Replace existing ::backdrop layout nodes when necessary 2026-01-22 13:52:31 +00:00
Loader LibHTTP+LibWeb+RequestServer: Handle the Fetch API's cache mode 2026-01-22 07:05:06 -05:00
MathML LibWeb: Use existing StyleValues for math-depth 2026-01-15 12:03:16 +00:00
MediaCapabilitiesAPI LibWeb: Extract some CORS and MIME Fetch helpers to their own files 2025-11-27 14:57:29 +01:00
MediaSourceExtensions
MimeSniff LibHTTP+LibWeb+RequestServer: Move Fetch's HTTP header infra to LibHTTP 2025-11-27 14:57:29 +01:00
MixedContent AK+LibURL: Use AK::IPv4/6 in Host 2025-12-31 10:24:56 +01:00
NavigationTiming
NotificationsAPI
Page LibWeb: Fix storage set broadcast event never broadcasting old value 2026-01-21 22:27:59 +01:00
Painting LibWeb: Skip effect contexts for off-screen display list commands 2026-01-22 16:27:52 +01:00
PerformanceTimeline
PermissionsPolicy
Platform LibGfx+LibWeb: Fall back to system fonts for missing glyphs 2026-01-21 14:01:35 +01:00
ReferrerPolicy LibWeb: Store HTTP methods and headers as ByteString 2025-11-26 09:15:06 -05:00
RequestIdleCallback
ResizeObserver LibGC: Only call finalize() on types that override finalize() 2026-01-07 20:51:17 +01:00
ResourceTiming
SecureContexts AK+LibURL: Use AK::IPv4/6 in Host 2025-12-31 10:24:56 +01:00
Selection LibWeb: Selection toString focused text control delegation 2026-01-02 18:40:05 +01:00
Serial
ServiceWorker LibHTTP+LibWeb: Move Infrastructure::Request::CacheMode to LibHTTP 2026-01-22 07:05:06 -05:00
Speech LibWeb: Add stubbed Speech API 2026-01-20 06:51:04 -05:00
SRI
StorageAPI LibWeb: Fix storage set broadcast event never broadcasting old value 2026-01-21 22:27:59 +01:00
Streams LibWeb: Make WebIDL::property_to_callback() return GC::Ptr 2025-12-25 20:21:37 +01:00
SVG LibWeb/SVG: Fix typo in replace_item 2026-01-22 01:29:30 +00:00
TrustedTypes LibWeb: Visit members of TrustedTypePolicy instead of using GC roots 2025-12-15 08:38:43 -05:00
UIEvents LibWeb: Move onpointer* IDL attributes to PointerEventHandlers.idl 2026-01-13 10:09:22 +01:00
URLPattern
UserTiming
ViewTransition LibWeb: Use the WEB_SET_PROTOTYPE_FOR_INTERFACE pattern consistently 2025-12-27 16:40:34 +01:00
WebAssembly LibWeb: Implement HostGrowSharedArrayBuffer for shared Wasm memories 2026-01-04 07:47:55 +01:00
WebAudio LibWeb/WebAudio: Implement control message queue 2026-01-16 15:58:43 +01:00
WebDriver LibJS: Use simdjson for JSON.parse 2026-01-12 13:53:28 -05:00
WebGL LibWeb: Make WebGLRenderingContextBase derive from PlatformObject 2026-01-10 13:22:17 +01:00
WebIDL LibWeb/WebIDL: Update spec comments in "react to a promise" 2026-01-09 23:35:17 +01:00
WebSockets LibWeb: Set the socket ready state to CLOSING immediately 2026-01-10 23:40:58 +01:00
WebVTT
WebXR LibWeb: Add WebXR's XRSystem 2026-01-11 00:01:24 +01:00
Worker
XHR LibWeb: Update XHR::open to use 'encoding-parse a URL' 2026-01-13 13:51:32 +00:00
XLink
XML LibXML+LibWeb: Use existing HTML entities table for XML parsing too 2026-01-09 19:13:41 +00:00
XPath LibJS+LibWeb: Add missing GC marking visits 2026-01-07 12:48:58 +01:00
CMakeLists.txt LibWeb: Implement External interface 2026-01-22 14:56:46 +01:00
Dump.cpp LibWeb: Split PaintableWithLines from PaintableBox 2026-01-12 11:00:14 +00:00
Dump.h LibWeb: Make dump_sheet() indentable 2025-12-04 16:24:04 +00:00
Forward.h LibWeb: Implement External interface 2026-01-22 14:56:46 +01:00
GraphemeEdgeTracker.cpp
GraphemeEdgeTracker.h
idl_files.cmake LibWeb: Implement External interface 2026-01-22 14:56:46 +01:00
InvalidateDisplayList.h
Namespace.cpp
Namespace.h
PixelUnits.cpp
PixelUnits.h LibGfx+LibWeb: Delete unused Line class and Rect methods 2025-11-04 23:16:02 +01:00
TraversalDecision.h
TraversalOrder.h
TreeNode.h