ladybird/AK
Andreas Kling 584b2748ee LibWeb: Move RenderingThread into Compositor
Create Libraries/LibWeb/Compositor and make the existing rendering
thread the first owner in that subsystem. Rename RenderingThread to
CompositorThread so later commits can grow it into the presentation
owner without leaving that vocabulary in HTML.

Keep display-list rasterization and delivery behavior unchanged in this
commit. Add COMPOSITOR_DEBUG to AK/Debug.h.in in the same step so
compositor diagnostics live beside the rest of the project-wide debug
toggles from the start of the stack.
2026-05-12 20:57:08 +02:00
..
.clang-tidy Meta: Add basic clang-tidy configuration 2021-11-14 22:52:35 +01:00
AllOf.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
AnyOf.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
Array.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Assertions.cpp AK: Print backtrace with warnln 2025-11-20 15:44:25 +01:00
Assertions.h AK: Remove unused architecture specific TODO macros 2025-11-07 11:27:51 +01:00
Atomic.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
AtomicRefCounted.h AK: Call AtomicRefCounted::deref_base() on the subclass 2026-03-02 17:06:39 -06:00
Backtrace.h.in AK+CMake: Use the find module to find the correct backtrace(3) header 2024-07-01 10:15:24 -06:00
Badge.h AK: Use Noncopyable.h in Badge 2024-12-04 16:45:58 +00:00
Base64.cpp AK: Don't convert encode_base64_impl() input to StringView 2026-03-31 18:14:28 +01:00
Base64.h AK+LibJS: Use simdutf for all base64 operations 2025-05-03 11:21:10 -04:00
BigIntBase.h AK+LibGfx: Prefer if consteval over is_constant_evaluated 2026-02-22 13:56:12 -05:00
BinaryHeap.h AK: Introduce IntrusiveBinaryHeap and reimplement BinaryHeap using it 2024-02-25 17:24:36 -07:00
BinarySearch.h AK: Add lower_bound_index to binary search helpers 2026-05-11 11:01:46 +02:00
BitCast.h AK: Use bit_cast in SIMDExtras.h/AK::Detail::byte_reverse_impl 2024-07-17 09:56:13 -06:00
Bitmap.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
BitmapView.h AK: Define operator== for BitmapView 2025-01-04 20:32:35 +01:00
BitStream.h AK: Simplify BigEndianInputBitStream::read_bits() 2026-04-29 20:28:15 +02:00
BufferedStream.h AK: Don't move trivially copyable types in BufferedStream methods 2024-04-30 13:22:56 +02:00
BuiltinWrappers.h AK: Fix doc comment for bit_scan_forward 2023-10-11 14:36:48 -04:00
BumpAllocator.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
ByteBuffer.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
ByteReader.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
ByteString.cpp AK: Remove public null state from StringView 2026-03-31 13:48:50 +01:00
ByteString.h AK: Remove unused include from ByteString 2026-02-17 12:38:51 +00:00
ByteStringImpl.cpp AK: Remove unused include from ByteStringImpl 2026-02-17 12:38:51 +00:00
ByteStringImpl.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
CharacterTypes.h AK: Add is_ascii_c0_control_or_space 2024-08-05 17:21:26 +01:00
Checked.h Everywhere: Use AK::SaturatingMath and remove Checked saturating APIs 2026-03-21 18:20:09 -05:00
CheckedFormatString.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
CircularBuffer.cpp AK: Remove unused include from CircularBuffer 2026-02-17 12:38:51 +00:00
CircularBuffer.h AK: Add and use IdentityHashTraits<Integral> 2026-02-24 13:24:58 +01:00
CircularQueue.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
CMakeLists.txt Meta: Move most dependency checks to check_for_dependencies.cmake 2026-04-20 16:41:29 -06:00
Concepts.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
ConstrainedStream.cpp AK: Make some Stream::read* functions available inline 2025-08-08 12:54:06 +02:00
ConstrainedStream.h AK: Make some Stream::read* functions available inline 2025-08-08 12:54:06 +02:00
CopyOnWrite.h AK+LibURL: Move CopyOnWrite<T> from LibURL to AK 2024-09-10 13:51:28 +02:00
CountingStream.cpp AK: Let CountingStream take an initial value for the counter 2025-06-11 18:16:29 +02:00
CountingStream.h AK: Let CountingStream take an initial value for the counter 2025-06-11 18:16:29 +02:00
COWVector.h LibRegex: Flatten capture group list in MatchState 2025-04-18 17:09:27 +02:00
DateConstants.h AK: Make it possible to not using AK classes into the global namespace 2022-11-26 15:51:34 +01:00
Debug.h.in LibWeb: Move RenderingThread into Compositor 2026-05-12 20:57:08 +02:00
DefaultDelete.h AK+Everywhere: Move custom deleter capability to OwnPtr 2022-12-17 16:00:08 -05:00
Demangle.h AK: Implement demangle() for MSVC ABI 2025-06-17 18:39:18 -06:00
DemangleWindows.cpp AK: Implement demangle() for MSVC ABI 2025-06-17 18:39:18 -06:00
Diagnostics.h AK: Add a helper macro to temporarily ignore diagnostics with _Pragma() 2022-12-06 21:31:00 +00:00
DisjointChunks.h LibRegex: Use ReadonlySpan to peek into OpCode_Compare LUTs 2025-04-14 17:40:13 +02:00
DistinctNumeric.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
DoublyLinkedList.h AK: Mark some DoublyLinkedList and Vector methods ALWAYS_INLINE 2026-02-02 14:11:49 +01:00
Endian.h AK: Support non-native endianness in Utf16View 2024-07-18 19:43:57 +02:00
EnumBits.h Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
Enumerate.h AK: Avoid copying the iterable container in AK::enumerate 2025-11-18 13:31:52 +01:00
Error.cpp AK: Define some simple getters in a single line 2025-05-10 21:19:46 -04:00
Error.h AK/Error: Add value_or convenience method 2025-05-26 18:48:09 +02:00
Find.h AK: Take the container in AK::find_value as a forwarding reference 2026-01-22 08:54:49 -05:00
FixedArray.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
FixedBitmap.h AK: Add FixedBitmap template class for stack-allocated bitmaps 2026-01-14 11:46:23 +01:00
FixedPoint.h AK: Stop exporting AK::FixedPoint into the global namespace 2024-07-18 09:43:38 +01:00
FloatingPoint.h AK: Add missing include to FloatingPoint.h 2026-02-23 18:30:40 +01:00
FlyString.cpp AK: Cache hashes for fly string interning 2026-01-26 19:37:42 +01:00
FlyString.h AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
Format.cpp AK: Implement current_thread_id for FreeBSD 2026-02-26 19:52:49 -06:00
Format.h AK: Remove unused include from Format 2026-02-17 12:38:51 +00:00
Forward.h AK+Everywhere: Add and use weak_callback() 2026-02-26 08:03:50 -05:00
Function.h AK+Tests: Destroy moved-from CallableWrappers 2026-02-18 13:13:32 -06:00
GenericLexer.cpp AK: Templatize GenericLexer for UTF-16 strings 2025-08-13 09:56:13 -04:00
GenericLexer.h LibJS: Prevent escaped surrogates from combining in Unicode regexes 2026-02-26 13:50:11 +01:00
GenericShorthands.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
HashFunctions.h AK+Everywhere: Use MurmurHash3 for int/u64 hashing 2026-02-20 22:47:24 +01:00
HashMap.h AK: Remove HashMap::hash() 2026-01-29 10:10:12 +01:00
HashTable.h AK: Hide tentative HashTable bucket from iterators across ensure() 2026-04-25 06:21:36 +02:00
Hex.cpp AK: Remove unused include from Hex 2026-02-17 12:38:51 +00:00
Hex.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
IDAllocator.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
InsertionSort.h AK: Fix InsertionSort to respect specified bounds 2024-12-06 06:44:27 +00:00
IntegralMath.h AK: Add lowest common multiple and greatest common divisor functions 2025-04-23 09:13:45 +01:00
IntrusiveDetails.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
IntrusiveList.h AK: Annotate [[no_unique_address]] members with NO_UNIQUE_ADDRESS macro 2025-04-15 02:19:06 -06:00
IntrusiveListRelaxedConst.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
IntrusiveRedBlackTree.h AK: Annotate [[no_unique_address]] members with NO_UNIQUE_ADDRESS macro 2025-04-15 02:19:06 -06:00
IPv4Address.h AK: Remove uneeded null StringView handling for IP string parsing 2026-02-21 12:37:44 +01:00
IPv6Address.h AK: Remove uneeded null StringView handling for IP string parsing 2026-02-21 12:37:44 +01:00
IterationDecision.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Iterator.h AK+LibJS: Add [[nodiscard]] to operator* in common types 2024-10-25 09:15:28 +02:00
JsonArray.cpp AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
JsonArray.h AK: Fix the JsonArray constructor for accepting an iterable type 2025-03-04 15:33:39 -05:00
JsonArraySerializer.h Everywhere: Remove all KERNEL #defines 2024-06-18 09:36:25 +02:00
JsonObject.cpp AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
JsonObject.h AK+Everywhere: Convert JSON value serialization to String 2025-02-20 19:27:51 -05:00
JsonObjectSerializer.h AK+Everywhere: Store JSON strings as String 2025-02-20 19:27:51 -05:00
JsonParser.cpp AK: Protect AK's JSON parser against invalid UTF-8 2026-04-28 22:54:47 +02:00
JsonParser.h AK: Protect AK's JSON parser against invalid UTF-8 2026-04-28 22:54:47 +02:00
JsonValue.cpp AK: Disallow construction of JsonParser 2025-03-20 10:50:24 +01:00
JsonValue.h AK: Disallow constructing a JsonValue from a ByteString 2026-04-28 22:54:47 +02:00
kmalloc.cpp AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
kmalloc.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
LEB128.h AK: Skip vcalls to Stream::read_value and read_until_filled in LEB128 2025-08-08 12:54:06 +02:00
LexicalPath.cpp AK: Add LexicalPath::is_root() 2024-11-19 22:07:01 -07:00
LexicalPath.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
LexicalPathWindows.cpp AK: Don't crash on empty extension in LexicalPath::has_extension 2025-02-17 14:57:00 +01:00
LsanSuppressions.h LibGfx+LibWeb: Replace remaining OpenType implementation with Skia 2024-09-05 19:21:52 +02:00
Math.h AK+LibGfx: Prefer if consteval over is_constant_evaluated 2026-02-22 13:56:12 -05:00
MaybeOwned.h AK: Allow creating a MaybeOwned<Superclass> from a MaybeOwned<Subclass> 2024-03-25 20:35:00 +01:00
MemMem.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Memory.h AK: Remove fast_u32_xxx apis from Memory.h 2025-03-03 15:58:27 +01:00
MemoryStream.cpp AK: Switch AllocatingMemoryStream to a singly-linked chunk list 2026-04-22 13:32:07 +02:00
MemoryStream.h AK: Switch AllocatingMemoryStream to a singly-linked chunk list 2026-04-22 13:32:07 +02:00
NeverDestroyed.h AK: Include missing StdLibExtras from NeverDestroyed 2024-11-19 14:32:11 -07:00
Noncopyable.h AK: Loosen the restrictions on non-copyable/non-movable containers 2025-04-22 21:19:31 -06:00
NonnullOwnPtr.h AK: Store hash with HashTable entry to avoid expensive equality checks 2025-09-18 22:37:18 +02:00
NonnullRawPtr.h AK: Store hash with HashTable entry to avoid expensive equality checks 2025-09-18 22:37:18 +02:00
NonnullRefPtr.h AK: Store hash with HashTable entry to avoid expensive equality checks 2025-09-18 22:37:18 +02:00
NumberFormat.cpp AK: Remove unused include from NumberFormat 2026-02-17 12:38:51 +00:00
NumberFormat.h AK: Remove unused include from NumberFormat 2026-02-17 12:38:51 +00:00
NumericLimits.h AK: Add 16-bit float type 2024-11-10 14:48:20 -07:00
Optional.h AK: Add SentinelOptional 2026-03-20 12:03:36 +01:00
OptionParser.cpp AK: Remove unused include from OptionParser 2026-02-17 12:38:51 +00:00
OptionParser.h AK: Remove unused include from OptionParser 2026-02-17 12:38:51 +00:00
OwnPtr.h AK: Store hash with HashTable entry to avoid expensive equality checks 2025-09-18 22:37:18 +02:00
Platform.h AK+Meta: Make AK / ObjC interop MacOS only 2026-05-05 22:08:24 +02:00
Queue.h AK: Use deducing this for AK::queue::head() and tail() 2026-03-17 18:58:37 -05:00
QuickSort.h AK: Remove redundant condition from Quick Sort 2024-12-22 12:33:41 +01:00
Random.cpp AK+LibWeb: Move generation of random UUIDs into AK 2026-03-24 12:04:50 -04:00
Random.h AK+LibWeb: Move generation of random UUIDs into AK 2026-03-24 12:04:50 -04:00
RedBlackTree.h AK: Add find methods to RedBlackTree returning mutable iterators 2026-01-29 05:22:27 -06:00
RefCounted.h AK: Call deref_base() on the pointer type 2026-02-18 13:13:32 -06:00
RefPtr.h AK: Store hash with HashTable entry to avoid expensive equality checks 2025-09-18 22:37:18 +02:00
Result.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
ReverseIterator.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
SaturatingMath.h AK: Add SaturatingMath.h with branchless saturating arithmetic 2026-03-21 18:20:09 -05:00
ScopedValueRollback.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
ScopeGuard.h AK: Make ScopeGuard and ArmedScopeGuard [[nodiscard]] 2025-01-09 18:36:34 +00:00
ScopeLogger.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
SIMD.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
SIMDExtras.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Singleton.h LibWebView: Enable in Windows CI 2025-08-23 16:04:36 -06:00
SinglyLinkedList.h AK: Avoid UAF for consecutive SinglyLinkedList removals 2026-04-21 18:09:29 +02:00
SinglyLinkedListSizePolicy.h AK: Combine SinglyLinkedList and SinglyLinkedListWithCount 2023-01-02 20:13:24 +00:00
SourceGenerator.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
SourceLocation.h AK: Make SourceLocation's copy assignment operator take const 2026-02-18 13:13:32 -06:00
Span.h LibIPC: Encode spans of trivial arithmetic types more efficiently 2025-12-01 15:12:52 +01:00
Stack.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
StackInfo.cpp AK: Use getrlimit() to find the correct main thread stack size on macOS 2024-11-10 19:12:59 +01:00
StackInfo.h AK: Use __builtin_frame_address to find current stack depth remaining 2023-07-01 07:03:11 +02:00
StackUnwinder.h AK: Remove error passthrough from StackUnwinder 2026-03-03 11:26:42 -06:00
StdLibExtraDetails.h AK: Add IsTriviallyRelocatable type trait 2026-03-19 14:21:44 +01:00
StdLibExtras.h AK+LibGfx: Prefer if consteval over is_constant_evaluated 2026-02-22 13:56:12 -05:00
Stream.cpp AK: Make some Stream::read* functions available inline 2025-08-08 12:54:06 +02:00
Stream.h AK: Make some Stream::read* functions available inline 2025-08-08 12:54:06 +02:00
String.cpp AK: Prefer Optional<StringView> for String::bijective_base_from 2026-02-21 12:37:44 +01:00
String.h AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
StringBase.cpp AK: Remove unused include from StringBase 2026-02-17 12:38:51 +00:00
StringBase.h AK+LibGfx: Prefer if consteval over is_constant_evaluated 2026-02-22 13:56:12 -05:00
StringBuilder.cpp AK: Reset UTF-16 StringBuilder ascii flag on clear() 2026-05-09 09:49:02 -04:00
StringBuilder.h AK: Initialize StringBuilder buffer in place 2025-10-05 11:24:46 +02:00
StringConversions.cpp AK+LibJS: Replace home-grown Ryu implementation with fmt's dragonbox 2026-02-23 18:30:40 +01:00
StringConversions.h AK+LibJS: Replace home-grown Ryu implementation with fmt's dragonbox 2026-02-23 18:30:40 +01:00
StringData.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
StringHash.h AK: Make hashing of UTF-16 strings cheaper 2025-08-07 02:05:50 +02:00
StringNumber.h AK: Skip ASCII validation in {Utf16String,String}::number() 2025-10-05 11:24:46 +02:00
StringUtils.cpp AK: Remove public null state from StringView 2026-03-31 13:48:50 +01:00
StringUtils.h AK+Everywhere: Replace custom number parsers with fast_float 2025-07-03 09:51:56 -04:00
StringView.cpp AK: Use memchr for StringView::contains() 2026-05-11 11:33:24 +02:00
StringView.h AK: Allow creating a StringView from an empty ReadonlyBytes 2026-03-31 19:01:10 +02:00
TemporaryChange.h AK: Fully qualify use of move in TemporaryChange 2025-03-22 17:27:45 +01:00
Time.cpp AK: Avoid overflow in Duration::to_time_units() with fraction near 1 2026-04-16 15:08:27 -05:00
Time.h LibMedia+LibWeb: Implement HTMLMediaElement.getStartDate() 2026-05-05 14:45:00 -05:00
Traits.h AK: Add and use IdentityHashTraits<Integral> 2026-02-24 13:24:58 +01:00
Trie.h AK+LibRegex: Only set node metadata on Trie::ensure_child if missing 2025-11-21 02:46:33 +01:00
Try.h AK+LibJS: Allow {TRY,MUST}{,_OR_THROW_OOM} on list-initializers 2024-12-04 16:45:58 +00:00
Tuple.h Everywhere: Run clang-format 2026-02-18 08:02:45 -05:00
TypeCasts.h AK: Simplify as_if<T> when fast_is<T> is unavailable 2026-02-27 11:42:38 -05:00
TypedTransfer.h AK: Add TypedTransfer<T>::relocate() 2026-03-19 14:21:44 +01:00
TypeList.h AK: Make IndexSequence use size_t 2024-02-11 18:53:00 +01:00
Types.h AK: Remove unused __ptrdiff_t declaration 2025-11-07 11:27:51 +01:00
UFixedBigInt.h Everywhere: Slap some [[clang::lifetimebound]] where appropriate 2025-09-01 11:11:38 +02:00
UFixedBigIntDivision.h AK: Move generalized internals of UFixedBigIntDivision to BigIntBase 2024-03-25 14:26:29 -06:00
UnicodeUtils.h AK: Fix usage of constexpr within Utf16View and related utilities 2025-07-05 01:25:22 +12:00
Utf8View.cpp AK: Use memchr for Utf8View::contains() ASCII fast path 2026-05-11 11:33:24 +02:00
Utf8View.h AK: Remove public null state from StringView 2026-03-31 13:48:50 +01:00
Utf16FlyString.cpp AK: Cache hashes for fly string interning 2026-01-26 19:37:42 +01:00
Utf16FlyString.h AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
Utf16String.cpp AK: Skip ASCII validation in {Utf16String,String}::number() 2025-10-05 11:24:46 +02:00
Utf16String.h AK: Make short ASCII string literals compile-time constants 2026-04-17 16:22:56 +02:00
Utf16StringBase.h AK+LibGfx: Prefer if consteval over is_constant_evaluated 2026-02-22 13:56:12 -05:00
Utf16StringData.cpp AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
Utf16StringData.h AK: Keep Utf16StringData trailing storage out of tail padding 2026-05-08 18:00:59 -04:00
Utf16View.cpp AK: Remove unused include from Utf16View 2026-02-17 12:38:51 +00:00
Utf16View.h AK: Fix Utf16View::operator<=> code-unit ordering on little-endian 2026-04-22 19:12:54 +02:00
Utf32View.cpp AK: Add a comparison operator for Utf32View 2024-10-20 08:50:01 +02:00
Utf32View.h AK: Add a UTF-16 string with optimized short- and ASCII-string storage 2025-07-18 12:45:38 -04:00
ValueComparingRefPtr.h AK: Allow comparing ValueComparingRefPtr with nullptr 2026-02-20 22:01:44 +00:00
Variant.h AK: Apply empty base optimization to Variant on Windows 2026-03-25 00:57:49 +01:00
Vector.h AK: Adopt mimalloc v2 as main allocator 2026-04-08 09:57:53 +02:00
Weakable.h AK: Remove fallible and unused WeakPtr/Weakable methods 2026-02-26 08:03:50 -05:00
WeakPtr.h AK+Everywhere: Add and use weak_callback() 2026-02-26 08:03:50 -05:00
Windows.h Everywhere: Abandon Swift adoption 2026-02-17 10:48:09 -05:00