summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-17LibWeb: Add partially functioning Worker APIBen Abraham
Add a partial implementation of HTML5 Worker API. Messages can be sent from the inner context externally.
2022-02-17LibGUI: JsonArrayModel update without invalidating indicesmartinfalisse
Add function to update a JsonArrayModel without invalidating it. Now, for example in the SystemMonitor in the Network tab, a selected line will not be deselected whenever the data is updated.
2022-02-17LibWeb: Only invalidate styles if a `@media` rule changes match statusSam Atkins
2022-02-17WrapperGenerator: Don't emit code for imported enumerationsAli Mohammad Pur
2022-02-17WrapperGenerator: Add support for IDL mixin interfacesAli Mohammad Pur
2022-02-17Meta: Split and refactor the WrapperGenerator a bitAli Mohammad Pur
The single 4000-line WrapperGenerator.cpp file was proving to be a pain to hack, and was filled with spaghetti, split it into a bunch of files to lessen the impact of the spaghetti. Also refactor the whole parser to use a class instead of a giant function with a million lambdas.
2022-02-17LibMarkdown: Add terminal color formattingxSlendiX
This patch adds color formatting to markdown viewed in the terminal. This also increases readability.
2022-02-17LibMarkdown: Add additional spacing for terminal renderingxSlendiX
This patch adds spacing to give a sense of structure to markdown documents viewed in the terminal. This also makes the content easier to read.
2022-02-17man: Center "SerenityOS manual" titlexSlendiX
This patch calculates how many spaces are needed to center the top title of "SerenityOS manual".
2022-02-17LibWeb: Make <input type=checkbox> fire click events when clicked :^)Andreas Kling
This makes React react to checkboxes. Apparently they ignore the "change" event in favor of "click" on checkboxes. This is a compatibility hack for IE8.
2022-02-17LibWeb: Add the HTMLInputElement.type attributeAndreas Kling
This makes React react to change events on text <input> elements. :^)
2022-02-17LibWeb: Fire "input" and "change" events when editing a text <input>Andreas Kling
This isn't entirely on-spec, but will hopefully allow us to make progress in other areas.
2022-02-17ping: Fix broken count argument errorbrapru
By storing count as an Optional<size_t>, we can leverage count's empty state to proceed with pinging indefinitely, and ensure a proper value is passed when count does have a value. This returns pings expected behavior to send infinite packets when a count is not specified, stop after sending a specified count, and disallow any count < 1. Closes #12524
2022-02-17ArgsParser: Add support for Optional<size_t>brapru
2022-02-17Base: Link aplay in Audio-subsystemkleines Filmröllchen
2022-02-17Base: Document /dev/audio deviceskleines Filmröllchen
This properly documents the fact that /dev/audio contains a bunch of device's channels now, instead of being a single file.
2022-02-17LibVT: Properly populate context menu with open actionsnetworkException
We would previously overwrite m_hovered_href with tooltip texts instead of leaving it as an url as was expected by the context menu event handler.
2022-02-17Ports: Set the correct config.sub path for patchTim Schumacher
2022-02-17Ports: Set the correct config.sub path for mpcTim Schumacher
2022-02-17LibWeb: Use public inheritance for the RefCounted base classDaniel Bertalan
I forgot about this in the previous commit, which caused a compile error.
2022-02-17LibWeb: Fix -Wmismatched-tags warning from ClangDaniel Bertalan
2022-02-17LibCore: Make FreeBSD build SerenityOSIsak Holmstrom
2022-02-17LibCore: Add FreeBSD as OpenBSD/Apple in System.cpp & System.hIsak Holmstrom
2022-02-17Documentation: Change/add two pkgs in the FreeBSD instructionsIsak Holmstrom
2022-02-16Ports: Disable socketpair support for curlTim Schumacher
This is currently broken in Serenity. Disable it until we figure out why.
2022-02-16LibCore: Migrate ConfigFile to Core::Stream API :^)Sam Atkins
As part of this, moved the call to `reparse()` out of the constructor and into the factory methods, to allow the error to propagate.
2022-02-16LibCore+Everywhere: Return ErrorOr from ConfigFile::sync()Sam Atkins
Currently this method always succeeds, but that won't be true once we switch to the Core::Stream API. :^) Some of these places would ideally show an error message to the user, since failure to save a file is significant, but let's not get distracted right now.
2022-02-16LibCore: Create ConfigFiles with an already-open FileSam Atkins
This moves the fallible action of opening the file, from the constructor, into the factory methods which can propagate any errors. The wrinkle here is that failure to open a ConfigFile in read-only mode is allowed (and expected, since the file may not exist), and treated as if an empty file was successfully opened.
2022-02-16LibCore+Everywhere: Return ErrorOr from ConfigFile factory methodsSam Atkins
I've attempted to handle the errors gracefully where it was clear how to do so, and simple, but a lot of this was just adding `release_value_but_fixme_should_propagate_errors()` in places.
2022-02-16AK: VERIFY inside release_value_but_fixme_should_propagate_errors()Sam Atkins
While the code did already VERIFY that the ErrorOr holds a value, this was done by Variant, so the error message was just that `has<T>()` is false. This is less helpful than I would like, especially if backtraces are not working and this is all you have to go on. Adding this extra VERIFY means the assertion message (`!is_error()`) is easier to understand.
2022-02-16LibGUI: Add missing LibCore/File includeSam Atkins
This was previously included via ConfigFile.h
2022-02-16Profiler: Add missing LibCore/File includeSam Atkins
This was previously included via ConfigFile.h
2022-02-16LibCore+Tests: Add SeekableStream::truncate()Sam Atkins
2022-02-16LibCore: Make ConfigFile parsing work for non-null-terminated stringsSam Atkins
This is necessary for converting it to Core::Stream.
2022-02-16LibWeb: Omit origin check for content document in FrameBox::paint()Linus Groh
Once we paint, it's way too late for this check to happen anyway. Additionally, the spec's steps for retrieving the content document assume that both the browsing context's active document and the container's node document are non-null, which evidently isn't always the case here, as seen by crashes on the SerenityOS 2nd and 3rd birthday pages (I'm not sure about the details though). Fixes #12565.
2022-02-16Games: Use default constructors/destructorsLenny Maiorani
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules "The compiler is more likely to get the default semantics right and you cannot implement these functions better than the compiler."
2022-02-16LibWeb: Support "useCapture" parameter to add/removeEventListenerAndreas Kling
This is not a complete implementation of API, since we're also supposed to accept an options dictionary as the third argument. However, a lot of web content uses the boolean variant, and it's trivial to support.
2022-02-16LibWeb: Separate "event listener" from "EventListener"Andreas Kling
I can't imagine how this happened, but it seems we've managed to conflate the "event listener" and "EventListener" concepts from the DOM specification in some parts of the code. We previously had two things: - DOM::EventListener - DOM::EventTarget::EventListenerRegistration DOM::EventListener was roughly the "EventListener" IDL type, and DOM::EventTarget::EventListenerRegistration was roughly the "event listener" concept. However, they were used interchangeably (and incorrectly!) in many places. After this patch, we now have: - DOM::IDLEventListener - DOM::DOMEventListener DOM::IDLEventListener is the "EventListener" IDL type, and DOM::DOMEventListener is the "event listener" concept. This patch also updates the addEventListener() and removeEventListener() functions to follow the spec more closely, along with the "inner invoke" function in our EventDispatcher.
2022-02-16LibWeb: Follow HTTP 3xx redirections when loading imagesAndreas Kling
This basically copies some logic from FrameLoader to ImageLoader. Ideally we'd share this code, but for now let's just get redirected images to show up. :^)
2022-02-16Kernel: Stop compiling AK::String and friends into the KernelIdan Horowitz
Now that these are not used in the Kernel anymore, we can finally remove them :^)
2022-02-16AK: Exclude StringUtils String APIs from the KernelIdan Horowitz
These APIs are only used by userland, and String is OOM-infallible, so let's just ifdef it out of the Kernel.
2022-02-16AK: Exclude StringView String APIs from the KernelIdan Horowitz
These APIs are only used by userland, and String is OOM-infallible, so let's just ifdef it out of the Kernel.
2022-02-16AK: Exclude StringBuilder String APIs from the KernelIdan Horowitz
These APIs are only used by userland, and String is OOM-infallible, so let's just ifdef it out of the Kernel.
2022-02-16AK: Exclude JsonValue String APIs from the KernelIdan Horowitz
These APIs are only used by userland, and String is OOM-infallible, so let's just ifdef it out of the Kernel.
2022-02-16Kernel+LibELF+LibVT: Remove unused AK::String header includesIdan Horowitz
2022-02-16AK: Use string_view() instead of to_string() in Formatter<wchar_t>Idan Horowitz
This let's us avoid a heap allocation.
2022-02-16LibVT: Use StringBuilder::string_view() instead of to_string()Idan Horowitz
This let's us avoid a heap allocation.
2022-02-16AK: Exclude GenericLexer String APIs from the KernelIdan Horowitz
These APIs are only used by userland, and String is OOM-infallible, so let's just ifdef it out of the Kernel.
2022-02-16LibEDID: Exclude DMT::MonitorTiming::name() from the KernelIdan Horowitz
This API is only used by userland and it uses infallible Strings, so let's just ifdef it out of the Kernel.
2022-02-16AK: Return KString instead of String from encode_hex in the KernelIdan Horowitz
This let's us propagate allocation errors from this API.