1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:58:12 +00:00
serenity/Userland/Libraries/LibWeb
Linus Groh a05c998e69 LibWeb: Add A JS setter macro for [Replaceable] IDL properties
The [Replaceable] attribute "indicates that setting the corresponding
property on the platform object will result in an own property with the
same name being created on the object which has the value being
assigned. This property will shadow the accessor property corresponding
to the attribute, which exists on the interface prototype object."
(https://heycam.github.io/webidl/#Replaceable)

The spec doesn't tell how exactly this is supposed to be done, but other
engines just have a setter as well that just redefines the property
as a data descriptor when called, and returns undefined.
It's bound to the property name and requires an object of the correct
type, so I mirrored these constraints here. Storing the setter and
calling it multiple times will therefore just work.

Implementing this in the wrapper generator is left as an exercise for
the reader, this is going to be used in WindowObject, which isn't
generated from IDL yet.
2021-09-12 15:53:48 +02:00
..
Bindings LibWeb: Add A JS setter macro for [Replaceable] IDL properties 2021-09-12 15:53:48 +02:00
Cookie Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
CSS LibWeb: Add DOM::Window::page() 2021-09-09 21:25:10 +02:00
DOM LibWeb: Add the History object and stub pushState and replaceState 2021-09-12 01:41:44 +02:00
DumpLayoutTree LibWeb+WebContent: Port DumpLayoutTree to OutOfProcessWebView 2021-09-08 11:07:14 +02:00
HighResolutionTime LibWeb: Rename DOM::Window::document() => associated_document() 2021-09-09 21:25:10 +02:00
HTML LibJS: Change Interpreter::create_with_existing_{global_object => realm} 2021-09-12 15:18:25 +02:00
Layout LibWeb: Rename InitialContainingBlockBox => InitialContainingBlock 2021-09-08 11:27:46 +02:00
Loader LibWeb: Rename BrowsingContext::document() => active_document() 2021-09-09 21:25:10 +02:00
NavigationTiming Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Page LibWeb+Browser: Add Debug menu action for toggling Same-Origin Policy 2021-09-12 02:13:28 +02:00
Painting LibWeb: Rename InitialContainingBlockBox => InitialContainingBlock 2021-09-08 11:27:46 +02:00
Scripts Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
SVG LibWeb: Ignore svg elements outside of <svg> when building layout tree 2021-08-05 20:17:08 +02:00
Tests LibWeb: Add support HTMLScriptElement.supports 2021-09-03 23:11:58 +02:00
UIEvents AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
WebAssembly LibWeb: Use ErrorType::NotAnObjectOfType instead of NotA 2021-09-12 00:16:39 +02:00
XHR LibWeb+Browser: Add Debug menu action for toggling Same-Origin Policy 2021-09-12 02:13:28 +02:00
CMakeLists.txt LibWeb: Add the History object and stub pushState and replaceState 2021-09-12 01:41:44 +02:00
DOMTreeModel.cpp LibWeb: Implement DOMTreeModel::index_for_node() 2021-09-02 22:16:41 +02:00
DOMTreeModel.h LibWeb: Implement DOMTreeModel::index_for_node() 2021-09-02 22:16:41 +02:00
Dump.cpp LibWeb: Fix dump_selector() handling of attribute selectors 2021-07-31 00:18:11 +02:00
Dump.h LibWeb: Convert CSS Dump, Selector, & SelectorEngine to east const 2021-07-14 13:31:00 +02:00
FontCache.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FontCache.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Forward.h LibWeb: Add the History object and stub pushState and replaceState 2021-09-12 01:41:44 +02:00
InProcessWebView.cpp LibWeb: Rename BrowsingContext::document() => active_document() 2021-09-09 21:25:10 +02:00
InProcessWebView.h LibWeb: Rename InitialContainingBlockBox => InitialContainingBlock 2021-09-08 11:27:46 +02:00
LayoutTreeModel.cpp LibWeb: Rename InitialContainingBlockBox => InitialContainingBlock 2021-09-08 11:27:46 +02:00
LayoutTreeModel.h Everywhere: Replace Model::update() with Model::invalidate() 2021-08-06 19:14:31 +02: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 Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
OutOfProcessWebView.cpp LibWeb+WebContent: Add WebContentClient::did_request_scroll_to() call 2021-09-11 15:51:05 +01:00
OutOfProcessWebView.h LibWeb+WebContent: Add WebContentClient::did_request_scroll_to() call 2021-09-11 15:51:05 +01:00
QualifiedName.h LibWeb: Use HTML-uppercased qualified name for the Element node name 2021-05-04 23:24:03 +01:00
StylePropertiesModel.cpp Everywhere: Use my shiny new serenityos.org email :^) 2021-09-03 12:22:36 +02:00
StylePropertiesModel.h Everywhere: Use my shiny new serenityos.org email :^) 2021-09-03 12:22:36 +02:00
TreeNode.h LibWeb: Add preceding and following Node cases in tree constraints 2021-09-07 22:06:39 +02:00
URLEncoder.cpp LibWeb: Use correct percent encode set for form submissions 2021-06-01 23:26:03 +04:30
URLEncoder.h LibWeb: Use correct percent encode set for form submissions 2021-06-01 23:26:03 +04:30
WebContentClient.cpp LibWeb+WebContent: Add WebContentClient::did_request_scroll_to() call 2021-09-11 15:51:05 +01:00
WebContentClient.h LibWeb+WebContent: Add WebContentClient::did_request_scroll_to() call 2021-09-11 15:51:05 +01:00
WebViewHooks.h LibWeb+WebContent: Remove old console-logging IPC calls 2021-09-06 18:20:26 +02:00