Commit graph

31 commits

Author SHA1 Message Date
Andrew Kaster
be13a0ec3f Meta: Port changes to gn build
8b3a5d0b96
99ef078c97
dc401f49ea
d30ae92b82
c22a2d8f2b
6cf7d07a98
0c98c7637e
00487a7b25
1db243c006
2024-10-09 06:43:31 -04:00
Timothy Flynn
00487a7b25 LibWebView+LibWeb: Remove ResourceLoader and WebSocket adapters
These were used to provide a layer of abstraction between ResourceLoader
and the networking backend. Now that we only have RequestServer, we can
remove these adapters to make the code a bit easier to follow.
2024-10-08 06:52:51 +02:00
Andrew Kaster
9bcdf8eafe Meta: Update non-LibWeb libraries in gn build 2024-09-27 10:15:08 -06:00
Andrew Kaster
8aac8f25ba Meta: Handle removed and renamed libraries in gn build 2024-09-27 10:15:08 -06:00
Sam Atkins
8cbc211616 Meta: Make embed_as_string_view.py produce Strings instead
This is only used for CSS style sheets. One case wants it as a String,
and the others don't care, but will in future also want to have the
source as a String.
2024-09-03 10:12:07 +01:00
Timothy Flynn
8362c073f3 Everywhere: Remove LibSQL, SQLServer, and the sql REPL :^)
It is now entirely unused and replaced by sqlite3.
2024-06-06 11:27:03 -04:00
Timothy Flynn
a089c00e02 Meta: Remove unused SerenityOS references from the GN build 2024-06-04 07:45:42 +02: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
Timothy Flynn
5dd3b91f0e LibCore+LibWebView: Move process statistics to LibCore
This will be needed to collect statistics from processes that do not
have anything to do with LibWebView. The ProcessInfo structure must be
virtual to allow callers to add application-specific information.
2024-04-22 14:46:10 -06:00
Andrew Kaster
5e1d678bae Ladybird+Userland: Remove use of unnecessary fd passing socket concept
Now that LibIPC is using SCM_RIGHTS properly, we can go back to only
having one socket laying around when needing to transfer fds to peers.
2024-04-19 16:38:55 -04:00
Timothy Flynn
6eb2052d40 LibWebView: Remove now-unused history object 2024-04-14 18:53:58 -07:00
Andrew Kaster
8c5e64e686 Ladybird+LibWebView: Add mechanism to get Mach task port for helpers
On macOS, it's not trivial to get a Mach task port for your children.
This implementation registers the chrome process as a well-known
service with launchd based on its pid, and lets each child process
send over a reference to its mach_task_self() back to the chrome.

We'll need this Mach task port right to get process statistics.
2024-04-09 16:43:27 -06:00
Andrew Kaster
6d38d55fc8 LibWebView: Collect memory and cpu usage for helpers on Linux 2024-04-04 09:41:01 +02:00
Andrew Kaster
d1fdfead54 LibWebView+Browser: Collect memory and cpu usage for helpers on Serenity 2024-04-03 20:56:33 +02:00
Andrew Kaster
fa8b64d59a LibWebView+WebContent: Notify UI process about WebContent PID explicitly
On Serenity, it's not trivial to extract the peer pid from a socket that
is created by SystemServer and then passed to a forked service process.
This patch adds an API to let the WebContent process notify the UI
directly, which makes the WebContent process show up in the Serenity
port's TaskManagerWidget. It seems that we will need to do something of
this sort in order to properly gather metrics on macOS as well, due to
the way that self mach ports work.
2024-04-02 09:52:34 -06:00
Andrew Kaster
096feaaeb8 Ladybird+LibWebView: Add ProcessManager to track live processes
This model will be used to add a Processes tab to the inspector.
2024-04-02 09:52:34 -06:00
Timothy Flynn
a729677561 Meta: Port recent changes to the GN build
6c26ff567e
e800605ad3
cf7c933312
2024-03-23 17:26:31 -04:00
Andrew Kaster
02edd240ae LibWeb+WebContent: Spawn Worker processes from the chrome
Instead of spawning these processes from the WebContent process, we now
create them in the Browser chrome.

Part 1/N of "all processes are owned by the chrome".
2024-01-12 15:53:11 -07:00
Timothy Flynn
4cfeb41c4b LibWebView+WebContent: Add APIs to manipulate DOM nodes
This adds APIs to allow Ispector clients to:
* Change a DOM text or comment node's text data.
* Add, replace, or remove a DOM element's attribute.
* Change a DOM element's tag.
2023-12-04 01:33:57 +01:00
Timothy Flynn
d6df13af6a LibWebView: Remove the now-unused ConsoleClient
It is superseded by the Inspector's console.
2023-12-02 10:34:22 +01:00
Timothy Flynn
6eadf4a778 LibWebView: Remove now-unused PropertyTableModel 2023-11-29 13:56:35 +01:00
Timothy Flynn
c03b69e664 LibWebView+Ladybird: Remove now-unused WebView TreeModel
This was used to provided base functionality for model-based chromes for
viewing the DOM and accessibility trees. All chromes now use the WebView
inspector model for those trees, thus this class is unused.
2023-11-24 08:37:19 +01:00
Timothy Flynn
1fe486cebe LibWebView: Implement a WebView-based Inspector client
This is modeled after a similar implementation for the JS console.

This client takes over an inspector WebView (created by the chrome) to
create the inspector application. Currently, this application includes
the DOM tree and accessibility tree as a first pass. It can later be
extended to included the style tables, the JS console itself, etc.
2023-11-24 08:37:19 +01:00
Timothy Flynn
652bbe172b Meta: Port recent changes to GN build
86ee7d219e
75caccafa4
1b30b510b9
bb43bd2dee
6322d68b1b
73ef102b01
923027b1df
dfa79ba6d8
66c9696687
521f8bd5f2
734076946b
0df06ce273
1ca46afa2f
66bd75f2b9
43dc9dfb69
4b94b0b561
4c5d48f861
c4efc0a5aa
3999c74237
4d356cfca5
2023-11-14 09:36:36 -05:00
Andrew Kaster
faa8ef98c9 Meta: Port recent changes to gn BUILD
5c7e5cc738
a8f0fa5dd4
0d417cd604
5b87d26027
 (and other friends from the JIT PR)
f915aa70cd
2023-10-27 16:51:03 -06:00
Karol Kosek
1681d6f721 Meta: Port recent build changes to gn build
This ports the following commits:
6476dea898
153ae93f9c
45b36bd08a
7870f10aa8
139c575cc9
63d09f6daf
1b3ad1c721
77d32fcb5f
2023-09-18 11:09:48 -06:00
Sebastian Zaha
8dcb7c29ad Meta: Port recent build changes to gn build
This ports the following commits:

e26ead0995
5c5a00dd3a
2023-09-01 09:00:03 +02:00
Sebastian Zaha
967cb86c5b Meta: Port recent build changes to gn build
This ports the following commits:

848ec538c6
703c2bb06e
27dd2a40ad
daefe744ba
9812031a02
4c0816b002
8bb275f2ea
3f122b7335
2023-08-29 09:37:52 +02:00
Andrew Kaster
7d7c419ce6 Ladybird: Add WebSocket server for use by Lagom networking
Hide its use behind the same flag as RequestServer in WebContent.
2023-08-03 09:55:20 +02:00
Andrew Kaster
b5bfe732d7 Ladybird: Add RequestServer process to optionally replace Qt Networking
LibTLS still can't access many parts of the web, so let's hide this
behind a flag (with all the plumbing that entails).

Hopefully this can encourage folks to improve LibTLS's algorithm support
:^).
2023-08-02 05:44:43 +02:00
Andrew Kaster
7b3d0fb002 Meta: Add gn rules for dependencies of LibWeb
There's a lot of them, and LibWeb is a massive set of files to build as
well, so let's add these first :^).
2023-07-09 16:22:58 -06:00