summaryrefslogtreecommitdiff
path: root/Ladybird
AgeCommit message (Collapse)Author
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-18LibWeb+Browser+Ladybird: Add menu action to dump paint treeAndreas Kling
2023-03-17LibWeb: Move initialization of the MainThreadVM to WebContent's main()Timothy Flynn
It is a fallible operation, so this lets us abort early if it fails.
2023-03-16Ladybird: Implement `notify_request_open_new_tab`Aliaksandr Kalenik
2023-03-16LibWeb+LibWebView+WebContent+Ladybird: Add IPC call that opens new tabAliaksandr Kalenik
2023-03-16Ladybird: Generate window handle during client creationAliaksandr Kalenik
Generate handle UUID for top-level context that is going to run in created WebContent process and sent it over IPC. Co-authored-by: Timothy Flynn <trflynn89@pm.me>
2023-03-16WebContent+LibWebView: Consolidate the way browsers connect to WebDriverTimothy Flynn
Currently, on Serenity, we connect to WebDriver from the browser-side of the WebContent connection for both Browser and headless-browser. On Lagom, we connect from within the WebContent process itself, signaled by a command line flag. This patch changes Lagom browsers to connect to WebDriver the same way that Serenity browsers do. This will ensure we can do other initializers in the same order across all platforms and browsers.
2023-03-15Ladybird: Get the system's current color theme settings from QtAndreas Kling
There isn't a 1:1 equivalent for all ColorRoles between Qt and LibGfx, but we can at least make an effort to translate the various QPalette preferred colors. This makes text selection look a lot more "native" in Ladybird. :^)
2023-03-14Ladybird: Rely on transparent text color for location highlightingnetworkException
This patch replaces the usage of QPalette::PlaceholderText with QPalette::Text with opacity reduced to roughly 50%. This fixes the non highlighted spans having an extremely low contrast compared to the background in dark mode.
2023-03-13LibWeb+Ladybird+Userland: Port window.[alert,confirm,prompt] to StringTimothy Flynn
LibGUI and WebDriver (read: JSON) API boundaries use DeprecatedString, so that is as far as these changes can reach. The one change which isn't just a DeprecatedString to String replacement is handling the "null" prompt response. We previously checked for the null DeprecatedString, whereas we now represent this as an empty Optional<String>.
2023-03-13Ladybird: Add a utility to create a QString from an AK::StringTimothy Flynn
2023-03-13Ladybird: Remove the mode to dump the layout treeTimothy Flynn
This use case is now handled by headless-browser.
2023-03-13headless-browser: Re-implement headless-browser using an OOPWVTimothy Flynn
headless-browser currently uses its own PageClient to load web pages in-process. Due to this, it also needs to set up a whole bunch of other objects needed to run LibWeb, e.g. image decoders, request servers, etc. This changes headless-browser to instead implement a WebView to launch WebContent out-of-process. This implementation is almost entirely empty, but can be filled in as-needed. For example, we may want to print JavaScript console messages.
2023-03-13Ladybird+LibWebView: Move WebContent process launcher to LibWebViewTimothy Flynn
This is to allow headless-browser to reuse this code. We have a similar helper for launching SQLServer from Ladybird.
2023-03-11Ladybird: Delete unused ConsoleClient and ConsoleGlobalObjectAliaksandr Kalenik
After the separation of LibWeb into WebContent process, ConsoleClient and ConsoleGlobalObject are no longer used.
2023-03-10Ladybird+CI: Move layout_test.sh test runner from CI yml into CMakeAndrew Kaster
We should be able to run this locally, as long as ENABLE_LAGOM_LADYBIRD is true, or if building ladybird from the ladybird source directory. This removes a special case from the Lagom CI yml file.
2023-03-10Everywhere: Rename equals_ignoring_case => equals_ignoring_ascii_caseAndreas Kling
Let's make it clear that these functions deal with ASCII case only.
2023-03-08Ladybird: Send window size and position to WebContent processAliaksandr Kalenik
2023-03-08Ladybird: Add ccache to nativeBuildInputs in nix-shell scriptLinus Groh
2023-03-07Ladybird: Handle close event in WebContentViewAliaksandr Kalenik
2023-03-07LibWebView+WebContent: Propagate close from WebContent to LibWebViewAliaksandr Kalenik
2023-03-06Everywhere: Remove NonnullOwnPtr.h includesAndreas Kling
2023-03-06Everywhere: Stop using NonnullOwnPtrVectorAndreas Kling
Same as NonnullRefPtrVector: weird semantics, questionable benefits.
2023-03-01Ladybird: Specify the emoji image path in Ladybird's font pluginTimothy Flynn
2023-02-24Ladybird: Consider HTTP response a success if it has a status codeAndreas Kling
The QNetworkReply::NetworkError enum mixes all kinds of errors into one enum, HTTP errors, network errors, proxy errors, etc. Instead of caring about it, we now say that HTTP requests were successful if their response has any HTTP status code attached. This allows LibWeb to display error pages when using Qt networking.
2023-02-22Ladybird: Support inspecting the accessibility treeMacDue
This allows viewing the ARIA accessibility tree Epigenetic added in #16430, but now in Ladybird!
2023-02-21LibWeb+LibJS: Format Console arguments with JS::PrintAndrew Kaster
Instead of just calling JS::Value::to_string_without_side_effects() when printing values to the console, have all the console clients use the same JS::Print that the REPL does to print values. This method leaves some things to be desired as far as OOM hardening goes, however. We should be able to create a String in a way that doesn't OOM on failure so hard.
2023-02-19Ladybird: Add qtwayland to QT_PLUGIN_PATH in nix-shell scriptLinus Groh
Otherwise Qt would not find the wayland plugin it is instructed to use via QT_QPA_PLATFORM, and would fall back to the second option, xcb, which looks rather sad in a modern Wayland environment :^) This feels like something that should be addressed upstream in nixpkgs eventually.
2023-02-19Ladybird: Add libxcrypt to nativeBuildInputs in nix-shell scriptLinus Groh
This makes <crypt.h> available.
2023-02-16Ladybird: Close tab clicking wheel of the mouseFederico Guerinoni
2023-02-13Everywhere: Remove the `AK::` qualifier from Stream usagesTim Schumacher
2023-02-13LibCore: Remove `Stream.h`Tim Schumacher
2023-02-13LibCore: Move Stream-based file into the `Core` namespaceTim Schumacher
2023-02-13LibCore: Move Stream-based sockets into the `Core` namespaceTim Schumacher
2023-02-13LibCore: Rename `File` to `DeprecatedFile`Tim Schumacher
As usual, this removes many unused includes and moves used includes further down the chain.
2023-02-10Ladybird: Teach RequestManagerQt how to handle every valid HTTP methodLuke Wilde
2023-02-08Everywhere: Use ReadonlySpan<T> instead of Span<T const>MacDue
2023-02-08Ladybird: Don't overwrite argv[0] in spawn_helper_process()MacDue
This is already set correctly at the caller.
2023-02-06Ladybird: Specify window size in layout dump modeAliaksandr Kalenik
2023-02-05LibCore: Add const qualifier to exec() argument spansMacDue
2023-02-05LibGfx: Pass font width to `FontDatabase::get()`Aliaksandr Kalenik
Width need to be passed to `FontDatabase::get()` to resolve font name unambiguously.
2023-02-03Ladybird: Set fixed height for SettingsFederico Guerinoni
2023-02-03Ladybird: Add setting for page to open on new tabFederico Guerinoni
2023-02-03Ladybird: Design settings layout in horizontalFederico Guerinoni
2023-02-02LibWeb+LibWebSocket: DOM WebSocket subprotocol supportGuilherme Gonçalves
This adds support for WebSocket subprotocols to WebSocket DOM objects, with some necessary plumbing to LibWebSocket and its clients. See the associated pull request for how this was tested.
2023-02-02Ladybird: Spawn ladybird and headless-browser using helpers in WebDriverAndrew Kaster
This allows the WebDriver to take advantage of the common helper process spawning code when launching ladybird, and to not assume a particular directory layout.
2023-02-02Ladybird: Clean up install rules for executablesAndrew Kaster
Use a list of executables to make sure that we don't miss any of the applications used by Ladybird and its friends like WebDriver, and make sure to install include all executables and their runtime dependencies.
2023-02-02LibSQL+Ladybird: Accept a list of paths for spawning SQLServer in LagomAndrew Kaster
Use the new get_paths_for_helper_process method in Ladybird to query Qt for the runtime path of the current executable as well as the build directory paths.
2023-02-02Ladybird: Abstract spawning helper processes into separate methodsAndrew Kaster
This will let us use the same path discovery methods for WebContent, SQLServer, and any other helper processes we need to launch.
2023-02-02Ladybird: Left-align long url in address barmartinfalisse
Previously when there was a very long url that spanned outside of the address bar, the text shown would be the one starting from the very end of the url instead of from the beginning, so you would be seeing the query parameters for example, instead of the domain.