summaryrefslogtreecommitdiff
path: root/Ladybird
AgeCommit message (Collapse)Author
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.
2023-02-01Ladybird: Go to homepage on initmartinfalisse
If a url wasn't passed in as a parameter to Ladybird, go to the homepage as defined in the settings on init.
2023-02-01Ladybird: Refactor navigating to url on startupmartinfalisse
These changes will prevent duplication of code later when there will also be the possibility to navigate to the homepage url as defined in the settings on startup.
2023-02-01Ladybird: Add `ak_string_from_qstring` functionmartinfalisse
This will be used later when doing the conversion from the QString in QSettings for the homepage URL.
2023-02-01Ladybird: Exit Ladybird normally during dump-layout-tree modeTimothy Flynn
Don't use _exit() - this is a forceful exit that will bypass all exit handlers. This includes AddressSanitizer, and will prevent ASan from exiting the app with a fatal error code.
2023-02-01Ladybird: Store the WebContent QSocketNotifier on the stackTimothy Flynn
This was being heap allocated with naked-new and never freed. Caught by AddressSanitizer.
2023-02-01Ladybird: Initialize boolean command line argumentTimothy Flynn
This being uninitialized was caught by AddressSanitizer.
2023-01-29AK: Move memory streams from `LibCore`Tim Schumacher
2023-01-29AK: Move `Stream` and `SeekableStream` from `LibCore`Tim Schumacher
`Stream` will be qualified as `AK::Stream` until we remove the `Core::Stream` namespace. `IODevice` now reuses the `SeekMode` that is defined by `SeekableStream`, since defining its own would require us to qualify it with `AK::SeekMode` everywhere.
2023-01-29Ladybird: Do not connect SQL server in layout dump output modeAliaksandr Kalenik
2023-01-29Ladybird: Flush stdout before exit in layout dump output modeAliaksandr Kalenik
2023-01-29LibJS+Everywhere: Allow Cell::initialize overrides to throw OOM errorsTimothy Flynn
Note that as of this commit, there aren't any such throwers, and the call site in Heap::allocate will drop exceptions on the floor. This commit only serves to change the declaration of the overrides, make sure they return an empty value, and to propagate OOM errors frm their base initialize invocations.
2023-01-27Meta: Support running ladybird with arguments from serenity.shTimothy Flynn
You may now, for example, run: ./Meta/serenity.sh run lagom ladybird https://serenityos.org
2023-01-27Ladybird: Replace uses of JsonObject::get_deprecated()Sam Atkins
2023-01-27Ladybird: Add --dump-layout-tree mode that dumps layout tree and exitsAndreas Kling
2023-01-27Ladybird: Fire the WebContentView::on_load_finish hook if setAndreas Kling
2023-01-26LibGfx: Remove `try_` prefix from bitmap creation functionsTim Schumacher
Those don't have any non-try counterpart, so we might as well just omit it.
2023-01-22Ladybird: Add LocationEdit HighlightingCameron Youell
2023-01-22Ladybird: Make LocationEdit its own classCameron Youell
Also make return key behave more like other browsers when editing
2023-01-19Ladybird: Accept file dropsKarol Kosek
2023-01-19Ladybird: Add URL and 'open in background' parameters to new_tab()Karol Kosek
This will avoid loading starting about:blank page in places when we know exactly what we want to load. The opening in background part might be useful for future things like file drops and right-click open in new tab.
2023-01-19Ladybird: Move the initial blank page load to BrowserWindowKarol Kosek
Takes care of a FIXME :^)
2023-01-19Ladybird: Don't prepend 'about:' urls with an http:// schemeKarol Kosek
2023-01-19Ladybird: Set initial page when NOT connected to WebDriverKarol Kosek
This flips an if check condition, making the JS console work in new tabs again.
2023-01-18LibGfx+Ladybird+Userland: Don't sniff for TGA images with only raw bytesLiav A
Because TGA images don't have magic bytes as a signature to be detected, instead assume a sequence of ReadonlyBytes is a possible TGA image only if we are given a path so we could check the extension of the file and see if it's a TGA image. When we know the path of the file being loaded, we will try to first check its extension, and only if there's no match to a known decoder, based on simple extension lookup, then we would probe for other formats as usual with the normal sniffing method.