Andreas Kling
13d7c09125
Libraries: Move to Userland/Libraries/
2021-01-12 12:17:46 +01:00
Andreas Kling
f48751a739
LibJS: Remove hand-rolled Object is_foo() helpers in favor of RTTI
2021-01-01 17:46:39 +01:00
Andreas Kling
98f2da9834
LibJS: Rename Cell::visit_children() => Cell::visit_edges()
...
The GC heap is really a graph of cells, so "children" didn't quite feel
appropriate here.
2020-11-28 17:16:48 +01:00
Andreas Kling
af51dc105a
LibJS+LibWeb: Add JS::Object::inherits(class_name)
...
To allow implementing the DOM class hierarchy in JS bindings, this
patch adds an inherits() function that can be used to ask an Object
if it inherits from a specific C++ class (by name).
The necessary overrides are baked into each Object subclass by the
new JS_OBJECT macro, which works similarly to C_OBJECT in LibCore.
Thanks to @Dexesttp for suggesting this approach. :^)
2020-06-21 15:15:52 +02:00
Andreas Kling
75f246dde8
LibJS: Make StringObject::primitive_string() return a reference
2020-04-29 12:33:28 +02:00
Andreas Kling
298c606200
LibJS: Pass prototype to StringObject constructor
2020-04-18 10:28:22 +02:00
Andreas Kling
070a8f2689
LibJS: Boolean, Number and String prototypes should have values too
...
It appears that calling .valueOf() on an objectified primitive's
prototype should return a value after all.
This matches what other engines are doing.
2020-04-10 13:09:35 +02:00
Andreas Kling
19452230cd
LibJS: Add "Heap" and "Runtime" subdirectories
...
Let's try to keep LibJS tidy as it expands. :^)
2020-03-16 14:37:19 +01:00