summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-03-20Meta: Don't install CA certificates during a on-Serenity buildTim Schumacher
`SERENITYOS` is also set when compiling Lagom on SerenityOS, so we can't just check it and expect `CMAKE_STAGING_PREFIX` to be set. Instead, check `CMAKE_STAGING_PREFIX` directly and use that as an indicator for whether we can install a file there.
2023-03-20grep: Remove a leftover debug lineTim Schumacher
2023-03-20LibCrypt: Start installing headers againTim Schumacher
This was accidentally broken in ac401970475cd3ceb2c284a6072d91ca5d9de23e, after which we started installing headers into a `LibCrypt` subdirectory instead. `serenity_install_headers("")` is really the only thing that we need from `serenity_libc`, so just replicate that manually.
2023-03-20Snake: Implement image-based skinsSam Atkins
Co-authored-by: HawDevelopment <hawdevelopment@gmail.com>
2023-03-20Snake: Move geometry types into Geometry.h and add Direction enumSam Atkins
2023-03-20Snake: Remember if game was paused when picking colorSam Atkins
If we were paused before, don't start the game after closing the dialog.
2023-03-19LibWeb: Add keep-alive in response headers if it present in requestAliaksandr Kalenik
This fix addresses issue where, if request headers contain "Connection: keep-alive", we keep socket open without letting client know that we support keep-alive connections. This can result in a large number of open and unused sockets.
2023-03-19CI: Add "set -e" to Azure DevOps scriptsAndrew Kaster
Without setting this explicitly in every script, failing script lines in multiline scripts will not fail the job themselves.
2023-03-19Fuzzers: Use correct type name in FuzzilliJs fuzzerAndrew Kaster
2023-03-19LibWeb: Stub out a few form validation and selection methodsElisée Maurer
2023-03-19SoundPlayer: Keep track of the selected visualization in the configCaoimhe
2023-03-19SoundPlayer: Move `get_image_from_music_file` to the advanced viewCaoimhe
2023-03-19LibWeb: Rename `PaintableBox::clip_rect()`Aliaksandr Kalenik
2023-03-19LibWeb: Apply border-radius clip only if overflow hidden for both axisAliaksandr Kalenik
Before this change `apply_clip_overflow_rect` might crash trying to access `clip_rect` that does not have value because we currently support calculation of visible rectangle when `overflow: hidden` is applied for both axis.
2023-03-19LibWeb: Update stylesheet loading to use fetch infrastructureSrikavin Ramkumar
2023-03-19LibWeb: Implement 'create a potential-CORS request' algorithmSrikavin Ramkumar
2023-03-19Meta: Specify a working directory for the FLAC spec test on Lagomkleines Filmröllchen
The serenity_test function cannot set this up as it has no purpose on Serenity itself.
2023-03-19Tests: Correct FLAC spec test pathskleines Filmröllchen
This makes the path consistent with Lagom in the next commit, so that the test binary doesn't need special cases for the two platforms.
2023-03-19Tests: Refactor FLAC spec test to not use a TestCase subclasskleines Filmröllchen
The deallocation of the test cases at the very end happens through a NonnullRefPtr<TestCase>, meaning the deallocation will assume the wrong object size and trip up ASAN. Therefore, we cannot use a TestCase subclass. I also took this opportunity and made use of the new LoaderError formatter.
2023-03-19Meta: Use extract_tar_path for WASM spec test generationkleines Filmröllchen
2023-03-19Meta: Refactor FLAC spec test extraction with extract_tar_pathkleines Filmröllchen
2023-03-19Meta: Add a tar extraction CMake wrapperkleines Filmröllchen
This is a copy of the zip wrapper adopted for tar archives.
2023-03-19LibAudio: Support FLAC files with unknown amount of sampleskleines Filmröllchen
This is a special case of the sample count field in the header which we treated as a format error before. Now we just take care to check stream EOF before reading chunks. This makes the final FLAC spec test pass, making us one of the most compliant loaders! :^)
2023-03-19LibAudio: Use specified bit depth directlykleines Filmröllchen
We report a rounded up PCM sample format to the outside, but use the exact bit depth as specified in header and frames. This makes the three FLAC spec tests with a a bit depth of 20 pass.
2023-03-19Ladybird: Fix build failure caused by missing WebDriver headerAliaksandr Kalenik
Fix the problem that `cmake --build Build/ladybird` started failing with: fatal error: 'WebContent/WebDriverConnection.h' file not found after 11fe34ce0fb827f3bfe9c61c31b3dbe99a894233
2023-03-19WebDriver: Fix handling of disconnected WebContent processAliaksandr Kalenik
If WebContent process got disconnected it is only necessary to remove associated window instead of terminating the entire session.
2023-03-19WebDriver: Close all WebContent connections while destroying a sessionAliaksandr Kalenik
While closing a session, it is necessary to close all windows that may have been opened during that session.
2023-03-19WebDriver: Inline `Sesssion::stop()` in session destructorAliaksandr Kalenik
Previously it was possible to have following sequence of calls while destroying a session: 1. `WebContentConnection::die()` calls `Client::close_session()` 2. `Client::close_session()` removes a session from active sessions map which causes session destructor call. 3. Session destructor calls `Client::close_session()` to remove a session from active sessions. With `stop()` method inlined into destructor `close_session()` need to be called just once while destroying a session.
2023-03-19LibGUI: Update progress of thumbnail generations on failureLucas CHOLLET
Not doing it result in FileManager's progress bar being left as incomplete even if all jobs were finish.
2023-03-19LibThreading: Execute `on_error` on the original `EventLoop`Lucas CHOLLET
As the user might want to have interactions with LibGUI while handling errors, this code should be executed in the original `EventLoop`. Similarly to what is done with the error-free path.
2023-03-19LibGfx/JPEG: Make JPEGImageDecoderPlugin's constructor take a StreamLucas CHOLLET
This allows us to get rid of the raw pointer and size in the JPEG context struct.
2023-03-19LibGfx: Correct the type of Lookup.subtable_offsetsMatt Purnell
According to the spec (and the variable name), it should be an array of offsets, not u16s. Noticed while watching Andreas' most recent video.
2023-03-19LibAudio: Use new generic seek table for MP3kleines Filmröllchen
MP3 had the exact same data structure, except less readable and less efficient.
2023-03-19LibAudio: Improve FLAC seekingkleines Filmröllchen
"Improve" is an understatement, since this commit makes all FLAC files seek without errors, mostly with high accuracy, and partially even fast: - A new generic seek table type is introduced, which keeps an always-sorted list of seek points, which allows it to use binary search and fast insertion. - Automatic seek points are inserted according to two heuristics (distance between seek points and minimum seek precision), which not only builds a seek table for already-played sections of the file, but improves seek precision even for files with an existing seek table. - Manual seeking by skipping frames works properly now and is still used as a last resort.
2023-03-19Meta: Use non-VGA VirtIO GPU variants when running on macOSLiav A
It appears that QEMU on macOS doesn't have the VirtIO GPU variants that support VGA functionality. Those variants are not especially important to us, because we don't use any kind of VGA functionality in our kernel anyway. Therefore, for macOS, we could decide to use virtio-gpu-gl-pci and virtio-gpu-pci devices instead.
2023-03-19Kernel/Graphics: Use longer timeout settings in VirtIO GPU commandsLiav A
It appeared that we sometimes failed to invoke synchronous commands on the GPU. To temporarily fix this, wait 10 milliseconds for commands to complete before failing.
2023-03-19Kernel: Simplify VirtIOGPU attach_physical_range_to_framebuffer methodLiav A
According to the specification, modesetting can be invoked with no need for flushing the framebuffer nor with DMA to transfer the framebuffer rendering.
2023-03-19Kernel/VirtIO: Ignore the VIRTIO_PCI_CAP_PCI_CFG configuration typeLiav A
This configuration exposes a suboptimal mechanism to access other VirtIO device configurations. It is also the only configuration to use a zero length for a configuration structure, and specify a valid BAR which triggered a kernel panic when attaching a virtio-gpu-pci device before 95b15e49010299902abd2aa65bcc71e4158b7326 was applied. The real solution for that problem is to ignore this configuration type because we never actually use it. It means that we can VERIFY that all other configuration types have a valid length, as being expected.
2023-03-19Meta: Move global VM creation to fuzzer "global" structureTimothy Flynn
Turns out LLVMFuzzerTestOneInput may be called more than once per process.
2023-03-19FileManager: Extract .zip files to a temporary folder when openedCaoimhe
Prior to this commit, when you double-click a .zip file to open it, it gets opened in Text-Editor as there is no other file association. Now, when FileManager is invoked with a .zip file as the first argument, a temporary directory will be created and the .zip will be extracted into it. Once the FileManager window is closed, Core::TempFile will delete the temporary directory. This adds something like what we see in other operating systems' file explorers, except for the fact that most other operating systems will treat the .zip file as its own independent read-only filesystem. It would be nice to do that in the future, but I feel like this is sufficient for now.
2023-03-19LibCore: Improve the `TempFile` wrapperCaoimhe
- We were using primitive versions of mkstemp and mkdtemp, they have been converted to use LibCore::System. - If an error occurred whilst creating a temporary directory or file, it was thrown and the program would crash. Now, we use ErrorOr<T> so that the caller can handle the error accordingly - The `Type` enumeration has been made private, and `create_temp` has been "split" (although rewritten) into create_temp_directory and create_temp_file. The old pattern of TempFile::create_temp(Type::File) felt a bit awkward, and TempFile::create_temp_file() feels a bit nicer to use! :^) Once the Core::Filesystem PR is merged (#17789), it would be better for this helper to be merged in with that. But until then, this is a nice improvement.
2023-03-19LibCore: Add syscall wrapper for `mkdtemp()`Caoimhe
2023-03-18LibWeb: Add temporary hack for `line-height: calc(...)`Andreas Kling
At the moment, we can't resolve CSS calc() values without having a LayoutNode. The new StyleProperties::line_height() overload was trying to do exactly that, which led to an assertion. This patch makes `line-height: calc(...)` behave the same as `line-height: normal` for now and adds a FIXME.
2023-03-18LibWeb: Don't deref HTMLInputElement parent if its nullMathis Wiehl
Don't crash in case the elements parent is null.
2023-03-18LibWeb: Honor `pointer-events: none` when hitting a PaintableBoxAndreas Kling
If the PaintableBox had children, but we didn't hit any of them, we default to saying that you hit the PaintableBox itself. However, if said PaintableBox has `pointer-events: none`, we should say nothing was hit, so that the hit testing can continue. This fixes an issue where Discord server icons were not clickable.
2023-03-18LibWeb: Traverse shadow boundaries when looking for focus candidatesAndreas Kling
This makes focusing input fields by clicking on them work. Fixes #17801
2023-03-18LibWeb+Browser+Ladybird: Add menu action to dump paint treeAndreas Kling
2023-03-18LibWeb: Specify height as 1lh to fix the size of empty text boxesSimon Wanner
Previously, empty text boxes would fall back to the min-height: 16px set on the <input> element. As soon as there is any content they would usually gain height because the line height of that text is more than 16px (depending on the font/font-size used). Now they use height: 1lh for the inner div (which contains the actual text), which matches the exact height of 1 line of content.
2023-03-18LibWeb+LibWebView: Show shadow roots in the DOM inspectorSimon Wanner
2023-03-18Tests/LibWeb: Add two tests for lh and rlh unitsSimon Wanner