1
0
mirror of https://github.com/SerenityOS/serenity synced 2024-07-09 05:40:46 +00:00
Commit Graph

306 Commits

Author SHA1 Message Date
Luke Warlow
39a8974840 LibWeb: Implement stub for ElementInternals
This implements a stub ElementInternals object which implements the
shadowRoot getter only.

Also implement attachInternals function.

(cherry picked from commit a65f1ecc375fa02deeab5d0e7ab4702972ffa72e)
2024-06-26 20:02:46 +02:00
Nico Weber
22d737f370 Meta: Add a warning suppression used in the cmake build to the gn build
8263e0a619 added `-Wno-coroutine-missing-unhandled-exception` to the
cmake build, and the coroutine code does not build without it.

Unbreaks building e.g. `js` with GN.
2024-06-24 20:44:26 +02:00
Nico Weber
bb2d80a2bb Everywhere: Gently remove the ladybird android port
With Ladybird now being its own repository, there's little reason
to keep the Ladybird Android port in the SerenityOS repository.

(The Qt port is useful to be able to test changes to LibWeb in lagom
so it'll stay around. Similar for the AppKit port, since getting
Qt on macOS is a bit annoying. But if the AppKit port is too much
pain to keep working, we should toss that too.

Eventually, the lagom browser ports should move out from Ladybird/
to Meta/Lagom/Contrib, but for now it might make sense to leave them
where they are to keep cherry-picks from ladybird easier.)
2024-06-11 19:40:08 -04:00
Jamie Mansfield
7814dad6cf LibWeb: Implement should block mixed content request 2024-06-08 14:07:54 -04:00
Jamie Mansfield
bf8c6f939e LibWeb: Move NetworkPartitionKey into a header
This is used elsewhere, such as the HTMLLinkElement.
2024-06-05 05:02:55 +01:00
Timothy Flynn
d4734e920c Meta: Define HAVE_QT when building WebContent for Qt in the GN build
For some reason, WebContent fails to load simple sites like xkcd.com
without the Qt event loop, even when using RequestServer instead of the
Qt networking stack. The CMake build on Linux has the same issue if we
skip installing the Qt event loop. It's not clear why this is - whether
something depends on the Qt event loop, or if there's a bug in the Unix
event loop implementation.

This is, however, also needed to use the --enable-qt-networking feature.
2024-06-02 15:52:28 -04:00
Timothy Flynn
951aa44f87 Meta: Use the host CXX tool for linking as well
For example, if you set host_cxx=clang in your args.gn, we would still
use GCC for linking. This matches the CMake build now.
2024-06-02 15:52:28 -04:00
Timothy Flynn
847ee6e266 Meta: Do not launch linker commands with ccache 2024-06-02 15:52:28 -04:00
Timothy Flynn
017009437d Meta: Update compilation flags in the GN build to match the CMake build 2024-06-02 15:52:28 -04:00
Timothy Flynn
ac15c1cc01 Meta: Port recent changes to the GN build
2ce61fe6ea
2024-05-31 10:44:00 -04:00
Timothy Flynn
d6732e5906 Ladybird/AppKit: Implement a basic find-in-page panel 2024-05-31 06:30:39 -04:00
Timothy Flynn
903078e4d1 Meta: Fix detection of QtMultimedia usage on macOS
We use Audio Unit for audio on macOS.
2024-05-31 06:30:39 -04:00
Timothy Flynn
5912df5e42 Meta: Port recent changes to the GN build
389a55fe36
2024-05-31 06:30:39 -04:00
Andrew Kaster
e2d50dc5dd LibWeb: Move window.open TokenizedFeature parsing into its own file 2024-05-30 16:16:33 -04:00
Timothy Flynn
d9a277c139 Meta: Allow building Ladybird without QtMultimedia if Pulse is found 2024-05-30 11:07:08 -04:00
Timothy Flynn
31cd3124cc Meta: Do not link QtSvg in the GN build
We haven't used QtSvg in some time, we now use TVG files for icons.
2024-05-30 11:07:08 -04:00
Timothy Flynn
1d81cfe168 Meta: Port recent changes to the GN build
1fa7235fec
b9db9013f5
2024-05-30 11:07:08 -04:00
Jamie Mansfield
01bd179eef LibWeb: Implement UserActivation 2024-05-29 09:32:59 -06:00
Timothy Flynn
eb3b8f8ee4 LibWeb: Implement EventSource for server-sent events
EventSource allows opening a persistent HTTP connection to a server over
which events are continuously streamed.

Unfortunately, our test infrastructure does not allow for automating any
tests of this feature yet. It only works with HTTP connections.
2024-05-26 18:29:24 +02:00
Timothy Flynn
6056428cb5 LibWeb: Support unbuffered fetch requests
Supporting unbuffered fetches is actually part of the fetch spec in its
HTTP-network-fetch algorithm. We had previously implemented this method
in a very ad-hoc manner as a simple wrapper around ResourceLoader. This
is still the case, but we now implement a good amount of these steps
according to spec, using ResourceLoader's unbuffered API. The response
data is forwarded through to the fetch response using streams.

This will eventually let us remove the use of ResourceLoader's buffered
API, as all responses should just be streamed this way. The streams spec
then supplies ways to wait for completion, thus allowing fully buffered
responses. However, we have more work to do to make the other parts of
our fetch implementation (namely, Body::fully_read) use streams before
we can do this.
2024-05-26 18:29:24 +02:00
Timothy Flynn
a38144fb2a Meta: Port recent changes to the GN build
5f17d9b34a
2024-05-26 18:29:24 +02:00
Timothy Flynn
398c99e981 Meta: Use SHA-256 verification for downloaded CA certificate files 2024-05-24 08:47:26 -04:00
Timothy Flynn
3b2c8d0af2 Meta: Use SHA-256 verification for downloaded TZDB files 2024-05-24 08:47:26 -04:00
Timothy Flynn
4d65a073b5 Meta: Use SHA-256 verification for downloaded CLDR files 2024-05-24 08:47:26 -04:00
Timothy Flynn
4ce7f49f2f Meta: Use SHA-256 verification for downloaded UCD files 2024-05-24 08:47:26 -04:00
Timothy Flynn
ec63f442f9 Meta: Add support for verifying downloaded files with their SHA-256 hash 2024-05-24 08:47:26 -04:00
Timothy Flynn
f3e04085d8 Meta: Port recent changes to the GN build
57714fbb38
76418f3ffa
8d5665ebe1
3aa36caa52
bfa330914d
2024-05-24 08:47:26 -04:00
Liav A.
c48d540230 Kernel: Move VGATextModeConsole code to the Arch/x86_64/ISABus directory
This code is specific to x86 machines, as virtually no other computer
architecture has any compatibility with old VGA legacy functionality.
2024-05-23 05:07:56 -06:00
Daniel Bertalan
060e6f4d21 Meta: Fix detection of default compiler versions
The logic in this script was *intended* to use the system's default
compiler if it was sufficiently new, and only start searching for the
latest installed if the default was not suitable.

However, the `cxx` program does not exist on Unixes, so the version
check always failed. We should be using the standard `c++` program name
instead.

After this change, the `CC` and `CXX` environment variables will have to
be used if someone wants to force a newer compiler version.
2024-05-23 00:56:37 -06:00
Nico Weber
ed2658d72c LibGfx/WebP: Move some to-be-shared code to WebPSharedLossless.h
No behavior change. No measurable performance different either.

(I tried `hyperfine 'Build/lagom/bin/image --no-output foo.webp'`
for a few input images before and after this change, and I didn't
see a difference. I also tried if moving both
Gfx::CanonicalCode::read_symbol() and
Compress::CanonicalCode::read_symbol() inline, and that didn't
help either.)
2024-05-20 13:17:34 -04:00
Nico Weber
b6bbff5f3f LibGfx/WebPWriter: Move VP8L compression to WebPWriterLossless.{h,cpp}
* Matches how the loader is organized
* `compress_VP8L_image_data()` will grow longer when we add actual
  compression
* Maybe someone wants to write a lossy compressor one day

No behavior change.
2024-05-16 08:06:50 +02:00
Timothy Flynn
13fa42d2e5 Meta: Port recent changes to the GN build
2a56df8ecd
5da9af435e
2024-05-15 15:20:29 -06:00
Liav A.
e1d435d0b0 Kernel/x86_64: Rename PCI HostBridge => PIIX4HostBridge
This code is actually for the old PIIX4 PCI host bridge, which requires
to use legacy x86 IO instructions.
2024-05-14 15:42:29 -06:00
Liav A.
0bab9a9313 Kernel: Move VirtIO RNG implementation to the Security/Random directory 2024-05-14 15:42:29 -06:00
Liav A.
bbb749ab47 Kernel: Move VirtIO console code to the Devices/Serial/VirtIO directory 2024-05-14 15:42:29 -06:00
Liav A.
2cb86c1309 Kernel/Storage: Remove ATA IDE support
Nobody uses this functionality. I used this code on my old 2007 ICH7
test machine about a year ago, but bare metal is a small aspect of the
project, so it's safe to assume that nobody really tests this piece of
code.
Therefore, let's drop this for good and focus on more modern hardware.
2024-05-14 12:38:05 -06:00
Nico Weber
6c79efcae4 LibGfx: Move AnimationWriter to its own file
No behavior change.
2024-05-14 13:43:03 -04:00
Timothy Flynn
4bf0ddad4c Meta: Remove the generated bindings forwarding header from the GN build
This was removed in commit 22705e3065.
2024-05-12 18:10:05 -04:00
Timothy Flynn
0bd5e94958 Meta: Add missing IDL files to the GN build
Unclear why these being missing did not cause a compilation error.
2024-05-12 15:38:18 -06:00
Timothy Flynn
cc84dba7e8 Meta: Port recent changes to the GN build
cea59b6642
2bc51f08d9
e10721f1b5
3a5eabc43b
2024-05-12 15:38:18 -06:00
Nico Weber
3435770c23 Meta: Use -std=c++2b on mac hosts in the GN build
Xcode clang doesn't understand the -std=c++23 spelling yet, and this
is what CMake's `set(CMAKE_CXX_STANDARD 23)` translates to too.

Unbreaks building with Xcode clang on macOS.
2024-05-07 11:41:40 -04:00
Nico Weber
2f81a3610d Meta: Port recent changes to the GN build
3a73eb99ac
2024-05-07 11:41:40 -04:00
Andrew Kaster
77e890b15e Meta+Documentation+Ports: Move from C++20 to C++23
Now that oss-fuzz is on a clang commit > the 17.x release candidates,
we can start looking at some shiny new features to enable.
2024-05-06 11:46:28 -06:00
Nico Weber
d04f9cf3c8 LibGfx+image: Add scaffolding for writing webp files 2024-05-06 17:32:19 +02:00
Timothy Flynn
1b859bac64 Meta: Port recent changes to the GN build
cd07249482
acd5369774
7d05fe84bc
2024-04-30 06:02:15 -06:00
Andrew Kaster
bc976fe7e1 LibWebView: Create plumbing for a single UI process
This allows main UI processes created while there is a currently
running one to request a new tab or a new window with the initial urls
provided on the command line. This matches (almost) the behavior of
Chromium and Firefox.

Add a new IPC protocol between two UI processes. The main UI process
will create an IPC server socket, while secondary UI processes will
connect to that socket and send over the URLs and action it wants the
main process to take.
2024-04-27 20:32:12 -04:00
Andrew Kaster
ce9eed918f ImageDecoder: Schedule decode jobs on the LibThreading background thread
This allows the ImageDecoder service to handle new IPC requests while
decoding in parallel.
2024-04-26 09:41:24 +02:00
Timothy Flynn
1560d6ad62 LibCore: Remove the now-obsolete SingletonProcess helper files 2024-04-24 15:51:58 -06:00
Timothy Flynn
f16f89eb32 Ladybird+LibWebView: Move SQLServer launcher to Ladybird
It previously resided in LibWebView to hide the details of launching a
singleton process. That functionality now lives in LibCore. By moving
this to Ladybird, we will be able to register the process with the task
manager.
2024-04-22 14:46:10 -06:00
Timothy Flynn
bf50881e61 LibCore+LibSQL+LibWebView: Move launching a singleton process to LibCore
This just moves the code to launch a single process such as SQLServer to
LibCore. This will allow re-using this feature for other processes, and
will allow moving the launching of SQLServer to Ladybird.
2024-04-22 14:46:10 -06:00