Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-06-14 | PixelPaint: Always animate marching ants during interactive selection | Andreas Kling | |
The Selection object now tracks whether there is an ongoing interactive selection (originating from one of the selection tools). If so it makes sure to pump the marching ants animation. | |||
2021-06-14 | PixelPaint: Make new pasted layer active immediately | Andreas Kling | |
Also clear any selection that existed before pasting. This feels a bit more intuitive. We may also want to consider switching to the "Move" tool automatically on paste, but I'm less sure about that. | |||
2021-06-14 | PixelPaint: Add copy action (copies the selection from active layer) | Andreas Kling | |
You can now select a part of a layer, copy it, and then paste it as a new layer. Very cool :^) | |||
2021-06-14 | PixelPaint: Draw the current editor selection as marching ants | Andreas Kling | |
This patch moves the marching ants painting code to Selection and unifies the timer mechanism so that all marching ants are synchronized which looks neat. :^) | |||
2021-06-14 | PixelPaint: Add a Selection class (ImageEditor has a Selection) | Andreas Kling | |
This will represent a complex, region-based selection in the future. For now though, it's just a simple rectangle. :^) | |||
2021-06-14 | PixelPaint: Implement basic rectangular selection (preview only) | Andreas Kling | |
Using the rectangle select tool, you can now drag out a selection which will be drawn in the form of "marching ants" :^) | |||
2021-06-14 | PixelPaint: Add a new "Rectangle Select" tool :^) | Andreas Kling | |
This patch only adds the tool along with a toolbar icon for it. It doesn't do anything yet. | |||
2021-06-14 | Kernel: Verify Process coredump threads are empty | Jelle Raaijmakers | |
2021-06-14 | Kernel: Only call `Process::die()` once on terminating signal | Jelle Raaijmakers | |
Previously, when e.g. the `SIGABRT` signal was sent to a process, `Thread::dispatch_signal()` would invoke `Process::terminate_due_to_signal()` which would then `::die()`. The result `DispatchSignalResult::Terminate` is then returned to `Thread::check_dispatch_pending_signal()` which proceeds to invoke `Process::die()` a second time. Change the behavior of `::check_dispatch_pending_signal()` to no longer call `Process::die()` if it receives `::Terminate` as a signal handling result, since that indicates that the process was already terminated. This fixes #7289. | |||
2021-06-14 | Userland: Fix double line spacing in grep | Sahan Fernando | |
2021-06-14 | LibJS: Correctly parse yield-from expressions | Ali Mohammad Pur | |
This commit implements parsing for `yield *expr`, and the multiple ways something can or can't be parsed like that. Also makes yield-from a TODO in the bytecode generator. Behold, the glory of javascript syntax: ```js // 'yield' = expression in generators. function* foo() { yield *bar; // <- Syntax error here, expression can't start with * } // 'yield' = identifier anywhere else. function foo() { yield *bar; // Perfectly fine, this is just `yield * bar` } ``` | |||
2021-06-14 | LibJS: Parse generator functions in object literals | Ali Mohammad Pur | |
Also add some parser tests | |||
2021-06-14 | LibJS: Add a test file for generator function parsing | Ali Mohammad Pur | |
Note that the yield-from expression tests are skipped for now since they're not implemented yet. | |||
2021-06-14 | LibRegex: Remove unused code | Gunnar Beutner | |
2021-06-14 | LibRegex: Use a plain pointer for OpCode::m_state | Gunnar Beutner | |
2021-06-14 | LibRegex: Avoid initialization checks in get_opcode_by_id() | Gunnar Beutner | |
2021-06-14 | LibRegex: Avoid prepending items to vectors | Gunnar Beutner | |
2021-06-14 | LibRegex: Avoid making unnecessary string copies | Gunnar Beutner | |
2021-06-14 | LibRegex: Make get_opcode() return a reference | Gunnar Beutner | |
Previously this would return a pointer which could be null if the requested opcode was invalid. This should never be the case though so let's VERIFY() that instead. | |||
2021-06-14 | LibRegex: Remove return value for setters | Gunnar Beutner | |
2021-06-14 | LibRegex: Use a plain array to store opcodes | Gunnar Beutner | |
Using a hash map is unnecessary because the number of opcodes and their IDs never change. | |||
2021-06-14 | Ports: Adds Another World VM interpreter implementation | Pavel Safar | |
2021-06-14 | Meta: Request that new contributors don't start with new app/lib | Andreas Kling | |
It's strongly preferred that new contributors get comfortable with the system and the project by working on smaller and/or existing things before adding entirely new components to it. | |||
2021-06-14 | LibGfx: Inline BitmapFont::glyph_or_emoji_width() for fixed-width fonts | Andreas Kling | |
2021-06-14 | LibJS: Teach Reference to access call frame arguments directly | Andreas Kling | |
2021-06-14 | LibJS: Add LoadArgument bytecode instruction for fast argument access | Andreas Kling | |
This is generated for Identifier nodes that represent a function argument variable. It loads a given argument index from the current call frame into the accumulator. | |||
2021-06-14 | LibJS: Access function arguments directly in AST interpreter | Andreas Kling | |
Instead of doing a generic scoped variable lookup, function arguments now go directly to the call frame arguments list. This is a huge speedup on everything that uses arguments. :^) | |||
2021-06-14 | LibJS: Write computed function default arguments into the call frame | Andreas Kling | |
Previously, default argument values would only show up when accessing the argument by parameter name. This patch makes us write them back into the call frame so they can be accessed via VM::argument() as well. | |||
2021-06-14 | LibJS: Track which Identifier nodes refer to function arguments | Andreas Kling | |
This patch adds an "argument index" field to Identifier AST nodes. If the Identifier refers to a function parameter in the currently open function scope, we stash the index of the parameter here. This will allow us to implement much faster direct access to function argument variables. | |||
2021-06-14 | LibJS: Add additional generic Array.prototype.slice tests | davidot | |
2021-06-14 | LibJS: Add Array.prototype.@@unscopables | davidot | |
2021-06-14 | LibJS: Make Array.prototype.at return undefined on empty slot | davidot | |
2021-06-14 | LibJS: Implement Array.prototype.copyWithin generically | davidot | |
2021-06-14 | LibJS: Implement Array.prototype.entries | davidot | |
2021-06-14 | LibJS: Implement Array.prototype.flatMap | davidot | |
Also made recursive_array_flat more compliant with the spec So renamed it to flatten_into_array | |||
2021-06-14 | LibJS: Make Array.prototype.concat generic | davidot | |
2021-06-14 | LibJS: Make Array.prototype.reverse generic | davidot | |
2021-06-14 | LibJS: Add additional Array.prototype.reverse tests | davidot | |
2021-06-14 | LibJS: Make Array.prototype.unshift generic | davidot | |
2021-06-14 | LibJS: Make Array.prototype.shift generic | davidot | |
2021-06-14 | LibJS: Add support for hex, octal & binary big integer literals | Idan Horowitz | |
2021-06-14 | LibCrypto: Add {Signed,Unsigned}BigInteger::from_base{2, 8, 16} helpers | Idan Horowitz | |
These can be used to create BigInteger instances from non-decimal number strings. | |||
2021-06-14 | LibJS: Add tests for DataView.prototype getters and setters | Idan Horowitz | |
2021-06-14 | LibJS: Add all of the DataView.prototype.set* methods | Idan Horowitz | |
2021-06-14 | LibJS: Add all of the DataView.prototype.get* methods | Idan Horowitz | |
2021-06-14 | LibJS: Add the DataView built-in object | Idan Horowitz | |
2021-06-13 | LibJS: Make a couple of %TypedArray%.prototype properties accessors | Linus Groh | |
Also use JS_DEFINE_NATIVE_GETTER and not JS_DEFINE_NATIVE_FUNCTION for their function definitions. | |||
2021-06-13 | LibJS: Make Symbol.prototype.description an accessor | Linus Groh | |
2021-06-13 | LibJS: Make Set.prototype.size an accessor | Linus Groh | |
Also fix its attributes, should be just configurable. | |||
2021-06-13 | LibJS: Make a couple of RegExp.prototype properties accessors | Linus Groh | |