1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 02:28:12 +00:00
serenity/Tests/LibWeb
Aliaksandr Kalenik ac6b3c989d LibWeb: Apply scroll boxes offsets after painting commands recording
With this change, instead of applying scroll offsets during the
recording of the painting command list, we do the following:
1. Collect all boxes with scrollable overflow into a PaintContext,
   each with an id and the total amount of scrolling offset accumulated
   from ancestor scrollable boxes.
2. During the recording phase assign a corresponding scroll_frame_id to
   each command that paints content within a scrollable box.
3. Before executing the recorded commands, translate each command that
   has a scroll_frame_id by the accumulated scroll offset.

This approach has following advantages:
- Implementing nested scrollables becomes much simpler, as the
  recording phase only requires the correct assignment of the nearest
  scrollable's scroll_frame_id, while the accumulated offset from
  ancestors is applied subsequently.
- The recording of painting commands is not tied to a specific offset
  within scrollable boxes, which means in the future, it will be
  possible to update the scrolling offset and repaint without the need
  to re-record painting commands.
2023-12-30 11:10:24 +01:00
..
Layout LibWeb: Redo "tracks maximize" if initial run is over max-size in GFC 2023-12-26 19:19:50 +01:00
Ref LibWeb: Apply scroll boxes offsets after painting commands recording 2023-12-30 11:10:24 +01:00
Text LibWeb+WebWorker: Convert Workers to use MessagePorts for postMessage 2023-12-25 12:09:11 +01:00
WPT WPT: Update metadata for current WPT master and ladybird results 2023-10-24 01:43:31 +02:00
CMakeLists.txt LibWeb: Add test for week_number_of_the_last_day microsyntax 2023-12-11 14:04:27 -07:00
rebaseline-libweb-test Tests/LibWeb: Update rebaseline-libweb-test for path changes 2023-06-10 21:46:33 +02:00
TestConfig.ini LibWeb: Skip window-scrollTo test that keeps timing out on macOS 2023-12-29 17:03:51 +01:00
TestCSSIDSpeed.cpp LibWeb: Make value_id_from_string() return Optional 2023-05-25 06:36:10 +02:00
TestCSSPixels.cpp LibWeb: Perform rounding when dividing CSSPixels 2023-09-05 14:50:45 +02:00
TestHTMLTokenizer.cpp Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
TestMicrosyntax.cpp LibWeb: Add test for week_number_of_the_last_day microsyntax 2023-12-11 14:04:27 -07:00
TestMimeSniff.cpp LibWeb/MimeSniff: Add sniffing in an audio or video context 2023-12-07 10:31:54 -07:00
TestNumbers.cpp LibWeb: Implement spec-compliant integer parsing 2023-08-24 22:26:53 +01:00
tokenizer-test.html LibWeb: Fix assertion failure when tokenizing JS regex literals 2021-07-15 01:47:22 +02:00