summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2022-07-30LibJS: Support IANA legacy names in the Temporal ISO 8601 grammarLinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/2419680
2022-07-30LibJS: Disallow out-of-range return from previous / next transitionLinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/f3c771f
2022-07-29LibWeb: Extract the InnerHTML IDL mixinSam Atkins
2022-07-29LibWeb: Extract the WindowOrWorkerGlobalScope IDL mixinSam Atkins
`Window` itself isn't generated from an IDL file so it doesn't get to make use of this mixin, but it ideally would do so.
2022-07-29LibWeb: Extract the LinkStyle IDL mixinSam Atkins
2022-07-29LibWeb: Extract the HTMLHyperlinkElementUtils IDL mixinSam Atkins
Also added FIXMEs for some missing methods while I was at it.
2022-07-29LibWeb: Extract the ParentNode IDL mixinSam Atkins
2022-07-29LibWeb: Correct typo in Document.idlSam Atkins
Makes me wonder how things were working when Document was never including GlobalEventHandlers.
2022-07-29LibWeb: Extract the ChildNode IDL mixinSam Atkins
2022-07-28Utilities/lsusb: Allow the utility to work without existing USB IDs fileLiav A
In case we failed to open /res/usb.ids or the user requested to not use that file, we simply don't try to resolve the USB IDs and print them without any identification.
2022-07-27grep: Fix out of bounds StringView indexingMacDue
This is another case of out of bounds indexing exposed by 13406b8.
2022-07-27Everywhere: Make the codebase more architecture awareUndefine
2022-07-27LibCore: Implement four-digit modes for `FilePermissionsMask` parsingTim Schumacher
2022-07-27LibCore: Implement the 'X' modifier into `FilePermissionMask`Tim Schumacher
2022-07-27LibJS: Remove %TypedArray%.prototype.toSplicedTimothy Flynn
This was removed from the change-array-by-copy proposal. See: https://github.com/tc39/proposal-change-array-by-copy/commit/4c194d9
2022-07-27LibJS: Update Array.prototype.sort comments to align with implementationTimothy Flynn
This was fixed in the change-array-by-copy proposal. See: https://github.com/tc39/proposal-change-array-by-copy/commit/60823eb
2022-07-27LaunchServer: Let open_file_url use app defaultsdemostanis
Before, programs using open_file_url (such as Terminal) would fail to open any file if its extension (or mime type) wasn't specified in LaunchServer.ini. This patch now permits it.
2022-07-27LaunchServer+LibDesktop: Open from mime typedemostanis
Before, LaunchServer would only open files based on their extension. This wouldn't work if the file had the wrong one.
2022-07-27LibWeb: Make :enabled and :disabled selector handling more idiomaticAndreas Kling
2022-07-27LibWeb: Add fast_is<HTMLElement>()Andreas Kling
This avoids slow RTTI lookups in selector matching.
2022-07-27LibWeb: Add fast_is<HTMLBaseElement>()Andreas Kling
This avoids slow RTTI lookups in Document::base_url().
2022-07-27LibWeb: Ensure PercentageOr<T>::resolved() returns a concrete TSam Atkins
Which is to say, a T where `is_calculated()` is false. As is becoming a repeating theme with CSS types, we have two states for a FooPercentage that is a `calc()` expression: Either the FooPercentage holds the CalculatedStyleValue directly, or it holds a Foo which itself holds the CalculatedStyleValue. The first case was already handled to return Foo, and with this patch, the second is too. :^)
2022-07-27LibWeb: Resolve calc() FooPercentages that only contained percentagesSam Atkins
Fixes #14697 Percentages inside `calc()` only got converted to the concrete type (eg, Length) when added or subtracted with one. So if the `calc ()` doesn't contain any of that type, it would resolve to a Percentage. Now, we catch that returned Percentage and convert it to the proper type. This fixes cases like `width: calc(100% / 2);`.
2022-07-27LibWeb: Add missing Formatters for CSS dimension typesSam Atkins
2022-07-27less: Fix out of bounds StringView indexingMacDue
This fixes indexing the StringView before knowing if the index is valid. This did not crash until the changes from 13406b8 which added runtime checks for StringView indexing.
2022-07-27WindowServer: Ensure windows are wide enough to show title buttons :^)Sam Atkins
Previously, windows without a defined minimum size (or one produced from the minimum sizes of their contents) would be shrunk down to 0 x 0, which makes the title buttons stick out the side and become impossible to interact with. This patch uses the theme metrics to calculate a minimum size that is as small as possible while still keeping the title buttons and app icon usable. This is combined with the minimum size requested by the app itself. Switching themes automatically updates the calculated minimum sizes for all existing windows. As noted, if the new theme has narrower title buttons then the old minimum is kept, but this shouldn't be noticeable unless you're looking for it.
2022-07-27Browser: Give BookmarksBarWidget a minimum sizeSam Atkins
Without this, it gets a minimum size that's very large and stops you from resizing the Browser window narrower than 609px.
2022-07-26LibAudio: Seek to the first frame on reset in FLACKarol Kosek
The files weren't starting exactly from the beginning before. This happened because the parameter now takes the sample index, instead of a seekpoint.
2022-07-26LibAudio: Read FLAC Metadata blocks larger than the buffer sizeKarol Kosek
Out of 40/63 failed tests, this change reduces the number down to four. :^) See: #14683
2022-07-26LibWeb: Shrink the inner border radii to accommodate the border widthsMacDue
This fixes the shape of the subreddit logo on new reddit.
2022-07-26LibWeb: Introduce the File interface from the FileAPI specKenneth Myhra
2022-07-26LibWeb: Add missing spec links to the Blob interfaceKenneth Myhra
2022-07-26LibWeb: Fix const issue on type() accessor for the Blob interfaceKenneth Myhra
2022-07-26LibWeb: Make process_blob_parts() publicly accessibleKenneth Myhra
This pulls process_blob_parts() out of the Blob class and makes it publicly accessible.
2022-07-26LibWeb: Add public get accessor function for Blob's internal ByteBufferKenneth Myhra
Blob::bytes() returns the ReadonlyBytes representation of our internal ByteBuffer. This change requires us to ByteBuffer::copy() Blob's ReadonlyBytes to a ByteBuffer in XHR::send() and corresponding error handling of the copy operation. This removes the need for Blob to declare XMLHttpRequest as a friend class.
2022-07-26LibJS: Allow out-of-order plural ranges to be formattedTimothy Flynn
This is a normative change to the Intl NumberFormat V3 spec: https://github.com/tc39/proposal-intl-numberformat-v3/commit/0c3d849
2022-07-26LibJS: Allow out-of-order number ranges to be formattedTimothy Flynn
This is a normative change to the Intl NumberFormat V3 spec: https://github.com/tc39/proposal-intl-numberformat-v3/commit/0c3d849
2022-07-26LibJS: Allow out-of-order date ranges to be formattedTimothy Flynn
This is a normative change to the Intl spec: https://github.com/tc39/ecma402/commit/769df4b
2022-07-26LibGUI: Move tooltip position up 4 pixels to prevent cursor pop-undergbowser3@gmail.com
2022-07-26LibWeb: Make automatic heights for abspos non-replaced behave betterAndreas Kling
Previously we were checking if values were "auto" after resolving the "auto"-ness out of them, which didn't work. There's still a bunch of work to do on this algorithm, but now we can at least resolve some basic automatic height scenarios.
2022-07-26LibWeb: Remove FFC helpers is_{main,cross}_axis_margin_first_auto()Andreas Kling
We already cache these values with each flex item, so let's just use those instead.
2022-07-26LibWeb: Don't treat calc() in used flex basis as definite for nowAndreas Kling
We'll eventually need some way to determine if a calc() value results in a definite size.
2022-07-26LibWeb: Make two passes in FFC where to support percentage min/max sizesAndreas Kling
Percentage sizes of flex items are relative to the flex container, but even when the flex container is automatically sized, we still have to support them. To make this work, we first do a pass where percentage sizes are ignored (treated as "auto", basically) in order to get a "reference" value. Then we do a second pass where percentages can be resolved against this reference value.
2022-07-26LibWeb: Improve min/max content contribution calculations for flex itemsAndreas Kling
Follow the spec more closely.
2022-07-26LibWeb: Clamp flex items to min/max main size during intrinsic sizingAndreas Kling
We were neglecting to clamp flex items when calculating the intrinsic main size of the flex container. This was covered by a FIXME, which we can now remove. :^)
2022-07-26LibWeb: Simplify flex container main size determinationAndreas Kling
We had an older incomplete implementation of flex container max-content sizing that we used for unconstrained main size determination. This patch replaces the old implementation with a call to the new max-content sizing code. Note that this isn't a complete implementation of flex container sizing still, but at least we've deduplicated some code.
2022-07-26LibWeb: Add FFC helpers for getting the computed main/cross size of boxAndreas Kling
2022-07-26LibWeb: Move get_pixel_{width,height} helpers into FFC classAndreas Kling
2022-07-26LibWeb: Mark flex item cross sizes as definite when spec asks us toAndreas Kling
The CSS-FLEXBOX-1 spec gives us two situations in which flex item cross sizes should be considered definite. Both of them happen *during* flex layout, which is super finicky but it is what it is.
2022-07-26LibWeb: Avoid some unnecessary inside layouts during intrinsic sizingAndreas Kling
When calculating intrinsic sizes, we don't need to recurse into *every* box and layout its insides. IIUC, we can skip any unconstrained box with definite sizes in both axes. So this patch does exactly that.