ladybird/Userland/Services
Andreas Kling a4d51b3dc2 LibWeb: Add Painting::Box and move things from Layout::Box into it
The "paintable" state in Layout::Box was actually not safe to access
until after layout had been performed.

As a first step towards making this harder to mess up accidentally,
this patch moves painting information from Layout::Box to a new class:
Painting::Box. Every layout can have a corresponding paint box, and
it holds the final used metrics determined by layout.

The paint box is created and populated by FormattingState::commit().

I've also added DOM::Node::paint_box() as a convenient way to access
the paint box (if available) of a given DOM node.

Going forward, I believe this will allow us to better separate data
that belongs to layout vs painting, and also open up opportunities
for naturally invalidating caches in the paint box (since it's
reconstituted by every layout.)
2022-03-11 00:21:49 +01:00
..
AudioServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
ChessEngine ChessEngine: Remove unused 'rpath' promise 2022-01-03 15:56:41 +01:00
Clipboard Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
ConfigServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
CrashDaemon Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
DHCPClient DHCP4Client: Cast unused Timer return values to void 2021-12-05 15:31:03 +01:00
EchoServer Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
FileOperation Services: Port FileOperation to LibMain 2022-02-28 13:57:26 +01:00
FileSystemAccessServer Userland: Rename WindowServerConnection=>ConnectionToWindowServer 2022-02-25 22:35:12 +01:00
ImageDecoder Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
InspectorServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
KeyboardPreferenceLoader LibCore+Everywhere: Return ErrorOr from ConfigFile factory methods 2022-02-16 19:49:41 -05:00
LaunchServer Everywhere: Make JSON serialization fallible 2022-02-27 20:37:57 +01:00
LoginServer LoginServer: Add a label for login fail messages 2022-03-08 22:12:21 +01:00
LookupServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
NotificationServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
RequestServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
SpiceAgent SpiceAgent: Rename ClipboardServerConnection 2022-02-25 22:35:12 +01:00
SQLServer Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
SystemServer SystemServer: Create device files for gpus on startup 2022-03-09 14:58:48 +03:30
Taskbar Userland: Rename WindowServerConnection=>ConnectionToWindowServer 2022-02-25 22:35:12 +01:00
TelnetServer Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
WebContent LibWeb: Add Painting::Box and move things from Layout::Box into it 2022-03-11 00:21:49 +01:00
WebServer WebServer: Close the socket if Connection: keep-alive isn't requested 2022-02-18 13:19:26 +01:00
WebSocket Userland: Rename IPC ClientConnection => ConnectionFromClient 2022-02-25 22:35:12 +01:00
WindowServer LibGfx: Rename RGBA32 => ARGB32 2022-03-04 23:40:21 +01:00
CMakeLists.txt LoginServer: Layout a basic login window 2021-10-17 22:18:48 +02:00