summaryrefslogtreecommitdiff
path: root/Userland/Libraries
AgeCommit message (Collapse)Author
2022-06-20LibWeb: Add stub implementation for handling doubleclicksKarol Kosek
2022-06-20LibGUI: Reimplement Painter::draw_triangle to be more symmetricalFrHun
This is a reimplementation of draw_triangle that manages without floating point arithmetic. It's most important property, compared to the previous implementation is that rotating the same triangle 90 degrees won't drastically change the appearance of that triangle. (it did before)
2022-06-20LibGUI: Draw ScrollBar arrows with draw_triangleFrHun
This doesn't actually change anything in appearance, but it lays the groundwork to have these graphics scaling compatible once the window backstores support that.
2022-06-20AK: Make Point constructors constexprFrHun
2022-06-20LibGUI: Add drawing triangle from coordinate listFrHun
2022-06-19LibWeb: Implement HTMLBaseElement.hrefLuke Wilde
2022-06-19LibWeb: Add support for the <base> element changing the base URLLuke Wilde
Used by Google seemingly almost all around account sign in and management. The modern sign in page has this near the beginning: ```html <base href="https://accounts.google.com"> ``` All of the XHRs performed by sign in are relative URLs to this base URL. Previously we ignored this and did it relative to the current URL, causing the XHRs to 404 and sign in to fall apart. I presume they do this because you can access the sign in page from multiple endpoints, such as `/ServiceLogin` and `/o/oauth2/auth/identifier`
2022-06-19LibC: Stop leaking FILE* from use of getgrnam and getgrgidAndrew Kaster
2022-06-18LibWeb: Rename Event.srcTarget to Event.srcElementLuke Wilde
It's called srcElement instead of srcTarget. Required by w3school's search focus handler.
2022-06-18LibC: Add `ctermid`SeekingBlues
We simply return "/dev/tty", since it always refers to the controlling terminal of the calling process.
2022-06-18LibJS: Update AdjustRoundedDurationDays function signature commentLinus Groh
I missed this in a25c5d8. Thanks to Idan for noticing :^)
2022-06-18LibJS: Move MergeLists into non-Temporal ECMA-262 amendmentsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/4ce3db1
2022-06-18LibJS: Rename CalendarMergeFieldNames to MergeListsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/bebf467
2022-06-18LibJS: Check value is an Object before checking for internal slotsLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/d96e662
2022-06-18LibJS: Make relativeTo required for AdjustRoundedDurationDaysLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/48e0a15
2022-06-18LibGfx: Move AntiAliasingPainter.cpp into Gfx namespaceMacDue
2022-06-18LibWeb: Use the AA painter for drawing dotted linesMacDue
The AA painter will actually draw the dots as circles, which is how other browsers handle this.
2022-06-18LibGfx: Add AA dotted horizontal/vertical linesMacDue
This adds simple dotted lines (horizontal/vertical only for now). There's a little number fudging added in to make sure the final dot is always drawn at the endpoint (for lines with at least a handful of dots).
2022-06-17LibC: Add printf and scanf format macros for "fast" and "least" typeskleines Filmröllchen
As usual, we just define these based on the given integer size itself.
2022-06-17LibJS/Tests: Remove outdated FIXMELinus Groh
2022-06-17LibGfx: Rename DO_PATH macro to ENCODE_PATH to match ThemeEditornetworkException
2022-06-17LibGUI: Support setting an in memory theme in AbstractThemePreviewnetworkException
2022-06-17LibGUI: Actually update the selection in ComboBox::set_selected_indexnetworkException
Previously we would not set m_selected_index or the editor's text value when calling set_selected_index.
2022-06-17LibGUI: Add on_theme_change callback to ApplicationnetworkException
This allows an Application without a window to listen for theme changes.
2022-06-17LibGUI: Add clear_selection helper for ComboBoxnetworkException
This patch adds a helper to ComboBox allowing it to clear the current selection and show a blank editor.
2022-06-17LibC: Allow parsing numbers right on the cutoffTim Schumacher
2022-06-17LibC: Add POSIX spec links to `wait`, `waitpid` and `waitid`SeekingBlues
2022-06-17LibC: Make `waitpid`'s return value more POSIX-compliantSeekingBlues
* Always return 0 if `WNOHANG` is specified and no waitable child is found, even if `wstatus` is null. * Do not return 0 if the child is continued. Treat it the same way as all the other states. Refer to the RETURN VALUE section of the POSIX spec: https://pubs.opengroup.org/onlinepubs/9699919799/functions/wait.html
2022-06-17LibC: Add `WIFCONTINUED` macroSeekingBlues
Like other systems, we can encode the continued state with 0xffff in the status value. This is needed for some ports.
2022-06-17LibGUI: End Scrollbar gutter tinting when target is reachedFrHun
Before, when holding at a location in the gutter until the scrubber reached that location, the gutter would stay tinted, even after the target was reached, and the scrubber didn't move any more; only stopping when the pointer was moved.
2022-06-17LibGUI: Fix crash on Scrollbar shift click and re enable jumpingFrHun
Previously clicking in the gutter of an activated scrollbar while holding shift would crash on the removed VERIFY.
2022-06-17LibWeb: Fix 'background-repeat: round' calculationMacDue
Previously, this was slightly off and not doing what the spec comment above asked for. This led to really small values for x_step and y_step, making the `backgrounds.html' example use crazy amounts of CPU whist painting.
2022-06-17LibWeb: Only paint the background image on integer stepsMacDue
This avoids excessive over painting.
2022-06-16LibWeb: Add deprecated `image-rendering` valuesSam Atkins
From the spec: > This property previously accepted the values optimizeSpeed and optimizeQuality. These are now deprecated; a user agent must accept them as valid values but must treat them as having the same behavior as pixelated and smooth respectively, and authors must not use them. - https://www.w3.org/TR/css-images-3/#the-image-rendering
2022-06-16LibWeb: Disable unused error on temporarily unused variable from specFrHun
2022-06-16LibWeb: Use SmoothPixels scaling mode as the pixelated renderingKarol Kosek
It's probably not in 1:1 as spec says, as it wants us to first upscale the image to the nearest integer and then downscale it bilinearly. But this mode still falls into the general description of the value: > The image is scaled in a way that preserves the pixelated nature of > the original as much as possible, but allows minor smoothing instead > of awkward distortion when necessary. Also, this way we don't have to allocate the memory just for the integer scale. :^) :^)
2022-06-16LibGfx: Implement SmoothPixels scaling modeKarol Kosek
If you wanted to upscale an image, you had two options: - use Nearest Neighbor: it's probably a good choice. The image stays sharp.. unless you aren't using integer scales. - use Bilinear blending, but this on the other hand, doesn't handle upscaling well. It just blurs everything. But what if we could take the best of both of them and make the image sharp on integers and just blur it a little when needed? Well, there's Smooth Pixels! This mode is similar to the Bilinear Blend, with the main difference is that the blend ratio is multiplied by the current scale, so the blur on corners can be only 1px wide. From my testing this mode doesn't handles downscaling as good as the Bilinear blending though.
2022-06-16LibGfx: Pass scaling mode as an enum in do_draw_scaled_bitmapKarol Kosek
2022-06-16LibWeb: Support using border-radius on <img> tagsMacDue
2022-06-16LibWeb: Make PaintableBox::normalized_border_radii_data() protectedMacDue
This method is needed in subclasses of PaintableBox to do border-radius clipping.
2022-06-16LibWeb: Support using border-radius with a background-imageMacDue
2022-06-16LibWeb: Add BorderRadiusCornerClipperMacDue
This is a helper class for clipping the corners off a element. This works in a similar way to how (outline) borders are painted. The steps are: 1. A small bitmap that fits only the corners is allocated 2. The corners are painted into the bitmap 3. The existing pixels (where the corners will be painted) are copied using the (inverse) corner bitmap as a mask (done before the element is painted) 4. The element is painted 5. The areas outside the corner radii are restored Like with the borders, this only requires allocation on the first paint.
2022-06-16LibWeb: Move border corner bitmap getter/cache to functionMacDue
This will allow the same bitmap to be shared between border, background, and various other corner clipping code.
2022-06-16LibGfx: Add Painter::get_pixel()MacDue
This is required to do some painting tricks in LibWeb, this has to be added to the painter so it can apply the paint translation first.
2022-06-15LibWeb: Parse rgb and hsl functions according to CSS Module Level 4Thomas Fach-Pedersen
Implement parsing of rgb(..) and hsl(..) in both the modern level 4 syntax without commas, and the legacy syntax with commas. The parser accepts non-integer numbers but rounds to integer values for now.
2022-06-15LibWeb: Fix calculation of degrees from radiansThomas Fach-Pedersen
2022-06-15LibJS: Mark AddInstant in AddZonedDateTime as fallibleLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/8bc0f98
2022-06-15LibJS: Fix Instant rounding modesLinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/0993b75
2022-06-15LibJS: Mark two calls as infallible in DifferenceTemporalPlainTimeLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/0e4966a
2022-06-15LibJS: Assume options is an object in the DifferenceZonedDateTime AOLinus Groh
This is an editorial change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/a6662f1