1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:18:11 +00:00
serenity/Userland/Libraries/LibWeb
Andreas Kling c9700e100e LibWeb: Start making our layout system "transactional"
This patch adds a map of Layout::Node to FormattingState::NodeState.
Instead of updating layout nodes incrementally as layout progresses
through the formatting contexts, all updates are now written to the
corresponding NodeState instead.

At the end of layout, FormattingState::commit() is called, which
transfers all the values from the NodeState objects to the Node.

This will soon allow us to perform completely non-destructive layouts
which don't affect the tree.

Note that there are many imperfections here, and still many places
where we assign to the NodeState, but later read directly from the Node
instead. I'm just committing at this stage to make subsequent diffs
easier to understand.
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: Start making our layout system "transactional" 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: Start making our layout system "transactional" 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: Start making our layout system "transactional" 2022-02-21 18:35:12 +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