Commit graph

40245 commits

Author SHA1 Message Date
Linus Groh
0355c72d6a LibJS: Validate fractionalSecondDigits after truncation
This is a normative change in the Temporal spec.
Also correct some bogus spec numbers.

See:
- 39e1784
- c3c0ee1
- 273cb2e
2022-07-30 10:50:50 +01:00
Linus Groh
6850f25840 LibJS: Support IANA legacy names in the Temporal ISO 8601 grammar
This is a normative change in the Temporal spec.

See: 2419680
2022-07-30 10:50:50 +01:00
Linus Groh
41791146fd LibJS: Disallow out-of-range return from previous / next transition
This is a normative change in the Temporal spec.

See: f3c771f
2022-07-30 10:50:50 +01:00
Chase Struck
835d516d10 Base: Add more manpages
This commit adds manpages for About(1), AnalogClock(1), Assistant(1),
Browser(1), Calculator(1), and Calendar(1).
2022-07-29 20:48:04 +00:00
Linus Groh
c84e2e2891 Meta: Add Dennis Esternon to the contributors list :^) 2022-07-29 21:30:22 +01:00
Sam Atkins
200e111af0 LibWeb: Extract the InnerHTML IDL mixin 2022-07-29 17:15:49 +01:00
Sam Atkins
b456adcb59 LibWeb: Extract the WindowOrWorkerGlobalScope IDL mixin
`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-29 17:15:49 +01:00
Sam Atkins
899fa30bdd LibWeb: Extract the LinkStyle IDL mixin 2022-07-29 17:15:49 +01:00
Sam Atkins
8d2d315858 LibWeb: Extract the HTMLHyperlinkElementUtils IDL mixin
Also added FIXMEs for some missing methods while I was at it.
2022-07-29 17:15:49 +01:00
Sam Atkins
abd359a921 LibWeb: Skip whitespace when parsing IDL non-interface entities
This stops the WrapperGenerator freaking out when an IDL file starts
with a comment or whitespace. :^)
2022-07-29 17:15:49 +01:00
Sam Atkins
d4c40e3aad LibWeb: Extract the ParentNode IDL mixin 2022-07-29 17:15:49 +01:00
Sam Atkins
79fdc08de9 LibWeb: Correct typo in Document.idl
Makes me wonder how things were working when Document was never
including GlobalEventHandlers.
2022-07-29 17:15:49 +01:00
Sam Atkins
d6a5ddd3c0 LibWeb: Extract the ChildNode IDL mixin 2022-07-29 17:15:49 +01:00
djwisdom
6db558e0ae Base: Update LucidityRegular12 add Regional Indicator glyphs
U+1F1E6 - U+1F1FF
https://www.unicode.org/charts/PDF/U1F100.pdf
2022-07-29 16:08:51 +01:00
djwisdom
181fb04f02 Base: Update AtaraxiaLight10 add Regional Indicator glyphs
U+1F1E6 - U+1F1FF
https://www.unicode.org/charts/PDF/U1F100.pdf
2022-07-29 16:08:51 +01:00
djwisdom
9c38c7e890 Base: Update SatoriRegular add Supplemental Arrows-C
Supplemental Arrows-C
U+1F800-U+1F80B, U+1F810-U+1F813, U+1F850-U+1F859,
U+1F860-U1F867, U+1F894-U+1F897, U+1F8A0-U+1F8A7
https://www.unicode.org/charts/PDF/U1F800.pdf
2022-07-29 16:08:41 +01:00
djwisdom
cfdca76d86 Base: Update SatoriMonoRegular add Supplemental Arrows-C
Supplemental Arrows-C
U+1F800-U+1F80B, U+1F810-U+1F813, U+1F850-U+1F859,
U+1F860-U1F867, U+1F894-U+1F897, U+1F8A0-U+1F8A7
https://www.unicode.org/charts/PDF/U1F800.pdf
2022-07-29 16:08:41 +01:00
Liav A
aea3213d51 Utilities/lsusb: Allow the utility to work without existing USB IDs file
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-28 04:28:25 -07:00
Liav A
622e3b06ce Meta: Put USB and PCI IDs in the right folder in the Build environment
Not sure why that happens and how it worked until now, but we need to be
more precise about the location of PCI and USB IDs when decompressing
them while building the OS.
2022-07-28 04:25:07 -07:00
demostanis
ef2d4b9ed6 Base: Add sort(1) man page 2022-07-28 00:44:08 +00:00
MacDue
281e46e8b3 grep: Fix out of bounds StringView indexing
This is another case of out of bounds indexing exposed by 13406b8.
2022-07-27 22:51:54 +00:00
Undefine
97cc33ca47 Everywhere: Make the codebase more architecture aware 2022-07-27 21:46:42 +00:00
Tim Schumacher
6c4b5775e1 LibCore: Implement four-digit modes for FilePermissionsMask parsing 2022-07-27 21:45:01 +00:00
Tim Schumacher
130f04c493 LibCore: Implement the 'X' modifier into FilePermissionMask 2022-07-27 21:45:01 +00:00
djwisdom
8598fbb008 Ports: Update serenity-theming use latest commit 5d626d9 2022-07-27 21:43:33 +00:00
Timothy Flynn
60f3880650 LibJS: Remove %TypedArray%.prototype.toSpliced
This was removed from the change-array-by-copy proposal. See:
4c194d9
2022-07-27 17:35:50 +01:00
Timothy Flynn
a8d532c4fe LibJS: Update Array.prototype.sort comments to align with implementation
This was fixed in the change-array-by-copy proposal. See:
60823eb
2022-07-27 17:35:50 +01:00
demostanis
b89aced2e3 LaunchServer: Let open_file_url use app defaults
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-27 17:11:25 +01:00
demostanis
48766449e5 LaunchServer+LibDesktop: Open from mime type
Before, LaunchServer would only open files based on their extension.
This wouldn't work if the file had the wrong one.
2022-07-27 17:11:25 +01:00
Andreas Kling
031322fde3 LibWeb: Make :enabled and :disabled selector handling more idiomatic 2022-07-27 17:29:48 +02:00
Andreas Kling
2ad98fdf80 LibWeb: Add fast_is<HTMLElement>()
This avoids slow RTTI lookups in selector matching.
2022-07-27 17:29:48 +02:00
Andreas Kling
9f32da1dbc LibWeb: Add fast_is<HTMLBaseElement>()
This avoids slow RTTI lookups in Document::base_url().
2022-07-27 17:29:48 +02:00
Sam Atkins
7b4004d682 LibWeb: Ensure PercentageOr<T>::resolved() returns a concrete T
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-27 17:03:55 +02:00
Sam Atkins
3fce4f7c91 LibWeb: Resolve calc() FooPercentages that only contained percentages
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-27 17:03:55 +02:00
Sam Atkins
ef2469bfed LibWeb: Add missing Formatters for CSS dimension types 2022-07-27 17:03:55 +02:00
MacDue
9d0dccaa3f less: Fix out of bounds StringView indexing
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-27 05:34:41 -07:00
sfdd
d1671d4f86 Documentation: Better file formats documentation 2022-07-27 10:13:21 +01:00
b14ckcat
b8cfec7b1f Kernel: Move SysFS USB create function 2022-07-27 05:52:35 +00:00
b14ckcat
4b1537387f Kernel: Fix USB hotplug crash
Currently the SysFS node for USB devices is only initialized for USB
hubs, which means it will cause a kernel crash upon being dereferenced
in a non-hub device. This fixes the problem by making initialization
happen for all USB devices.
2022-07-27 05:52:35 +00:00
Sam Atkins
11cb7c7b28 WindowServer: Ensure windows are wide enough to show title buttons :^)
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-27 00:01:42 +01:00
Sam Atkins
0fcb6920e3 Browser: Give BookmarksBarWidget a minimum size
Without this, it gets a minimum size that's very large and stops you
from resizing the Browser window narrower than 609px.
2022-07-27 00:01:42 +01:00
Karol Kosek
fe60459353 LibAudio: Seek to the first frame on reset in FLAC
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-26 23:59:06 +01:00
Karol Kosek
2878ad681e LibAudio: Read FLAC Metadata blocks larger than the buffer size
Out of 40/63 failed tests, this change reduces the number down to four.
:^)

See: #14683
2022-07-26 23:59:06 +01:00
MacDue
43ebe5ca75 Base: Add some more border-radius test cases
* A border-radius + a border on a <img> tag
   - The border-radius on the <img> should shrink to line up with
     the border.
* A border-radius + a border on a div with overflow: hidden
   - The clipping border-radius should shrink (same as the image).
2022-07-26 23:56:29 +01:00
MacDue
b68f48eb71 LibWeb: Shrink the inner border radii to accommodate the border widths
This fixes the shape of the subreddit logo on new reddit.
2022-07-26 23:56:29 +01:00
Kenneth Myhra
890514a057 LibWeb: Introduce the File interface from the FileAPI spec 2022-07-26 20:54:30 +01:00
Kenneth Myhra
df91dbfbb6 LibWeb: Add missing spec links to the Blob interface 2022-07-26 20:54:30 +01:00
Kenneth Myhra
6305ef197f LibWeb: Fix const issue on type() accessor for the Blob interface 2022-07-26 20:54:30 +01:00
Kenneth Myhra
c038a8c9c9 LibWeb: Make process_blob_parts() publicly accessible
This pulls process_blob_parts() out of the Blob class and makes it
publicly accessible.
2022-07-26 20:54:30 +01:00
Kenneth Myhra
622a4f29a7 LibWeb: Add public get accessor function for Blob's internal ByteBuffer
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-26 20:54:30 +01:00