ladybird/Userland/Libraries/LibWeb
Andreas Kling 92bc3d200d LibWeb: Fix incorrectly offset root intersection rectangle for Document
When the intersection root is a Document, we use the viewport itself as
the root intersection rectangle. However, we should only use the size of
the viewport and strip away the current scroll offset.

This is important, as intersections are computed using viewport-relative
element rects, so we're already in a coordinate system where (0, 0) is
the top left of the scrolled viewport.

This fixes an issue where IntersectionObservers would fire at entirely
wrong scroll offsets. :^)
2023-07-11 10:03:49 +02:00
..
ARIA Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
Bindings LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
Cookie Userland: Remove remaining users of Duration::now_realtime() 2023-05-24 23:18:07 +02:00
Crypto Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
CSS LibWeb: Fix a spec link in CSS/Parser 2023-07-11 09:38:37 +03:30
DOM LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
DOMParsing LibWeb: Don't include DOM/NamedNodeMap.h from DOM/Element.h 2023-05-08 09:29:44 +02:00
Encoding Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
Fetch LibWeb: Update workarounds for the empty execution context stack 2023-07-06 15:18:50 -04:00
FileAPI LibWeb: Update workarounds for the empty execution context stack 2023-07-06 15:18:50 -04:00
Geometry LibWeb: Implement DOMRect(ReadOnly)#fromRect 2023-07-07 05:27:25 +02:00
HighResolutionTime Everywhere: Use MonotonicTime instead of Duration 2023-05-24 23:18:07 +02:00
HTML LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
Infra LibJS: Make intrinsics getters return NonnullGCPtr 2023-04-13 14:29:42 +02:00
IntersectionObserver LibWeb: Fix incorrectly offset root intersection rectangle for Document 2023-07-11 10:03:49 +02:00
Layout LibWeb: Fix flex & abspos alignment issues 2023-07-10 20:57:49 +02:00
Loader Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
MimeSniff Everywhere: Remove unused DeprecatedString includes 2023-04-09 22:00:54 +02:00
NavigationTiming LibWeb: Specify snake case names for navigation timing entries too 2023-05-13 16:31:10 +02:00
Page LibWeb: Update workarounds for the empty execution context stack 2023-07-06 15:18:50 -04:00
Painting LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
PerformanceTimeline LibWeb: Introduce Performance Timeline and its Performance functions 2023-03-23 21:00:43 +00:00
PermissionsPolicy LibWeb+LibWebView+WebContent: Add APIs to manage an autoplay allowlist 2023-04-18 16:30:02 +02:00
Platform AudioServer+Userland: Decouple client sample rates from device rate 2023-07-01 23:27:24 +01:00
ReferrerPolicy LibWeb: Add ReferrerPolicy::EmptyString 2023-04-25 12:54:01 +02:00
RequestIdleCallback LibWeb/HTML: Port Window.requestIdleCallback() to IDL 2023-03-07 23:33:34 +00:00
ResizeObserver LibWeb: Make factory method of ResizeObserver::ResizeObserver fallible 2023-02-22 09:55:33 +01:00
Scripts LibWeb: Store stylesheet sources as StringViews 2023-02-19 00:51:16 +01:00
SecureContexts LibWeb: Use IPv6Address::loopback() instead of parsing "::1" 2023-06-09 19:38:14 +01:00
Selection LibWeb: Make factory method of Selection::Selection fallible 2023-02-22 09:55:33 +01:00
SRI LibWeb: Implement integrity-metadata part of fetch algorithm 2023-04-21 20:44:47 +01:00
Streams LibWeb: Add ReadableStreamGetReaderOptions to ReadableStream.getReader 2023-07-05 23:33:20 +01:00
SVG LibWeb: Rename DOM::Element::parse_attribute() => attribute_changed() 2023-07-03 19:04:45 +02:00
Tests
UIEvents LibWeb: Implement KeyboardEvent.location closer to the spec 2023-07-09 06:32:20 +02:00
URL LibWeb: Implement Web::URL::url_encode closer to spec 2023-06-25 11:28:32 +02:00
UserTiming LibWeb: Implement performance.{measure,clearMeasures} 2023-05-13 16:31:10 +02:00
WebAssembly LibJS: Port Value::to_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
WebAudio Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
WebDriver Everywhere: Remove 'clang-format off' comments that are no longer needed 2023-07-08 10:32:56 +01:00
WebGL LibWeb: Don't include Layout/Node.h from DOM/Element.h 2023-05-08 09:29:44 +02:00
WebIDL LibWeb+LibJS: Move some code around to make CSS/Parser parse faster 2023-07-11 09:38:37 +03:30
WebSockets Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
XHR Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
XML LibWeb: Detect when an XML document belongs in the SVG namespace 2023-06-09 01:12:48 +02:00
CMakeLists.txt LibWeb: Move some static functions from CSS/Parser.cpp into a new file 2023-07-11 09:38:37 +03:30
Dump.cpp LibWeb: Parse CSS :host selector 2023-07-05 12:42:02 +02:00
Dump.h LibWeb+Browser+Ladybird: Add menu action to dump paint tree 2023-03-18 20:23:35 +01:00
FontCache.cpp LibWeb: Scale the font when painting the text on buttons 2023-03-15 23:29:00 +01:00
FontCache.h LibWeb: Scale the font when painting the text on buttons 2023-03-15 23:29:00 +01:00
Forward.h LibWeb: Add initial implementation of IntersectionObserver 2023-07-07 05:27:25 +02:00
idl_files.cmake LibWeb: Add initial implementation of IntersectionObserver 2023-07-07 05:27:25 +02:00
Namespace.cpp LibWeb: Initialize static web strings during main-thread VM creation 2023-03-18 19:50:45 +01:00
Namespace.h LibWeb: Initialize static web strings during main-thread VM creation 2023-03-18 19:50:45 +01:00
PixelUnits.h LibWeb+WebContent: Forbid access to underlying type of CSSPixels 2023-06-13 06:08:27 +02:00
TreeNode.h LibJS+LibWeb: Move headers around to allow including Value from Cell 2023-01-29 00:02:45 +00:00