summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-14AK: Remove workaround for old macOS SDKNico Weber
https://github.com/SerenityOS/serenity/pull/9716#issuecomment-1508606204 has details.
2023-04-14AK: Remove unused AK_ARCH_ definesNico Weber
ARCH() uses the AK_IS_ARCH_ macros internally since 349e54d5375a4a, and all user code uses the ARCH() macro instead of AK_ARCH_. (Why it's called ARCH() and not AK_ARCH(), I don't know.) If any ports not in the main repo use AK_ARCH_, they should switch to using ARCH() instead.
2023-04-14Everywhere: Use ARCH(AARCH64) instead of AK_ARCH_AARCH64Nico Weber
The former is typo-resistant after 349e54d5375a4a, so make use of that.
2023-04-14Documentation: Add build dependencies for SerenityOS :^)Tim Schumacher
2023-04-14LibWeb: Do not dereference empty Optional in ReadableStream::visit_edgesTimothy Flynn
There are quite a few steps between a ReadableStream being created and its controller being set. If GC occurs between those points, we will have an empty Optional in ReadableStream::visit_edges. Seen on YouTube.
2023-04-14Kernel: Also search the main program for stack size requestsTim Schumacher
2023-04-14Kernel: Pick the maximum out of the requested stack sizesTim Schumacher
2023-04-14Lagom: Add an option for standalone fuzzers to BuildFuzzers.shTim Schumacher
This builds simple fuzzing binaries without any oss-fuzz specific configuration and without any LibFuzzer instrumentation.
2023-04-14LibMarkdown: Avoid catastrophic backtracking in thematic break regexTim Ledbetter
Fixes #17937
2023-04-14LibWeb/Streams: Rename one instance of 'e' to 'exception'Linus Groh
This is what we call it everywhere else.
2023-04-14LibWeb/Streams: Add FIXMEs to incorrect invoke_callback() invocationsLinus Groh
2023-04-14LibWeb/Streams: Use MUST_OR_THROW_OOM() when creating JS exceptionsLinus Groh
This cannot throw unless we OOM.
2023-04-14LibWeb/Streams: Make most algorithms return a NonnullGCPtrLinus Groh
Only the 'start algorithm' ever returns undefined (as a null GCPtr), so let's type the others more strictly.
2023-04-14AK: Make math work on arm hosts againNico Weber
957f89ce4abb6ad added some tweaks for serenity-on-aarch64. It broke anythingelse-on-aarch64 hosts though, so only do these tweaks when targeting serenity. (I wonder if AK/Math.h should fall back to the system math routines when not targeting serenity in general. Would probably help ladybird performance. On the other hand, the serenity routines would see less use and hence exposure and love.)
2023-04-14PixelPaint: Correct gradient tool's position during previewEthan Yeager
2023-04-14LibWeb: Resolve more background-related propertiesKarol Kosek
This change adds rules for background-attachment, background-clip, background-image, background-origin, and background-repeat. As a result, Window.getComputedStyle() will no longer return empty strings on these properties after a page is loaded, and the background shorthand will show the resolved values instead of the default ones for these values. :^)
2023-04-14WindowServer: Fix alt shortcut navigation for non-default keymapsJulian Offenhäuser
Some keymaps will bind key presses with the alt modifier to characters other than the unmodified one, in which case you couldn't activate the alt shortcuts in the menu bar before. We now ask the current keymap for the code point that is mapped to the pressed (unmodified) key instead.
2023-04-14LibTLS: Add RFC explanation of AlertDescription valuesstelar7
2023-04-14LibTLS: Show enum value instead of underlying value where possiblestelar7
2023-04-14LibTLS: Move AlertDescription to Extensions.hstelar7
Also add missing values from the IANA registry
2023-04-14LibTLS: Move CipherSuite to Extensions.hstelar7
Also add missing values from the IANA registry
2023-04-14LibTLS: Move HashAlgorithm to Extensions.hstelar7
Also add missing values from the IANA registry
2023-04-14LibTLS: Move SignatureAlgorithm to Extensions.hstelar7
Also add missing values from the IANA registry
2023-04-14LibTLS: Move ECPointFormat to Extensions.hstelar7
Also add missing values from the IANA registry
2023-04-14LibTLS: Rename NamedCurve to SupportedGroupstelar7
This matches the wording used in the IANA registry and TLS 1.3 Also add missing values from the IANA registry
2023-04-14LibTLS: Move ECCurveType to Extensions.hstelar7
Also add missing values from the IANA registry
2023-04-14LibTLS: Move NameType to Extensions.hstelar7
2023-04-14LibTLS: Rename HandshakeExtension to ExtensionTypestelar7
This matches the wording used in the TLS RFC
2023-04-14LibTLS: Update HandshakeType value names to match IANA registry valuesstelar7
2023-04-14LibTLS: Rename AlertLevel Critial to FATALstelar7
This matches the wording used in the TLS RFC
2023-04-14LibTLS: Rename Version to ProtocolVersionstelar7
This matches the wording used in the TLS RFC Also define GREASE values as specified in RFC8701
2023-04-14LibTLS: Rename MessageType to ContentTypestelar7
This matches the wording used in the TLS RFC
2023-04-14LibC: Implement if_indextoname and if_nametoindexArda Cinar
2023-04-14Kernel/Net: Implement SIOCGIFINDEX and SIOCGIFNAME for socketsArda Cinar
These ioctls exist on Linux and can be used to implement libc functions if_indextoname and if_nametoindex (without needing to parse any JSON).
2023-04-14LibWeb: Honor column-gap and row-gap CSS properties in flex layoutAndreas Kling
This isn't actually part of CSS-FLEXBOX-1, but all major engines honor these properties in flex layout, and it's widely used on the web. There's a bug open against the flexbox spec where fantasai says the algorithm will be updated in CSS-FLEXBOX-2: https://github.com/w3c/csswg-drafts/issues/2336 I've added comments to all the places where we adjust calculations for gaps with "CSS-FLEXBOX-2" so we can find them easily. When that spec becomes available, we can add proper spec links.
2023-04-14SoundPlayer: Check if loader is nullBrendan Kelly
This patch prevents SoundPlayer from crashing when attempting to "seek" when no file has been loaded
2023-04-14LibVideo/VP9: Extend the borders on reference frames to avoid branchingZaggy1024
Extending the borders on reference frames so that motion vectors that point outside the reference frame allows `predict_inter_block()` to avoid some branches to clamp the sample coordinates in its loops. This results in about a 25% improvement in decode time of a motion- heavy YouTube video (~20.8s -> ~15.6s).
2023-04-14LibVideo/VP9: Clamp reference frame prediction coords outside loopsZaggy1024
Moving the clamping of the coordinates of the reference frame samples as well as some bounds checks outside of the loop reduces the branches needed in the `predict_inter_block()` significantly. This results in a whopping ~41% improvement in decode performance of an inter-prediction-heavy YouTube video (~35.4s -> ~20.8s).
2023-04-14LibVideo/VP9: Pre-calculate inter-frames' reference frame scale factorsZaggy1024
Changing the calculation of reference frame scale factors to be done on a per-frame basis reduces the amount of work done in `predict_inter_block()`, which is a big hotspot in most videos. This reduces decode times in a test video from YouTube by about 5% (~37.2s -> ~35.4s).
2023-04-14LibVideo/VP9: Copy data to reference frames row by rowZaggy1024
This changes the order of the loop copying data to a reference frame store so that it copies each row in a contiguous line rather than copying a column at a time, which caused unnecessary branches. This reduces the decode time on a fairly long 720p YouTube video by about 14.5% (~43.5s to ~37.2s).
2023-04-14TestVP9Decode: Dequeue frames from the decoder after sending a sampleZaggy1024
Frames must be dequeued from the decoder, or the queue will grow continuously until OOM.
2023-04-14LibVideo/Matroska: Remove assertion that cue seeks find earlier samplesZaggy1024
Files can contain a first keyframe that is timestamped later than zero. We don't want to crash in those cases, so don't assert that it can't happen.
2023-04-14LibGUI: Only redraw sliders after the `on_change` callback has finishedZaggy1024
This prevents the seek slider in VideoPlayer from skipping forward and then back when fast seeking is enabled. Previously, it was possible for a single frame to render before the actual seek position in the seek bar was set.
2023-04-14LibVideo: Remove Starting playback state in favor of Seeking to zeroZaggy1024
2023-04-14VideoPlayer: Use rounded seconds for the timestamp labelZaggy1024
Previously, the time would read "00:00:01" when the timestamp was merely 1 millisecond past the start of the video. If a video does not start with a sample at timestamp 0, then, seeking to the start would display that text rather than "00:00:00".
2023-04-14VideoPlayer: Update the current timestamp on state changesZaggy1024
The state could change and cause a timestamp change without the video frame event firing, which could desync the seek bar from the video's actual time.
2023-04-14LibVideo: Add a method to get the playback state from `PlaybackManager`Zaggy1024
2023-04-14LibVideo: Always present a frame when not fast-exiting seekZaggy1024
Previously, there was some leftover logic in `SeekingStateHandler` which would avoid presenting a frame if it didn't find a frame both before and after the target frame. However, this logic was unnecessary as the `on_enter()` function would check if it needed to present a frame and exit seeking if not. This allows seeking to succeed if the Seeking handler cannot find a frame before the one to be seeked to, which could occur if the first frame of a video is not at timestamp 0.
2023-04-14LibVideo: Dispatch PlaybackManager state changes after `on_enter()`Zaggy1024
Previously, the state change was dispatched before the new state that was adopted had been entered, causing it to have invalid state.
2023-04-14LibVideo: Improve logging when PLAYBACK_MANAGER_DEBUG=onZaggy1024
This adds a timestamp to the debug output when presenting a frame, so it can be clear the frame spacing between a presented frame and a state change. The seeking state will also now print when it early-exits if the seek point is within the current sample's duration.