1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 18:28:12 +00:00
serenity/Userland/Libraries/LibWeb
Andreas Kling 561612f219 LibWeb: Add Layout::FormattingState
The purpose of this new object will be to keep track of various states
during an ongoing layout.

Until now, we've been updating layout tree nodes as we go during layout,
which adds an invisible layer of implicit serialization to the whole
layout system.

My idea with FormattingState is that running layout will produce a
result entirely contained within the FormattingState object. At the end
of layout, it can then be applied to the layout tree, or simply queried
for some metrics we were trying to determine.

When doing subtree layouts to determine intrinsic sizes, we will
eventually be able to clone the current FormattingState, and run the
subtree layout in isolation, opening up opportunities for parallelism.

This first patch doesn't go very far though, it merely adds the object
as a skeleton class, and makes sure the root BFC has one. :^)
2022-02-21 18:35:12 +01:00
..
Bindings LibWeb: Add partially functioning Worker API 2022-02-17 22:45:21 +01:00
Cookie Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
Crypto LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
CSS LibWeb: Assign correct viewport dimensions when making style for ICB 2022-02-21 18:35:12 +01:00
DOM LibWeb: Add Layout::FormattingState 2022-02-21 18:35:12 +01:00
DOMParsing LibWeb: Clean up static function in header 2021-10-06 23:52:40 +01:00
DumpLayoutTree Everywhere: Remove unused ArgsParser header 2021-11-01 21:12:58 +01:00
Encoding LibWeb: Implement a very basic version of TextDecoder 2022-02-16 22:48:32 +03:30
Fetch LibWeb: Implement spec-compliant MIME type struct and parser 2022-02-12 12:53:28 +01:00
Geometry LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
HighResolutionTime LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
HTML LibWeb: Add basic support for dynamic markup insertion 2022-02-21 18:26:43 +01:00
IntersectionObserver LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
Layout LibWeb: Add Layout::FormattingState 2022-02-21 18:35:12 +01:00
Loader LibWeb: Send appropriate Accept header for FrameLoader requests 2022-02-18 01:46:45 +01:00
MimeSniff LibWeb: Fix comparing current position to quote in Mime Type quote parse 2022-02-12 17:13:14 +00:00
NavigationTiming LibWeb: Use RefCountForwarder for NavigationTiming::PerformanceTiming 2021-12-09 21:28:52 +01:00
Page LibWeb: Add key code 'Esc' to ignored Keydown Events in EventHandler 2022-02-20 10:57:30 +01:00
Painting LibWeb: Remove redundant Length::resolved() calls 2022-02-18 19:04:37 +01:00
RequestIdleCallback LibWeb: Add the IdleDeadline interface from the RequestIdleCallback spec 2021-09-17 13:20:18 +02:00
ResizeObserver LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
Scripts Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Selection LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
SVG LibWeb: SVG parse signed numbers in eliptical arc 2022-02-21 16:32:24 +01:00
Tests LibWeb: Capture <script> element's node document on execution 2021-12-21 13:50:00 -08:00
UIEvents LibWeb: Add MouseEvent.x and MouseEvent.y 2022-02-07 13:28:59 +01:00
URL LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
WebAssembly LibWeb: Don't check for get().is_empty() in WebAssemblyMemoryConstructor 2022-02-16 22:48:32 +03:30
WebSockets LibWeb: Use more relevant WebSocket spec links 2022-02-18 19:34:08 +00:00
XHR LibWeb: Separate "event listener" from "EventListener" 2022-02-16 22:21:45 +01:00
CMakeLists.txt LibWeb: Share QualifiedName data between identical instances 2022-02-19 14:45:59 +01:00
DOMTreeModel.cpp Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
DOMTreeModel.h AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional) 2021-11-17 00:21:10 +01:00
Dump.cpp LibWeb: Support CSS :only-of-type selector 2022-02-18 01:49:32 +01:00
Dump.h LibWeb: Implement @supports rule :^) 2021-10-08 23:02:57 +02:00
FontCache.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FontCache.h Everywhere: Fully qualify font names by including their slope 2022-02-01 10:06:26 +01:00
Forward.h LibWeb: Add support for the options variant of {add,remove}EventListener 2022-02-20 02:03:24 +01:00
ImageDecoding.cpp LibCore+LibIPC+Everywhere: Return Stream::LocalSocket from LocalServer 2022-01-15 13:29:48 +03:30
ImageDecoding.h LibWeb: Move ImageDecoder client connection singleton to its own file 2021-11-20 10:56:31 +01:00
InProcessWebView.cpp LibWeb: Rename Layout::Box::size() to content_size() 2022-02-06 01:07:47 +01:00
InProcessWebView.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
Namespace.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Namespace.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Origin.h LibWeb: Implement Origin's "same origin-domain" concept 2022-02-15 01:31:03 +01:00
OutOfProcessWebView.cpp LibWeb: Plumb OOPWV focus state across the IPC boundary 2022-02-06 22:13:13 +01:00
OutOfProcessWebView.h LibWeb: Plumb OOPWV focus state across the IPC boundary 2022-02-06 22:13:13 +01:00
StylePropertiesModel.cpp Everywhere: Use my shiny new serenityos.org email :^) 2021-09-03 12:22:36 +02:00
StylePropertiesModel.h AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional) 2021-11-17 00:21:10 +01:00
TreeNode.h LibWeb: Add TreeNode<T>::next_in_pre_order(T* stay_within) variant 2022-01-23 01:22:41 +01:00
WebContentClient.cpp LibCore+LibIPC+Everywhere: Return Stream::LocalSocket from LocalServer 2022-01-15 13:29:48 +03:30
WebContentClient.h LibCore+LibIPC+Everywhere: Return Stream::LocalSocket from LocalServer 2022-01-15 13:29:48 +03:30
WebViewHooks.h Browser+LibWeb+WebContent: Add variables display to Inspector 2021-12-10 06:52:17 +01:00