summaryrefslogtreecommitdiff
path: root/Userland/Libraries
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-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-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-17ArgsParser: Add support for Optional<size_t>brapru
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-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-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-16LibGUI: 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-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+LibELF+LibVT: Remove unused AK::String header includesIdan Horowitz
2022-02-16LibVT: Use StringBuilder::string_view() instead of to_string()Idan Horowitz
This let's us avoid a heap allocation.
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-16LibELF: Exclude sorted symbols APIs from the KernelIdan Horowitz
These are only used by userland, and are implemented using infallible Strings, so let's just ifdef them out of the Kernel.
2022-02-16LibELF: Exclude MemoryRegionInfo::object_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-16LibEDID: Exclude display_product_{name, serial_number} from the KernelIdan Horowitz
These APIs return Strings, which are OOM-infallibe, and as such, not appropriate for Kernel use. Since these APIs are only used by userland at the moment, we can just ifdef them out of the Kernel.
2022-02-16LibEDID: Store manufacturer id instead of allocating on each callIdan Horowitz
This also let's us use a KString instead of a string when we're in the Kernel, which opens the path for OOM-failure propagation.
2022-02-16LibEDID: Store EDID version instead of allocating on each getter callIdan Horowitz
This also let's us use a KString instead of a string when we're in the Kernel, which opens the path for OOM-failure propagation.
2022-02-16LibVT: Use NNOP<KString> to store window titles in the KernelIdan Horowitz
This will allow us to eventually propagate allocation failure.
2022-02-16LibCrypto: Exclude class_name() methods from the KernelIdan Horowitz
These are only used by Userland and contain infallible String allocations, so let's just ifdef them out of the Kernel.
2022-02-16LibCrypto: Exclude AESCipher{Block, Key}::to_string() from the KernelIdan Horowitz
These use infallible Strings and are not actually used in the Kernel, so let's just ifdef them out for now.
2022-02-16LibELF: Use StringBuilder::string_view() to avoid String allocationIdan Horowitz
2022-02-16LibVT: Use StringBuilder's inline capacity instead of temporary StringsIdan Horowitz
This let's us avoid heap allocations.
2022-02-16LibWeb: Explain discrepancy with media-query parsingSam Atkins
This had me confused for a while, but I am not smart enough today to actually fix it properly. :^)
2022-02-16LibWeb: Stop treating undefined lengths as validSam Atkins
When converting this code to use Optional, I accidentally left in the initialization, so it *always* had a value, and always created a Length from it. Oops.
2022-02-16LibWeb: Remove content-size hack from SVGFormattingContextSam Atkins
Everything functions fine without it. :^)
2022-02-16LibWeb: Stop treating all SVG elements as inlineSam Atkins
This fixes hit testing on SVG elements, with no obvious downsides.
2022-02-16LibWeb: Give SVG geometry elements a positionSam Atkins
This makes the selected-in-the-inspector outline appear in the right place. We take the stroke-width into account when producing the bounding box, which makes the fit nice and snug. :^)
2022-02-16LibWeb: Give `<svg>` elements a size againSam Atkins
This replaces the unused width() and height() methods. The size now defaults to 100% by 100% as in the spec.
2022-02-16LibWeb: Add basic implementation of progress bar elementRafał Babiarz
2022-02-16Meta: Make the WrapperGenerator generate includes based on importsAli Mohammad Pur
We no longer include all the things, so each generated IDL file only depends on the things it actually needs now. A possible downside is that all IDL files have to explicitly import their dependencies. Note that non-IDL dependencies still remain and are injected into all generated files, this can be resolved later if desired by allowing IDL files to import headers.
2022-02-16LibWeb: Add imports to all IDL files that depend on othersAli Mohammad Pur
2022-02-16LibWasm: Fix validation of if-else blocksAli Mohammad Pur
We were doing a number of things wrong: - Switching to the parent context in the else meant that we couldn't break out of the else section anymore - We were not validating the resulting values, and so the stack was in a relatively unknown state after 'else' This commit fixes these issues :^)
2022-02-16LibWeb: Implement responseType and response for XHRAli Mohammad Pur
This makes us capable of loading non-utf8 content via XHR.
2022-02-16LibWeb: Implement a very basic version of TextDecoderAli Mohammad Pur
We had a very basic implementation of TextEncoder, let's add a TextDecoder next to that :^)