summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-11-29LibGUI: Add Banner concept to AbstractScrollableWidgetthankyouverycool
Banners are abstract widgets which can house additional controls and information on a temporary basis, popping in from the top of their parent when needed.
2022-11-29LibC: Treat argument "-" the same as arguments that don't start with "-"Brendan Kelly
This causes `echo -` to output "-" instead of crashing
2022-11-29LibWeb: Return the position at end-of-line in TextCursor hit-testAndreas Oppebøen
When starting to drag the cursor below the text, we would start the selection from the closest point in the line above in the last fragment. This is not the behavior seen in other browsers, and it causes weird behavior when the cursor is to the left of the last fragment, for instances when trying to select with the text `before <span>middle</span> after`. By starting the selection from the _end_ of the last fragment, including the line end character, selection behavior is similar to that of other browsers.
2022-11-29shuf: Support the output of a limited number of linesBaitinq
This patch adds the "-n"/"--head-count" optional argument to specifiy the maximum number of shuffled lines to output. Idea from Andreas' FIXME roulette :^)
2022-11-29LibCore: Add Core::System::posix_fallocate()Andreas Kling
2022-11-29LibC: Negate kernel errors before returning them in posix_fallocate()Andreas Kling
Since posix_fallocate() doesn't set errno, it has to make sure to manually "unwrap" any error from the kernel.
2022-11-29LibGfx: Handle alpha in color distanceMacDue
This gives a slightly more reasonable result when comparing different colors with low alpha values. For example comparing white with alpha 100 to transparent: Before distance: 0.78 After distance: 0.07 (Where distance is between 0 and 1) The result is unchanged for comparing colors without alpha values.
2022-11-29LibGfx: Don't bother painting transparent linesMacDue
2022-11-29LibGfx: Don't write blended pixel if the alpha is zeroMacDue
2022-11-29LibELF: Add stack guard hardeningKeegan Saunders
Employ the same hardening that glibc and the Linux kernel use for generating stack guards: zero the first byte of the guard such that if C-style string functions read out of bounds on the stack, we do not overwrite or potentially leak the stack guard.
2022-11-29LibC: Use uintptr_t for __stack_chk_guardKeegan Saunders
We used size_t, which is a type that is guarenteed to be large enough to hold an array index, but uintptr_t is designed to be used to hold pointer values, which is the case of stack guards.
2022-11-29LibJS: Allow specifying only roundingIncrement in NumberFormat optionsTimothy Flynn
This is a normative change in the Intl.NumberFormat v3 spec. See: https://github.com/tc39/proposal-intl-numberformat-v3/commit/a260aa3
2022-11-28LibWeb: Treat unresolvable percentage width on inline-block as autoAndreas Kling
2022-11-28js: Make console.log() print to stdout againAli Mohammad Pur
This was broken in 84502f53b5dcd7ffe347269fc1cece777a61a305.
2022-11-28LibCore: Add %l conversion specification to DateTimethankyouverycool
Replaced by the hour as a decimal 1-12 in which single digits are preceded by a blank
2022-11-28LibJS: Enable commented out tests in Math.asindavidot
2022-11-28LibJS: Add spec comments and check for edge cases in Math.tanhdavidot
2022-11-28LibJS: Add spec comments and check for edge cases in Math.sinhdavidot
2022-11-28LibJS: Add spec comments and check for edge cases in Math.log10davidot
2022-11-28LibJS: Add spec comments and check for edge cases in Math.log2davidot
2022-11-28LibJS: Add spec comments and check for edge cases in Math.logdavidot
2022-11-28LibJS: Add spec comments and check for edge cases in Math.atanhdavidot
2022-11-28LibJS: Add spec comments and check for edge cases in Math.atanhdavidot
2022-11-28LibJS: Add spec comments and check for edge cases in Math.asinhdavidot
2022-11-28LibJS: Add spec comments and check for edge cases in Math.asindavidot
2022-11-28LibJS: Add spec comments and check for edge cases in Math.acoshdavidot
2022-11-27TextEditor: Add keyboard shortcut to (un)comment a range of linesKyle Lanmon
2022-11-27TextEditor: Add UndoCommands for commenting and uncommenting linesKyle Lanmon
2022-11-27TextEditor: Add utility to keep a range of text within a lineKyle Lanmon
2022-11-27LibSyntax: Teach each highlighter about it's comment syntaxKyle Lanmon
2022-11-27PixelPaint: Fix lasso tool preview when zoomed inMacDue
Previously only part of the preview would be visible when zoomed in, with less visible the more you zoomed. This also now doesn't scale the preview line thickness, similar to other image editing programs.
2022-11-27PixelPaint: Don't scale preview thickness for polygonal select toolMacDue
This is consistent with other editors and makes it a little easier to precisely select things when zoomed in.
2022-11-27PixelPaint: Make antialiasing the default for toolsMacDue
Our AA painting works with opacity and generally has a nicer look so lets make it the default.
2022-11-27LibGfx: Preseve original alpha when applying tint filterMacDue
2022-11-27LibGfx: Allow float thickness lines and fix fill path glitchesMacDue
The main fix is stopping fill_path() scanlines being rounded to the wrong pixel. The y-value is now floored to ensure it always snaps in the same direction.
2022-11-27LibJS: Remove m_first_invalid_property_range from ObjectExpressiondavidot
This was state only used by the parser to output an error with appropriate location. This shrinks the size of ObjectExpression from 120 bytes down to just 56. This saves roughly 2.5 MiB when loading twitter.
2022-11-27LibJS: Remove is_use_strict_directive for all StringLiteralsdavidot
This value was only used in the parser so no need to have this in every string literal in the ast.
2022-11-27LibVideo: Don't crash when a decoder error is encountered while seekingZaggy1024
When errors are encountered by PlaybackManager, it attempts to switch states to either Stopped or Corrupted. However, that causes it to set the last presentation media time to the current playback time while the last presentation time is unexpectedly negative because the seek never ended. Ending the seek before the state changes to Stopped or Corrupted prevents this situation from happening.
2022-11-27LibWeb: Support box-sizing in flex formatting contextAliaksandr Kalenik
Makes pass 8/10 tests in https://wpt.live/css/css-flexbox/box-sizing-001.html
2022-11-27LibJS: Use the source offset to sort imports in moduledavidot
Using source offsets directly means we don't have to synthesize any SourceRanges and circumvents that SourceRange returns invalid values for the last range of a file.
2022-11-27LibJS: No longer assume there is a cycle root when module failed beforedavidot
This issue could be triggered by evaluating a module twice. If it failed during evaluation the cycle root was never set but that status is evaluated. This failed in step 3 of Evaluate which assumes it has a cycle root. This is a spec issue see: https://github.com/tc39/ecma262/issues/2823 To fix this we check if the module itself has a top level capability first before going to the cycle root. Co-authored-by: Jamie Mansfield <jmansfield@cadixdev.org>
2022-11-27LibJS: Remove already resolved FIXMEdavidot
We wouldn't want someone to be disappointed when trying to fix this :^).
2022-11-27WebDriver: Implement stub for /session/{id}/printBaitinq
2022-11-26LibJS: Switch to bytecode interpreter to run generator functions for ASTLuke Wilde
The bytecode interpreter can execute generator functions while the AST interpreter cannot. This simply makes it create a new bytecode interpreter when one doesn't exist when executing a generator function. Doing so makes it automatically switch to the bytecode interpreter to execute any future code until it exits the generator.
2022-11-26Browser: Remove previous history entry in History::replace_current()Baitinq
The lack of this action caused a bug in my original patch (https://github.com/SerenityOS/serenity/pull/16004) that appeared when accessing a site that redirected the client and it was the first site the client loaded.
2022-11-26Utilities+Base: Add unveil utilityLiav A
This utility essentially creates a filesystem sandbox for a specified command, so it can be tested with only the unveiled paths the user specifies beforehand.
2022-11-26LibCore: Add add_option aggregating the same option multiple timesLiav A
This could be used in a scenario when it is expected that a user program will be invoked with a specific option multiple times, for example: "program --a-option=example --a-option=anotherexample ..."
2022-11-26Kernel+LibCore+LibC: Implement support for forcing unveil on execLiav A
To accomplish this, we add another VeilState which is called LockedInherited. The idea is to apply exec unveil data, similar to execpromises of the pledge syscall, on the current exec'ed program during the execve sequence. When applying the forced unveil data, the veil state is set to be locked but the special state of LockedInherited ensures that if the new program tries to unveil paths, the request will silently be ignored, so the program will continue running without receiving an error, but is still can only use the paths that were unveiled before the exec syscall. This in turn, allows us to use the unveil syscall with a special utility to sandbox other userland programs in terms of what is visible to them on the filesystem, and is usable on both programs that use or don't use the unveil syscall in their code.
2022-11-26Userland: Add the BuggieBox programLiav A
This will be our alternative to what is known as BusyBox for Linux distributions. Co-Authored-By: Tim Schumacher <timschumi@gmx.de>
2022-11-26Assistant: Add a context menu for search resultsthankyouverycool
Right-clicking now reveals menu options for copying text and showing results in the File Manager