ladybird/Tests
InvalidUsernameException 70c46e081d LibWeb: Correctly calculate nested positioned elements' static position
If there are multiple nested `position: fixed` or `position: absolute`
elements that are positioned based on their static position due to not
specifying any insets, we sum up all their ancestor offsets to calculate
said static position.

However, these offsets represent the offset to the containing block. So
summing up all the ancestor blocks will count elements multiple times
for cases where the containing block is not based on the closest element
capable of forming a containing block (i.e. absolute and fixed position
elements) when multiple such elements are nested.

With this change we only iterate over ancestors forming containing
blocks instead of over all ancestors boxes. To sum up everything between
the box currently being positioned and its containing block, we start
the iteration on the parent box of the current box.

This fixes 3 WPT tests that I could find. But these tests are not
intended to test the error cases fixed here, they just incidentally rely
on the correct behavior. As such, I have added dedicated tests myself.
Note that two of the tests already pass on master, but they seemed like
a good cases to have anyway.
2025-10-14 10:23:27 +02:00
..
AK AK: Add Vector::remove_all(container)/remove_all(it, end) 2025-10-01 23:47:29 +02:00
ClangPlugins Tests: Test that unvisited Templated members are caught by ClangPlugin 2025-08-23 21:21:04 +02:00
LibCompress CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibCore LibCore: Remove unused macOS FileWatcher implementation 2025-10-05 15:46:15 +02:00
LibCrypto LibCrypto: Convert UnsignedBigInteger::import_data to accept Bytes 2025-08-05 09:08:56 +02:00
LibDiff CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibDNS Meta+RequestServer: Remove local download of ca-certificates 2025-07-07 09:10:05 +02:00
LibGC LibGC+LibWeb+LibJS: Remove workaround for Swift boolean bitfield issue 2025-04-04 13:06:53 -06:00
LibGfx LibGfx: Allow decoding of GIFs with empty LZW data 2025-10-02 11:04:35 +02:00
LibJS LibJS+LibWeb: Inline fast path for Value::to_object() 2025-09-15 12:16:58 +02:00
LibMedia LibMedia+Tests: Call decoder input samples "coded data" for clarity 2025-09-22 12:04:29 -05:00
LibRegex LibRegex: Account for opcode size when calculating incoming jump edges 2025-07-28 17:06:58 +02:00
LibTest CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibTextCodec CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibThreading CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibTLS Tests/LibTLS: Enable TestTLSHandshake in Windows CI 2025-08-23 18:35:45 -06:00
LibUnicode LibJS+LibUnicode: Port Intl.DisplayNames to UTF-16 strings 2025-07-24 10:39:52 +02:00
LibURL Everywhere: Fix even more typos 2025-08-27 08:48:01 +02:00
LibWasm LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
LibWeb LibWeb: Correctly calculate nested positioned elements' static position 2025-10-14 10:23:27 +02:00
LibWebView CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibXML CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
Resources Tests: Annotate configurationJSON in SwiftTestMain with noisolate 2024-11-26 11:00:48 +01:00
CMakeLists.txt Tests/LibDNS: Enable in Windows CI 2025-08-23 18:35:45 -06:00