1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-19 13:55:07 +00:00
Commit graph

4247 commits

Author SHA1 Message Date
Ben Wiederhake
7f70676123 LibJS: Revert to original text in spec
See also:
36ff6187f6
https://github.com/SerenityOS/serenity/pull/18682#issuecomment-1537249544
2023-05-07 11:57:08 +02:00
Ben Wiederhake
36ff6187f6 Everywhere: Change spelling of 'behaviour' to 'behavior'
"The official project language is American English […]."
5d2e915623/CONTRIBUTING.md (L30)

Here's a short statistic of the occurrences of the word "behavio(u)r":

$ git grep -IPioh 'behaviou?r' | sort | uniq -c | sort -n
      2 BEHAVIOR
     24 Behaviour
     32 behaviour
    407 Behavior
    992 behavior

Therefore, it is clear that "behaviour" (56 occurrences) should be
regarded a typo, and "behavior" (1401 occurrences) should be preferred.

Note that The occurrences in LibJS are intentionally NOT changed,
because there are taken verbatim from the specification. Hence:

$ git grep -IPioh 'behaviou?r' | sort | uniq -c | sort -n
      2 BEHAVIOR
     10 behaviour
     24 Behaviour
    407 Behavior
   1014 behavior
2023-05-07 01:05:09 +02:00
Maciej
5d2e915623 LibJS: Guard against stack overflow in ProxyObject set_property()
For similar reason as in the previous commit.
2023-05-06 06:46:02 -07:00
Maciej
52a5a42147 LibJS: Guard against stack overflow in ProxyObject has_property()
If proxy has an undefined trap, it will fallback to target's
internal_has_property, which will then check target's prototype for
the requested property. If Proxy's prototype is set to the Proxy itself,
it will check in itself in a loop, causing a stack overflow.
2023-05-06 06:46:02 -07:00
Daniel Bertalan
be7bc41470 LibJS: Fix mix-up between assignment and comparison 2023-05-02 07:03:57 -04:00
Matthew Olsson
a9d192e882 LibJS+LibWeb: Explicitly mark ignored members in visit_edges methods 2023-04-30 06:04:33 +02:00
Matthew Olsson
39d8c8d2a9 LibJS+LibWeb: Add missing visit calls in visit_edges implementations 2023-04-30 06:04:33 +02:00
Matthew Olsson
82eeee2008 LibJS+LibWeb: Normalize calls to Base::visit_edges in GC objects 2023-04-30 06:04:33 +02:00
Tim Schumacher
5e7c838160 AK: Rename Stream::format() to Stream::write_formatted()
This brings the function name in line with how we usually name those
functions, which is with a `read_` or `write_` prefix depending on what
they do.

While at it, make the internal `_impl` function private and not-virtual,
since there is no good reason to ever override that function.
2023-04-25 07:30:16 +01:00
Peter Brottveit Bock
b6deb8fd42 LibJS: Replace DeprecatedString with String in strip_ansi 2023-04-23 16:56:06 +02:00
Peter Brottveit Bock
fac7045a44 LibJS: Use Stream::format instead of manually formating and printing 2023-04-23 16:56:06 +02:00
Sam Atkins
6d93e03211 LibWeb+Browser+Ladybird: Use JS::SafeFunction for EventLoop callbacks
This automatically protects captured objects from being GC'd before the
callback runs.
2023-04-21 20:44:47 +01:00
Linus Groh
d4eaaf905c LibJS: Port create_iterator_result_object() to NonnullGCPtr 2023-04-15 16:26:42 +02:00
Linus Groh
aff1ec6014 LibJS: Port iterator_step() to GCPtr 2023-04-15 16:23:03 +02:00
Linus Groh
e54536421a LibJS: Port iterator_next() to NonnullGCPtr 2023-04-15 16:22:57 +02:00
Linus Groh
b110258848 LibJS: Port this_symbol_value() to NonnullGCPtr 2023-04-15 16:06:52 +02:00
Linus Groh
dd91f1a5a5 LibJS: Port this_string_value() to NonnullGCPtr 2023-04-15 16:06:18 +02:00
Linus Groh
9c6eba771a LibJS: Port this_bigint_value() to NonnullGCPtr 2023-04-15 16:06:02 +02:00
Linus Groh
d8ee4c0e7d LibJS: Add remaining missing spec comments to StringPrototype
The changes from ac2f109 were from an old branch, which either had a
rebase accident or was simply incomplete. Should be complete now :^)
2023-04-15 16:00:59 +02:00
Linus Groh
ac2f1098f7 LibJS: Add spec comments to StringPrototype 2023-04-15 14:07:28 +02:00
Linus Groh
16197af60d LibJS: Add spec comments to StringObject 2023-04-15 14:07:28 +02:00
Linus Groh
9cf1a244f8 LibJS: Add spec comments to ProxyConstructor 2023-04-15 14:07:28 +02:00
Linus Groh
b1ea436093 LibJS: Add spec comments to ObjectPrototype 2023-04-15 14:07:28 +02:00
Linus Groh
50cb4f08a1 LibJS: Add spec comments to ObjectConstructor 2023-04-15 14:07:28 +02:00
Linus Groh
f0dd425492 LibJS: Add spec comments to Object 2023-04-15 14:07:28 +02:00
Linus Groh
63624a3a67 LibJS: Add spec comments to NumberConstructor 2023-04-15 14:07:28 +02:00
Linus Groh
23d9096541 LibJS: Add spec comments to MathObject 2023-04-15 14:07:28 +02:00
Linus Groh
f3f78642f4 LibJS: Add spec comments to MapPrototype 2023-04-15 14:07:28 +02:00
Linus Groh
2140200a19 LibJS: Add spec comments to GlobalObject 2023-04-15 14:07:28 +02:00
Linus Groh
89503a0cfe LibJS: Port PrototypeObject::typed_this_value() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
Linus Groh
a23dd88f61 LibJS: Port PrototypeObject::typed_this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
Linus Groh
15360e50d3 LibJS: Port PrototypeObject::this_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
Linus Groh
b33b0d60e6 LibJS: Port Value::get_method() to GCPtr 2023-04-14 09:59:29 +02:00
Linus Groh
9279b0780d LibJS: Port Value::to_bigint() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
Linus Groh
f345f72b55 LibJS: Port Value::to_object() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
Linus Groh
e79f5b6e85 LibJS: Port Value::to_primitive_string() to NonnullGCPtr 2023-04-14 09:59:29 +02:00
Linus Groh
2555d7a36a LibJS: Make well-known symbol getters return NonnullGCPtr
None of these are ever null after the VM has been initialized, as proved
by virtually every caller immediately dereferencing the raw pointer.
2023-04-13 14:29:42 +02:00
Linus Groh
b84f8fb55b LibJS: Make intrinsics getters return NonnullGCPtr
Some of these are allocated upon initialization of the intrinsics, and
some lazily, but in neither case the getters actually return a nullptr.

This saves us a whole bunch of pointer dereferences (as NonnullGCPtr has
an `operator T&()`), and also has the interesting side effect of forcing
us to explicitly use the FunctionObject& overload of call(), as passing
a NonnullGCPtr is ambigous - it could implicitly be turned into a Value
_or_ a FunctionObject& (so we have to dereference manually).
2023-04-13 14:29:42 +02:00
Linus Groh
ed9e2366da LibJS: Add spec comments to WeakSetPrototype 2023-04-13 13:04:44 +02:00
Linus Groh
bccffed7e9 LibJS: Add spec comments to WeakSetConstructor 2023-04-13 13:04:44 +02:00
Linus Groh
77fc05afd6 LibJS: Add spec comments to WeakRefPrototype 2023-04-13 13:04:44 +02:00
Linus Groh
7c9f1dcced LibJS: Add spec comments to WeakRefConstructor 2023-04-13 13:04:44 +02:00
Linus Groh
7bf92b5c3b LibJS: Add spec comments to WeakMapPrototype 2023-04-13 13:04:44 +02:00
Linus Groh
627dc1b88b LibJS: Add spec comments to WeakMapConstructor 2023-04-13 13:04:44 +02:00
Linus Groh
89bcc05a0d LibJS: Add spec comments to TypedArrayPrototype 2023-04-13 13:04:44 +02:00
Linus Groh
aefa053473 LibJS: Add spec comments to TypedArrayConstructor 2023-04-13 13:04:44 +02:00
Linus Groh
81c6ad047a LibJS: Add spec comments to SymbolPrototype 2023-04-13 13:04:44 +02:00
Linus Groh
0ae511edae LibJS: Add spec comments to SymbolConstructor 2023-04-13 13:04:44 +02:00
Linus Groh
066133d97b LibJS: Add spec comments to StringConstructor 2023-04-13 13:04:44 +02:00
Linus Groh
1b3c3f9777 LibJS: Add spec comments to SetPrototype 2023-04-13 13:04:44 +02:00