summaryrefslogtreecommitdiff
path: root/Userland/Services
AgeCommit message (Collapse)Author
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-13Userland: Set Button text using the new String classKarol Kosek
2023-02-13LibGUI+TaskBar: Make Calendar::formatted_date() return ErrorOr<String>Karol Kosek
This commit introduces no error propagation.
2023-02-13Userland: Replace usages of AbstractButton::text_deprecated with text()Karol Kosek
2023-02-13LibGUI+Userland: Add `_deprecated` suffix to AbstractButton::{set_,}textKarol Kosek
2023-02-11WindowServer: Restore cursor animationKarol Kosek
This regressed in 6edc0cf5ab2fce211318b5d4f83e319897b621e5.
2023-02-10LibJS+Userland: Port the JS Console object and direct callers to StringTimothy Flynn
2023-02-10Everywhere: Remove needless copies of Error / ErrorOr instancesTimothy Flynn
Either take the underlying objects with release_* methods or move() the instances around.
2023-02-08Everywhere: Use ReadonlySpan<T> instead of Span<T const>MacDue
2023-02-08AudioServer: Use `AK::Stream` to serialize mixed samplesTim Schumacher
2023-02-08TelnetServer: Use `AK::Stream` to serialize commandsTim Schumacher
2023-02-08AK: Remove the fallible constructor from `FixedMemoryStream`Tim Schumacher
2023-02-05Revert "SQLServer: Unveil /etc/passwd"MacDue
This reverts commit c3bd841d50167baa1cb627d01f2fb238c7c6d611.
2023-02-05Revert "ConfigServer: Unveil "/etc/passwd""MacDue
This reverts commit cd0b7656faa5c1044fd070c70afdecf6d8407bf5.
2023-02-05SystemServer: Revert back to inheriting environments againMacDue
This reverts the SystemServer exec() logic to how it was before 81bd91c, but now with some extra TRY()s. This allows the HOME var to always be propagated from LoginServer which prevents needing to unveil() /etc/passwd everywhere.
2023-02-04Kernel+SystemServer+Base: Introduce the RAMFS filesystemLiav A
This filesystem is based on the code of the long-lived TmpFS. It differs from that filesystem in one keypoint - its root inode doesn't have a sticky bit on it. Therefore, we mount it on /dev, to ensure only root can modify files on that directory. In addition to that, /tmp is mounted directly in the SystemServer main (start) code, so it's no longer specified in the fstab file. We ensure that /tmp has a sticky bit and has the value 0777 for root directory permissions, which is certainly a special case when using RAM-backed (and in general other) filesystems. Because of these 2 changes, it's no longer needed to maintain the TmpFS filesystem, hence it's removed (renamed to RAMFS), because the RAMFS represents the purpose of this filesystem in a much better way - it relies on being backed by RAM "storage", and therefore it's easy to conclude it's temporary and volatile, so its content is gone on either system shutdown or unmounting of the filesystem.
2023-02-03LibSQL+SQLServer: Send result column names over IPC to SQL clientsTimothy Flynn
2023-02-03SystemServer: Propagate errors properly in the main codeLiav A
To do this properly, we also create Strings with formatting of device nodes' names, taking into consideration errors when doing that. Also, we use LibCore System mknod method instead of raw LibC functions to be able to propagate errors from these calls too.
2023-02-02WebContent: Remove pending file requests before invoking their callbacksTimothy Flynn
It's currently possible for the callback of a file request to request more file objects. This could cause the hash map storing these requests to be rehashed while one of its callbacks is being invoked. AK::Function explicitly forbids this with an assertion. Instead, remove the callback from the hash map before invoking the callback function.
2023-02-02LibWeb: Rename DOM::shadow_root() to shadow_root_internal()Karol Kosek
The shadowRoot property getter that will be added in subsequent commits has an additional check that checks whether the shadow root is opened. I didn't update the function logic to match with the IDL interface, because it's very likely we don't want that check in the existing code, so that for example closed shadow root elements can still be updated.
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-02FileSystemAccessServer: Send correct error code for failed file accessTimothy Flynn
When a file cannot be accessed, we currently send errno as the error code. However, there are system calls which occur (by way of dbgln) between the failed file access and accessing errno. This prevents the client-side detection of ENOENT from working. Instead, send over the error we already have stored in the ErrorOr object.
2023-02-02SQLServer: Unveil /etc/passwdMacDue
This is now required to launch the SQLServer for Browser (without this it now fails to launch).
2023-02-01SystemServer: Propagate errorsLucas CHOLLET
This patch also includes some changes in the way that the environment and arguments are passed to `exec`. It was needed to fit the signature of `Core::System::exec`. That's beneficial though, as we are now doing `String` manipulation in a fallible environment, so we can propagate more errors.
2023-02-01ConfigServer: Unveil "/etc/passwd"Lucas CHOLLET
This is needed to use functions like `getpwuid()`.
2023-02-01LibWeb+WebContent: Do not reference-count file request objectsTimothy Flynn
There is currently a memory leak with these file request objects due to the callback on_file_request_finish referencing itself in its capture list. This object does not need to be reference counted or allocated on the heap. It is only ever stored in a HashMap until a response is received from the browser, and it is not shared.
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-29AK: Deprecate the old `AK::Stream`Tim Schumacher
This also removes a few cases where the respective header wasn't actually required to be included.
2023-01-29LibWeb: Move ARIA-related code into the Web::ARIA namespaceLinus Groh
ARIA has its own spec and is not part of the DOM spec, which is what the Web::DOM namespace is for (https://www.w3.org/TR/wai-aria-1.2/). This allows us to stay closer to the spec with function names and don't have to add the word "ARIA" to identifiers constantly - the namespace now provides that clarity.
2023-01-29LibJS+Everywhere: Propagate Cell::initialize errors from Heap::allocateTimothy Flynn
Callers that are already in a fallible context will now TRY to allocate cells. Callers in infallible contexts get a FIXME.
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-28LibWeb: Replace ARIA role static FlyStrings with an enumMacDue
This replaces the FlyStrings for ARIA roles that were constructed in a [[gnu::constructor]] with a single enum. I came across this as the DOM inspector was crashing due to a null FlyString for an ARIA role. After fixing that, I was confused as to why these roles were not an enum. Looking at the spec there's a fixed list of roles and switching from references to static strings to an enum was pretty much an exercise in find and replace :). No functional changes (outside of fixing the mentioned crash).
2023-01-28ImageDecoder: Actually set `is_animated` and `loop_count` variablesKarol Kosek
Before 649f78d0a4475a640ad353e1e879a7bb27db222b, the is_animated and loop_count objects were set directly when making a return object. That commit moved the decode logic to a separate function but forgot to assign `is_animated` and `loop_count`. The compiler didn't throw an error about unused variables because we were also VERIFY()ing that these variables were zero-initialized at the beginning of the function.
2023-01-28LibCore: Remove `try_` prefix from fallible SharedCircularQueue methodsLinus Groh
2023-01-27AK: Remove StringBuilder::build() in favor of to_deprecated_string()Linus Groh
Having an alias function that only wraps another one is silly, and keeping the more obvious name should flush out more uses of deprecated strings. No behavior change.
2023-01-27WindowServer: Remove declarations for non-existent methodsSam Atkins
2023-01-27TelnetServer: Remove declarations for non-existent methodsSam Atkins
2023-01-27Taskbar: Remove declarations for non-existent methodsSam Atkins
2023-01-27WebContent: Implement more of WebDriver element-click algorithmSam Atkins
All this just for `<option>` elements. Other elements require a lot more infrastructure that we don't have yet.
2023-01-27WebContent: Bring existing WebDriver element-click code closer to specSam Atkins
The main change here is to implement and use the "container for element" algorithm. But also, adjust the errors we return. Errors thrown by `scroll_element_into_view()` are not related to the scrolling itself, so should not claim to be. `UnsupportedOperation` is more accurate than `InvalidArgument` when we're expressing that the operation isn't fully implemented.
2023-01-27WebDriver+LibWeb: Rename "click" to "element_click"Sam Atkins
This matches the name used in the spec, and is unambiguous.
2023-01-27Services: Replace uses of JsonObject::get_deprecated()/get_ptr()Sam Atkins
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-24WindowServer: Reuse existing `WindowManager::desktop_rect()` methodSam Atkins
2023-01-24WindowServer: Double click a window's frame to latch to screen's edgeJelle Raaijmakers