Commit graph

62629 commits

Author SHA1 Message Date
doctortheemh
4ef76f3198 LibGfx: Decode AVIF images
Use libavif to decode AVIF images in LibGfx.
2024-07-09 08:15:47 +02:00
Tim Ledbetter
4ed46adeee UI/Qt: Set a minimum size policy for the navigation control toolbar
This prevents the user being able to shrink the window to the point
that the location bar and other controls are no longer visible.
2024-07-09 08:14:43 +02:00
luozhiya
9ced3ec84d Meta: CMakeLists invoke check_style.py 2024-07-08 18:03:42 -06:00
dependabot[bot]
0b34a60307 CI: Bump JamesIves/github-pages-deploy-action from 4.6.1 to 4.6.3
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.1 to 4.6.3.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.1...v4.6.3)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-08 18:02:28 -06:00
simonkrauter
062a266574 LibWeb: Use system colors for input type range and progress as default
Instead of using fixed arbitrary colors for the background of the bar,
AccentColor and Background are now used.
2024-07-08 21:06:42 +01:00
Aliaksandr Kalenik
067bb64eb5 headless-browser: Add CLI argument to enable Skia painter
Useful to check what ref-tests are currently broken with Skia painter.
2024-07-08 19:46:33 +01:00
Diego
31c7e98a4a LibWasm: Fix comparisons between 0.0 and -0.0
According to the spec, -0.0 < 0.0.
2024-07-08 15:12:16 +02:00
Diego
c103001f16 LibWasm: Fix lossy NaN bit pattern conversions in spec-test gen 2024-07-08 15:12:16 +02:00
Diego
c882498d44 LibWasm: Fix some floating-point conversion issues
NaN bit patterns are now (hopefully) preserved. `static_cast` does not
preserve the bit pattern of a given NaN, so ideally we'd use some other
sort of cast and avoid `static_cast` altogether, but that's a large
change for this commit. For now, this fixes the issues found in spec
tests.
2024-07-08 15:12:16 +02:00
Diego
6493acf2f4 LibWasm: Preserve sign bit across JS boundary in test-wasm
A `Uint8Array` can now be passed in the Wasm testjs files to be
transmuted into a Wasm value.
2024-07-08 15:12:16 +02:00
Luke Warlow
63a5ff70e5 LibWeb: Implement :modal pseudo class
Adds the :modal pseudo class which matches dialogs opened with
showModal().
2024-07-08 11:34:06 +02:00
Tim Ledbetter
34b9873664 LibWeb: Populate filename in WindowOrWorkerGlobalScope.reportError()
Previously, when `WindowOrWorkerGlobalScope.reportError()` was called
the `filename` property of the dispatched error event was blank. It is
now populated with the full path of the active script.
2024-07-08 11:26:24 +02:00
Tim Ledbetter
572324d47b LibWeb: Invalidate input element style on focus change
The style of input and textarea elements is now invalidated when focus
is changed to a new element. This ensures any `:focus` selectors are
applied correctly.
2024-07-08 08:48:38 +01:00
Andreas Kling
9448c957c1 LibJS: Cache environment index for global declarative bindings
This allows global `let` and `const` variable accesses to be cached
by the GetGlobal instruction, and works even when the access is in a
different translation unit from the declaration.

Knocks a ~10% item off the profile on https://ventrella.com/Clusters/
2024-07-07 20:01:46 +02:00
Andrew Kaster
62268cca9e CMake: Add ENABLE_GUI_TARGETS option to enable disabling GUI components
This is useful when, e.g. building the test262 runner on its own.
2024-07-07 09:51:29 -06:00
Andrew Kaster
22d7aa53fa Meta: Tell vcpkg we don't need to build vulkan-loader
Trying to build VulkanLoader from source is a giant headache of
unnecessary packages. Every modern distro has vulkan packages, let's
depend on those instead of trying to build something for both wayland
and X11.
2024-07-07 09:51:29 -06:00
Alex Studer
e6432041b2 Android: Pass touch events through as mouse events
This is probably not the best way of handling touch events, but at least
it allows the user to actually interact with the page!
2024-07-07 09:45:54 -06:00
Alex Studer
feb7c0d950 Android: Change container from SwipeRefreshLayout to FrameLayout
We were not doing anything with the SwipeRefreshLayout, and it
interfered with touch events. We may want to bring this back at some
point? But probably only after we handle Android scrolling correctly.
2024-07-07 09:45:54 -06:00
Alex Studer
86d27d180b Android: Add ladybird folder to copied resource assets
This fixes the about scheme pages (about:version etc.) and directory
listings.
2024-07-07 09:42:47 -06:00
Andrew Kaster
233320ef17 Meta: Set proper PKG_CONFIG_EXECUTABLE and GN paths for aarch64 Linux
We need to avoid using vcpkg's pkg-config on non-x86_64 platforms,
because they do very strange things to the default paths.

On Asahi Linux and other 16 KiB page distros, the user must also provide
a properly compiled version of GN.
2024-07-07 15:56:59 +02:00
Andrew Kaster
a3e24163aa Meta: Add overlay port for vulkan-loader
In order to pass the proper pkg-config on aarch64 linux, we need
to patch this port to use vcpkg's own find_tool infrastructure.
2024-07-07 15:56:59 +02:00
Andrew Kaster
0a16a09993 CMake: Add triplets for arm64-linux 2024-07-07 15:56:59 +02:00
Andrew Kaster
fc7af577fc AK: Ignore -Wstring-op-overflow in another ByteBuffer instance
gcc 14.1 from Fedora 40 likes to warn on this on aarch64.
2024-07-07 15:56:59 +02:00
Andrew Kaster
34892cf3c4 Meta: Add provision for user-specified port variables to vcpkg
If a CMake file set()'s some variables that VCPKG understands here,
it will be used in the build of all ports
2024-07-07 15:56:59 +02:00
Natsuki Ikeguchi
ccb3a2f7ad LibWeb: Add initial implementation of global.reportError() 2024-07-07 13:53:01 +01:00
Andreas Kling
34cd98a607 Base: Remove image format test suites
We don't need to lug around all these image files now that we'll be
using 3rd party libraries for image format support anyway.
2024-07-07 13:46:01 +02:00
Olekoop
cb6e438019 LibCore: Don't check for Core::NotificationType::None on Android
In this section on Android it seems to loop itself for some reason
As a quick hack we can just not check for Core::NotificationType::None
2024-07-07 03:43:32 -06:00
Olekoop
76a4f841b5 Android: Download vcpkg when building Lagom tools 2024-07-07 03:43:32 -06:00
Olekoop
71e1f724f6 Android: Use ALooper_pollOnce instead of ALooper_pollAll
ALooper_pollAll is deprecated and it will be removed in NDK r27
2024-07-07 03:43:32 -06:00
Olekoop
4f05365c4e Android: Detach file descriptor from ParcelFileDescriptor
This fixes a warning in logcat "A resource failed to call close."
2024-07-07 03:43:32 -06:00
Andreas Kling
bbc17c3523 Meta: Update Lagom ReadMe links to the Ladybird LibJS website
Also remove references to the web REPL as we no longer build that.
2024-07-07 11:37:11 +02:00
Daniel Bertalan
33bfac23ef LibJS: Add missing ValueInlines.h include for Value::to_numeric
When compiling with `-O2 -g1` optimizations (as done in the main
Serenity build), no out-of-line definitions end up emitted for
`Value::to_numeric`, causing files that reference the function but don't
include the definition from `ValueInlines.h` to add an undefined
reference in LibJS.so.

(cherry picked from commit 85b7ce8c2f6daf0db80e801d7fb2503d070765ce)
2024-07-07 11:32:57 +02:00
simonkrauter
cbc4832a53 LibWeb: Extend meter test 2024-07-07 08:07:19 +02:00
simonkrauter
a676bd97a7 LibWeb: Correct HTMLMeterElement color selection
The logic of the comment "the region between the high boundary and the
maximum value must be treated as the optimum region" is correct.
However, the code below covered only two cases, the optimum case was
missing.
Fixes #473
2024-07-07 08:07:19 +02:00
mbal
4b924e6782 Meta: Use the binary to run the app instead of open on macos
This should fix the control-c issue mentioned in
https://github.com/LadybirdBrowser/ladybird/issues/68
2024-07-07 08:06:00 +02:00
Alec Murphy
1759b82114 LibWeb: Scroll page and nav history with keyboard
This patch implements basic keyboard functionality for page scrolling
and history traversal.
2024-07-07 08:05:22 +02:00
Jacob Wischnat
7a03ef45c2 LibMedia: Support videos with BT470BG color matrix 2024-07-07 07:39:07 +02:00
Jörg Strebel
1140c965cd Documentation: Extend openSUSE Leap build instructions 2024-07-06 15:51:58 -06:00
rmg-x
7f04ceb4f6 LibWeb: Add response status check when loading fallback favicon
If a favicon image response status was not ok,
we would still attempt to decode the received body data.
2024-07-06 15:51:22 -06:00
rmg-x
8085e3eb26 LibWeb: Add response status check in SharedImageRequest::fetch_image
If an image response status was not ok, we would still pass the received
body data to ImageDecoder which is not correct.
2024-07-06 15:51:22 -06:00
Andrew Kaster
d176ed30df CI: Add x11 dependencies for vulkan vcpkg dependencies to test262 job 2024-07-06 15:50:48 -06:00
Ali Mohammad Pur
e0465b8939 Revert "LibTLS+Everywhere: Switch to using WolfSSL"
This reverts commit 8bb610b97a.
Linking wolfSSL seems to cause more legal trouble than it's worth due to
it being GPLv2, so let's undo this for now.
2024-07-06 15:15:34 -06:00
Keith Cirkel
8d593bcfeb LibWeb: Add customElements.getName 2024-07-06 14:51:43 -06:00
Antoni Duda
51f5da00d7 Meta: Make YCM return flags as Python list
As per YCM's own .ycm_extra_conf.py:
```python
final_flags = list( compilation_info.compiler_flags_ )
```
Before this change clangd would crash.
2024-07-06 14:50:43 -06:00
Tim Ledbetter
8867146327 WebWorker: Allow the WebWorker process to optionally use Qt networking
This change adds a `--use-lagom-networking` flag to the WebWorker
process. Qt networking is used if this flag isn't passed. The flag is
passed the UI launches the WebWorker process unless the Qt chrome is
being run with the `--enable-qt-networking` flag.
2024-07-06 14:50:26 -06:00
Tim Ledbetter
21eefb788b Tests/WPT: Enable Qt neworking when running WPT tests 2024-07-06 14:50:26 -06:00
Tim Ledbetter
ff2123a949 WebDriver: Add option to use Qt networking
Using Qt networking when running web platform tests improves
performance significantly. The time to run the subset of tests we run
on CI drops from 21.9 seconds to 8.2 seconds on my machine.
2024-07-06 14:50:26 -06:00
lalitrn44
eaf2384f1c Documentation: Add new dependencies libx11-dev libxrandr-dev 2024-07-06 14:50:10 -06:00
Ali Mohammad Pur
8bb610b97a LibTLS+Everywhere: Switch to using WolfSSL
This commit replaces all TLS connection code with wolfssl.
The certificate parsing code has to remain for now, as wolfssl does not
seem to have any exposed API for that.
2024-07-06 22:15:19 +02:00
simonkrauter
82915e1914 Ladybird/Qt: Apply selected color scheme for new tabs
Previously, new tabs always had the `auto` color scheme, regardless of
what the user has selected before.
Replace the 3 individual slots with a `set_preferred_color_scheme`
method.
2024-07-06 20:32:33 +01:00