summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2021-10-03LibJS: Convert set_integrity_level() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Convert has_own_property() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Convert has_property() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Convert delete_property_or_throw() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Convert define_property_or_throw() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Convert create_non_enum_data_p_or_throw() to ThrowCompletionOrLinus Groh
The actual name is a bit longer, but you know what I mean :^)
2021-10-03LibJS: Convert create_data_property_or_throw() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Convert create_method_property() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Convert create_data_property() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Convert Object::set() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Convert Object::get() to ThrowCompletionOrLinus Groh
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-03LibJS: Convert is_extensible() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Convert ordinary_to_primitive() to ThrowCompletionOrLinus Groh
Also add spec step comments to it while we're here.
2021-10-03LibJS: Convert install_error_cause() to ThrowCompletionOrLinus Groh
2021-10-03LibJS: Use MUST() where applicableLinus Groh
2021-10-03LibJS: Add a MUST() macro, like TRY() but for the spec's `!` shortcutLinus Groh
2021-10-03LibRegex: Use a match table for character classesAli Mohammad Pur
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-03LibWeb: Only auto-reschedule HTML::EventLoop when there are runnablesAndreas Kling
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-03LibWeb: Remove unnecessary `this` capture in RequestAnimationFrameDriverAndreas Kling
2021-10-03LibWeb: Remove pointless brackets from Length::to_string()Andreas Kling
Since we expose these strings to web content via LengthStyleValue, let's not have non-standard brackets in there to confuse anyone trying to parse these values. :^)
2021-10-03LibWeb: Make ColorStyleValue serialization spec compliantAndreas Kling
[CSS Color 4] tells us to use either rgb() or rgba() notation, depending on the color's alpha value.
2021-10-03LibWeb: Fix that $0 was no longer accessibledavidot
We now set the realm (twice) on every console input. This can probably be avoided if we use two executing contexts one for the website the other for the console. This achieves a similar behavior but is not really nice and not really spec like.
2021-10-03LibJS: Fix improper usages of forward as flagged by SonarClouddavidot
2021-10-03LibJS: Fix that the interpreter did not clear the unwind statusdavidot
This meant that if some program threw an uncaught exception VM still had unwind_until set. This caused any further programs to not execute correctly. This will be fixed more thoroughly once we use Completions in the AST. Fixes #10323
2021-10-03js: Allow for completion of lexically declared variablesdavidot
This does require us to have a method which lists all the bindings in a declarative environment which is not in the spec.
2021-10-03js: Fix that auto completion of properties faileddavidot
For this we store the global environment in which we can do a lookup for the references variable. This is probably not entirely as the spec would specify as we would need a running executing context at all times you do things with references. Fixes #10281
2021-10-03LibJS: Add a specific test for invalid unicode characters in the lexerdavidot
Also fixes that it tried to make substrings past the end of the source if we overran the source length.
2021-10-03LibWeb: Don't update rendering in BrowsingContexts without opportunityAndreas Kling
This patch adds the "has a rendering opportunity" concept from the spec to BrowsingContext and uses it to filter out contexts that are unable to render right now when doing the event loop's rendering updates. Note that we actually consider all contexts to have a rendering opportunity at all times right now. Coming up with reasons to avoid rendering is left as a FIXME. :^)
2021-10-03LibWeb: Let HTML::EventLoop drive the firing of `resize` eventsAndreas Kling
2021-10-03LibWeb: Let HTML::EventLoop drive animation frame callbacksAndreas Kling
2021-10-03LibWeb: Let HTML::EventLoop keep track of live DOM::Document objectsAndreas Kling
This will be used by the event loop processing model.
2021-10-03LibWeb: Allow Document::ref() when ref-count is zeroAndreas Kling
DOM::Document has some special lifetime rules to support the DOM lifetime semantics expected on the web. Any DOM node will keep its document alive as well, even after the document's ref-count has reached zero. This is achieved by the Document::m_referencing_node_count counter. Because of this mechanism, we can't VERIFY(m_ref_count) in TreeNode where T may be a DOM::Document.
2021-10-03LibWeb: Only take runnable tasks from the HTML task queueAndreas Kling
We were previously willing to execute tasks before they had become runnable.
2021-10-03LibWeb: Improve HTML::EventLoop::spin_until()Andreas Kling
This algorithm now saved and restores the JavaScript execution context stack while performing a microtask checkpoint, as the spec mandates.
2021-10-03LibJS: Add a way to save/restore the entire execution context stackAndreas Kling
This will be used by LibWeb to squirrel away the stack while performing a microtask checkpoint in some cases. VM will simply consider saved execution context stacks as GC roots as well.
2021-10-03LibWeb: Have CSSStyleRule inherit from CSSRule in IDLLuke Wilde
This also allows removing the cssText attribute being on CSSStyleRule.
2021-10-03CrashReporter: Don't crash when "Generating..." Window gets closedsw1tchbl4d3
2021-10-03Everywhere: Use my awesome new serenityos email :^)davidot
2021-10-03LibWeb: Pass the correct timestamp to requestAnimationFrame callbacksAndreas Kling
The timestamp needs to be consistent with the "current high resolution time" as reflected by window.performance.now
2021-10-03LibWeb: Run setTimeout() and setInterval() callbacks as HTML tasksAndreas Kling
We now invoke DOM timer callbacks via HTML tasks. This brings callback sequencing closer to the spec, although there are still many imperfections in this area.
2021-10-03LibC: Implement mbrtowc closer to POSIXTim Schumacher
2021-10-03LibC: Specifically clear only stored bytes after successful mbrtowcTim Schumacher
2021-10-03LibC: Manually count stored bytes in mbstate_tTim Schumacher
This is probably a bit faster than constantly having to look through all stored bytes. It also helps when we are trying to store actual null bytes.
2021-10-03LibC: Remove the mbstate_reset helperTim Schumacher
A zero-initialized mbstate_t struct has to be a valid initial state, so we can just zero-initialize it whenever we need to reset. Having a helper function for resetting the struct might imply that you can add additional setup operations afterwards, which is not the case.
2021-10-03LibTLS: Split large application data packets into chunksAli Mohammad Pur
Each TLS record has a limited max size, we should respect that and split the packets. Fixes RecordOverflow errors when a packet larger than 18432 bytes is sent over.
2021-10-03LibC: Stub out swprintfTim Schumacher
2021-10-03LibC: Stub out wcstoldTim Schumacher
2021-10-03LibC: Stub out wcstodTim Schumacher
2021-10-03LibC: Stub out wcstofTim Schumacher
2021-10-03LibC: Stub out wcstoullTim Schumacher