Tobias Christiansen
6e58b71c83
Meta: Add myself to the mailmap
2021-10-04 12:03:53 +01:00
Andreas Kling
bf43b0f884
LibWeb: Make IDL-constructed objects aware of their JS wrapper
...
Having IDL constructors call FooWrapper::create(impl) directly was
creating a wrapper directly without telling the impl object about the
wrapper. This meant that we had wrapped C++ objects with a null
wrapper() pointer.
2021-10-04 12:13:25 +02:00
Andreas Kling
643e2dec2c
LibWeb: Make WindowObject::clear_interval() call correct function
...
This was incorrectly calling DOM::Window::clear_timeout(). In practice,
these functions are interchangeable, but let's have things looking
correct regardless.
2021-10-04 12:13:25 +02:00
Tim Schumacher
7af7fc8c16
Everywhere: Fix more Copyright header inconsistencies
2021-10-04 11:10:09 +01:00
Ali Mohammad Pur
e112e6620f
LibCore: Allow reads smaller than the buffered data size in IODevice
...
This restriction doesn't make much sense, a user should be free to
consume the buffered data with as small a max_size as they desire.
This fixes a possible RequestServer spin when talking to HTTP servers.
2021-10-04 11:00:44 +02:00
Linus Groh
7ee3432ab6
LibWeb: Add basic support for script string argument to setInterval()
...
Instead of passing a function it is also possible to pass a string,
which is then evaluated as a classic script.
2021-10-04 09:54:24 +01:00
Linus Groh
9f4ac38f08
LibWeb: Add basic support for script string argument to setTimeout()
...
Instead of passing a function it is also possible to pass a string,
which is then evaluated as a classic script.
This means we now support the following example from the "timer
initialization steps", step 16 - except that it runs the timers in
reverse order, so the `log` result is `"TWO ONE "`.
https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timer-initialisation-steps
var log = '';
function logger(s) { log += s + ' '; }
setTimeout({ toString: function () {
setTimeout("logger('ONE')", 100);
return "logger('TWO')";
} }, 100);
2021-10-04 09:54:24 +01:00
Linus Groh
32b620c62d
LibJS: Convert atomic_compare_exchange_impl() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
74e29fa60b
LibJS: Convert perform_atomic_operation() to ThrowCompletionOr
2021-10-04 09:52:15 +01:00
Linus Groh
f95560b21a
LibJS: Convert atomic_read_modify_write() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
6cef1dfa6d
LibJS: Convert validate_atomic_access() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
12ac2338aa
LibJS: Convert validate_integer_typed_array() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
253d9a38d1
LibJS: Convert typed_array_create() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
04ff12740c
LibJS: Convert initialize_typed_array_from_list() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
d551e0e55e
LibJS: Convert init_typed_array_from_array_like() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
8e3957767e
LibJS: Convert init_typed_array_from_typed_array() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
7f86c32d62
LibJS: Convert init_typed_array_from_array_buffer() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
3655aee543
LibJS: Convert validate_typed_array() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
d7d73f9100
LibJS: Convert to_property_descriptor() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-04 09:52:15 +01:00
Linus Groh
2f42675ebd
LibJS: Convert ordinary_set_with_own_descriptor() to ThrowCompletionOr
2021-10-04 09:52:15 +01:00
Linus Groh
3b59a4577d
LibJS: Convert define_properties() to ThrowCompletionOr
2021-10-04 09:52:15 +01:00
Linus Groh
0a49a2db60
LibJS: Convert set_immutable_prototype() to ThrowCompletionOr
2021-10-04 09:52:15 +01:00
Andreas Kling
a7b1c7eb16
LibWeb: Don't send a request body in XMLHttpRequest GET or HEAD
2021-10-04 00:06:48 +02:00
Andreas Kling
0cb4d48283
LibJS: Remove unused ExecutionContext::arguments_object
2021-10-03 23:58:21 +02:00
Andreas Kling
f8354c5503
LibWeb+Browser: Disable Same-Origin Policy by default for now
...
Until we have CORS preflight checks working, this is only getting in the
way of testing and I have to disable it manually all the time.
2021-10-03 23:39:07 +02:00
Andreas Kling
573955be7f
LibWeb: Basic support for location.replace(url)
...
This is not entirely to spec, but gets the basic job done.
2021-10-03 23:36:56 +02:00
Linus Groh
37784a85c0
LibWeb: Run clang-format on HTMLAreaElement.cpp
2021-10-03 21:40:37 +01:00
Linus Groh
1f7068ace9
LibJS: Remove unused TemporaryChange include from Object.cpp
2021-10-03 21:40:07 +01:00
Andreas Kling
ba0c907a6f
LibWeb: Make the URL.port setter return after assigning the empty string
...
This matches the spec ("3. Otherwise, ...")
2021-10-03 21:31:46 +02:00
Andreas Kling
a7a3f41f67
LibWeb: Implement the HTMLHyperlinkElementUtils mixin
...
This is used by HTMLAnchorElement and HTMLAreaElement to share
functionality related to their href attribute.
2021-10-03 21:31:46 +02:00
Linus Groh
e5b8544762
LibJS: Convert enumerable_own_property_names() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
3af559ee8a
LibJS: Convert test_integrity_level() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
ed5a9aa038
LibJS: Convert set_integrity_level() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
3be26f56db
LibJS: Convert has_own_property() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
f38a5957bf
LibJS: Convert has_property() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
a29b7a3ec7
LibJS: Convert delete_property_or_throw() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
fe86b04b42
LibJS: Convert define_property_or_throw() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
ebf57df431
LibJS: Convert create_non_enum_data_p_or_throw() to ThrowCompletionOr
...
The actual name is a bit longer, but you know what I mean :^)
2021-10-03 20:14:03 +01:00
Linus Groh
364dd42fc8
LibJS: Convert create_data_property_or_throw() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
bb2499cd7a
LibJS: Convert create_method_property() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
fb443b3fb4
LibJS: Convert create_data_property() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
1d45541278
LibJS: Convert Object::set() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
b7e5f08e56
LibJS: Convert Object::get() to ThrowCompletionOr
...
To no one's surprise, this patch is pretty big - this is possibly the
most used AO of all of them. Definitely worth it though.
2021-10-03 20:14:03 +01:00
Linus Groh
9b6c09e2c4
LibJS: Convert is_extensible() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
fa2ac5b759
LibJS: Convert ordinary_to_primitive() to ThrowCompletionOr
...
Also add spec step comments to it while we're here.
2021-10-03 20:14:03 +01:00
Linus Groh
867b19affb
LibJS: Convert install_error_cause() to ThrowCompletionOr
2021-10-03 20:14:03 +01:00
Linus Groh
4d5bd092ea
LibJS: Use MUST() where applicable
2021-10-03 20:14:03 +01:00
Linus Groh
7cd3f7de61
LibJS: Add a MUST() macro, like TRY() but for the spec's !
shortcut
2021-10-03 20:14:03 +01:00
Ali Mohammad Pur
8f722302d9
LibRegex: Use a match table for character classes
...
Generate a sorted, compressed series of ranges in a match table for
character classes, and use a binary search to find the matches.
This is about a 3-4x speedup for character class match performance. :^)
2021-10-03 19:16:36 +02:00
Andreas Kling
478b36c37b
LibWeb: Only auto-reschedule HTML::EventLoop when there are runnables
...
HTML::EventLoop tries to reschedule itself when there are more tasks in
any of its queues, but let's not do it if none of them are runnable.
2021-10-03 18:25:15 +02:00