summaryrefslogtreecommitdiff
path: root/Userland/Libraries
AgeCommit message (Collapse)Author
2021-06-12WindowServer+LibGUI: Make window creation asynchronous :^)Andreas Kling
Let clients manage their own window ID's. If you try to create a new window with an existing ID, WindowServer will simply disconnect you for misbehaving. This removes the need for window creation to be synchronous, which means that most GUI applications can now batch their entire GUI initialization sequence without having to block waiting for responses.
2021-06-12LibJS: Add all of the WeakMap.prototype methods (delete, get, has, set)Idan Horowitz
2021-06-12LibJS: Add the WeakMap built-in objectIdan Horowitz
2021-06-12LibJS: Generify the garbage collector's weak container notificationsIdan Horowitz
This will allow us to use the same interface for other JS weak containers like the WeakMap & WeakRef.
2021-06-12LibJS: Fix all clang-tidy warnings in Bytecode/Op.hAndreas Kling
- Add missing explicit to constructors - Use move() where appropriate
2021-06-12LibJS: Add support for running test-js with the bytecode interpreterGunnar Beutner
This obviously won't actually successfully run the test suite until more of the AST expressions used by the test suite are supported.
2021-06-12LibJS: Add missing length() method for NewArrayGunnar Beutner
2021-06-12LibJS: Fix attributes of Promise.prototypeLinus Groh
This was missing a 0 at the end to make it non-writable, non-enumerable, non-configurable.
2021-06-12LibJS: Hide gc() dbgln() behind #ifdef __serenity__Linus Groh
This spams to stdout when using Lagom, and is therefore included in test-js output. Don't need that.
2021-06-12LibJS: Expose Symbol.species properties as gettersIdan Horowitz
As required by the specification.
2021-06-12LibJS: Add the Object::define_native_accessor methodIdan Horowitz
This is very similar to Object::define_native_property, but here the native functions are exported as standalone JS getter and setter functions, instead of being transparently called by interactions with the property.
2021-06-11LibGfx: Add Rect::centered_on()Dmitrii Ubskii
This is a helper function for creating Rects of a given Size centered on a Point.
2021-06-11LibJS: Add bytecode generation for simple ObjectExpressionsGal Horowitz
Bytecode is now generated for object literals which only contain simple key-value pairs (i.e. no spread, getters or setters)
2021-06-11LibJS: Implement the Error Cause proposalLinus Groh
Currently stage 3. https://github.com/tc39/proposal-error-cause
2021-06-11LibJS: Improve Error/NativeError testsLinus Groh
Some of this stuff is already tested properly in the name and message prototype tests, so let's focus on covering all error types here as well instead.
2021-06-11LibIMAP: Support for remaining IMAP commandsx-yl
These include APPEND, AUTHENTICATE, CHECK, CLOSE, EXAMINE, EXPUNGE, LSUB, SUBSCRIBE, UNSUBSCRIBE
2021-06-11LibIMAP: Support for APPENDx-yl
2021-06-11LibIMAP: Support for COPY, CREATE, DELETE and RENAMEx-yl
2021-06-11LibIMAP: Support for STORE and STATUSx-yl
2021-06-11LibIMAP: Support for the SEARCH commandx-yl
2021-06-11LibIMAP: Support for FETCH BodyStructurex-yl
This completes the implementation of the FETCH command.
2021-06-11LibIMAP: Support for the FETCH command (*mostly)x-yl
This commit doesn't include support for FETCH BODY, because it's a bit big already. Rest assured, FETCH is the most complicated IMAP command, and we'll go back to simple boring ones shortly.
2021-06-11LibIMAP: Support for the IDLE commandx-yl
2021-06-11LibIMAP: Support for LOGIN and LOGOUTx-yl
2021-06-11LibIMAP: Support for the LIST and SELECT commandsx-yl
2021-06-11LibIMAP: Support for CAPABILITY command & responsex-yl
This involves parsing messages with untagged responses
2021-06-11LibIMAP: Add a new IMAP client and support NOOPx-yl
A large commit, but sets up the framework for how the IMAP library will work. Right now only the NOOP command and response is supported.
2021-06-11LibCore: Add a way to parse a DateTime from a stringx-yl
DateTime can now be parsed from a string. Implements the same formatters as strptime: https://linux.die.net/man/3/strptime (Well, some of them at least).
2021-06-11LibJS: Implement AggregateErrorLinus Groh
2021-06-11LibJS: Only initialize in add_constructor() if not already doneLinus Groh
2021-06-11LibJS: Rename JS_ENUMERATE_{ERROR_SUBCLASSES => NATIVE_ERRORS}Linus Groh
The fact that they *are* subclasses is an implementation detail and should not be highlighted. The spec calls these NativeErrors, so let's use that. Also added a comment explaining *why* they inherit from Error - I was about to change that :^)
2021-06-11LibJS: Parse only AssignmentExpressions in ComputedPropertyNamesGal Horowitz
The property name in an object literal can either be a literal or a computed name, in which case any AssignmentExpression can be used, we now only parse AssignmentExpression instead of the previous incorrect behaviour which allowed any Expression (Specifically, comma expressions).
2021-06-11LibJS: Use an enum class instead of 'bool is_generator'Ali Mohammad Pur
This avoid confusion in the order of the multiple boolean parameters that exist.
2021-06-11AK+LibX86: Generalize u128/256 to AK::UFixedBigIntHendiadyoin1
Doing these as custom classes might be faster, especially when writing them in SSE, but this would cause a lot of Code duplication and due to the nature of constexprs and the intelligence of the compiler they might be using SSE/MMX either way
2021-06-11LibTest: Don't try to pass stderr to warnlnHendiadyoin1
2021-06-11LibWeb: Set a detach key for ArrayBuffers returned from WASMIdan Horowitz
As required by the specification: `Set buffer.[[ArrayBufferDetachKey]] to "WebAssembly.Memory".`
2021-06-11LibJS: Implement bytecode generation for switchMarcin Gasperowicz
2021-06-11Libc: Silence debug spam from `strerror`Jelle Raaijmakers
Particularly noticeable in ports like openssl, which like to map the entire error message set from 0 through 128 on startup.
2021-06-11LibC: Let `strerror_r` fail if `errnum` < 0Jelle Raaijmakers
2021-06-11LibHTTP: Add HTTP Basic Authentication header generation and parsingMax Wipfli
This patch adds two new static methods to HttpRequest. get_http_basic_authentication_header generates a "Authorization" header from a given URL, where as parse_http_basic_authentication_header parses an "Authorization" header into username and password.
2021-06-11LibHTTP: Implement getting the correct reason phrase from HttpResponseMax Wipfli
This adds a reason_phrase() getter and a static reason_phrase_for_code() to the HttpResponse class. It also changes the class to use east const style.
2021-06-11LibJS: Add bytecode generation for FunctionExpression :^)Andreas Kling
2021-06-11LibJS: Move is_arrow_function() from FunctionExpression to FunctionNodeAndreas Kling
This will make it easier to write bytecode generation for function expressions in just a moment.
2021-06-11LibJS: Fix two accidentally incorrect ScriptFunction constructionsLinus Groh
The addition of an is_generator parameter broke this, as is_strict was being passed in, causing an assertion. This is being addressed by changing it to an enum in #7981, but in the meantime let's just fix these two cases.
2021-06-11LibJS: Set Error message attributes to writable and configurable onlyLinus Groh
20.5.1.1 Error ( message ) When the Error function is called with argument message, the following steps are taken: [...] 3b. Let msgDesc be the PropertyDescriptor { [[Value]]: msg, [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }. 3c. Perform ! DefinePropertyOrThrow(O, "message", msgDesc).
2021-06-11LibJS: Set NativeError constructors' prototype to Error constructorLinus Groh
The FunctionPrototype is correct for ErrorConstructor itself: 20.5.2 Properties of the Error Constructor The Error constructor: - has a [[Prototype]] internal slot whose value is %Function.prototype%. However, not for all the other "NativeError" constructors: 20.5.6.2 Properties of the NativeError Constructors Each NativeError constructor: - has a [[Prototype]] internal slot whose value is %Error%.
2021-06-11LibJS: Basic bytecode support for computed member expressionsAndreas Kling
Expressions like foo[1 + 2] now work, and you can assign to them as well! :^)
2021-06-11LibJS: Switch AST.{h,cpp} to east constAli Mohammad Pur
2021-06-11LibJS: Implement generator functions (only in bytecode mode)Ali Mohammad Pur
2021-06-11LibJS: Resolve the `this' value in call expression bytecodeAli Mohammad Pur