summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2021-09-20AK+LibC: Remove SERENITY_LIBC_BUILD guard around `<initializer_list>`Andrew Kaster
This was required before commit 5f724b6ca1aae3a5a8c7189069649e8a9347cca2 when we were building LibC before libstdc++ headers were available in the sysroot. However as noted in that commit, we never actually needed to be building LibC before libstdc++, so we can go ahead and remove this ancient hack.
2021-09-20Shell: Make ArgsParser not exit on failure in builtin_exit()Ali Mohammad Pur
Fixes #10128.
2021-09-19LibWeb: Give InlineNodes borders :^)Sam Atkins
2021-09-19LibWeb: Move border-painting code out of BoxSam Atkins
The logic here is needed by InlineNode too. Moving it into a `paint_all_borders()` function makes it available to them both, as well as anyone else who wants it. :^)
2021-09-19LibGfx: Add per-side overloads of Rect::inflate() and ::shrink()Sam Atkins
These are in CSS order (top, right, bottom, left) since LibWeb is the reason I'm adding these. :^)
2021-09-19LibWeb: Give InlineNodes a box-shadow :^)Sam Atkins
2021-09-19LibWeb: Give InlineNodes a backgroundSam Atkins
This now uses the same code as Box, so images, repeat-rules, and anything that's added in the future will work for `display: inline` elements too. :^)
2021-09-19LibWeb: Move background painting from Box to its own fileSam Atkins
This makes the code accessible to things that aren't a Box, such as InlineNode.
2021-09-19LibWeb: Move box-shadow painting out of Box to its own fileSam Atkins
This makes the code accessible to things that aren't a Box, such as InlineNode.
2021-09-19LibWeb: Move InlineNode background code from `paint_fragment` -> `paint`Sam Atkins
`paint_fragment()` seems to never get called. Moving the painting to `paint()` fixes the background.
2021-09-19LibWeb: Extract border-radius normalization code from BoxSam Atkins
This is going to be needed by InlineNodes too! `BorderPainting.{h,cpp}` might not be the best place for it, but it works for now.
2021-09-19LibWeb: Stop painting backgrounds for TextNodesSam Atkins
Doing so was causing the background to be painted twice, which looks ugly if the background is semi-transparent. The painting is a bit of a hack, as some situations apparently relied on it. This commit is ripping the band-aid off to find where those are and fix them. :^)
2021-09-19LibWeb: Implement XMLHttpRequest.getAllResponseHeaders()Andreas Kling
2021-09-19LibWeb: Implement basic support for MessageChannel and MessagePortAndreas Kling
This patch adds a basic initial implementation of these API's. Since LibWeb currently doesn't support workers, this implementation of messaging doesn't bother with serializing and deserializing messages.
2021-09-19LibWeb: Add missing #include to MainThreadVM.hAndreas Kling
2021-09-19LibWeb: Add HTML::Task::Source::PostedMessageAndreas Kling
This is the task source used by MessagePort.postMessage().
2021-09-19AudioApplet: Refactor window resizingDavid Isaksson
2021-09-19AudioApplet: Get values from AudioServer instead of the config fileDavid Isaksson
2021-09-19AudioApplet: Make sure to set the internal volume on slider changeDavid Isaksson
This fixes the issue that the percent label doesn't update.
2021-09-19AudioApplet: Round the volume to the nearest integerDavid Isaksson
2021-09-19AudioApplet: Update the volume slider on update from audio serverDavid Isaksson
2021-09-19LibGUI: Add option to disable on_change call for sliders set_value()David Isaksson
This makes it possible to avoid messy situations where a slider controlled value can be changed from multiple sources.
2021-09-19Utilities: Fix asctl volume unitsDavid Isaksson
A while back the internal volume representation was changed from int to double, but asctl was apparently never changed. This patch fixes that issue.
2021-09-19PixelPaint: Use main window's icon in the 'Create new image' widgetKarol Kosek
2021-09-19LibCore: Don't double-check select() in Socket's read notifier callbackAli Mohammad Pur
This was used to work around a possible bug where select() would mark a socket readable, but another user of the same socket would read before the notifier's callback is run; let's remove this and fix any issues regarding that specific situation later when they pop up.
2021-09-19LibCore+RequestServer: Ignore callbacks for cancelled network jobsAli Mohammad Pur
Also cancel the jobs when they're destroyed. This makes sure that jobs whose owners have discarded don't end up crashing because of a did_fail().
2021-09-19LibTLS: Use a setter for on_tls_ready_to_write with some more smartsAli Mohammad Pur
The callback should be called as soon as the connection is established, and if we actually set the callback when it already is, we expect it to be called immediately.
2021-09-19LibTLS: Don't close the underlying socket on EOFAli Mohammad Pur
2021-09-19LibWeb: Avoid introducing a reference cycle in ResourceLoader::load()Ali Mohammad Pur
Previously we were kinda sorta resolving the reference cycle, but let's just keep the requests in a hashtable instead of relying on hard to track refcount tricks. Fixes #7314.
2021-09-19RequestServer+LibHTTP+LibGemini: Cache connections to the same hostAli Mohammad Pur
This makes connections (particularly TLS-based ones) do the handshaking stuff only once. Currently the cache is configured to keep at most two connections evenly balanced in queue size, and with a grace period of 10s after the last queued job has finished (after which the connection will be dropped).
2021-09-19LibHTTP: Exit the read loop early when there cannot be any further dataAli Mohammad Pur
2021-09-19LibVT: Add movemouse support for triple clickbrapru
When moving the mouse after a triple click, the selected buffer does not maintain the whole line selection. This patch will allow triple click highlighting to hold the whole line selection.
2021-09-19LibVT: Keep track of the buffer postiion on mousedown eventsbrapru
2021-09-19CrashReporter: Add some margin around the backtrace & register viewsAndreas Kling
2021-09-19LibC: Declare IN6_IS_ADDR_V4MAPPED correctlyKenneth Myhra
When using the IN6_IS_ADDR_V4MAPPED macro in Serenity's LibC it would fail when compiling with the error message: 'invalid type argument of '->''. This patch corrects the macro so that e.g. GLib port can compile again.
2021-09-19LibWeb: Replace ScriptExecutionContext::interpreter() with realm()Andreas Kling
Here goes another step towards Document not having a JS::Interpreter.
2021-09-19LibWeb: Use an enumerator macro for XMLHttpRequestEventTarget accessorsAndreas Kling
2021-09-19LibWeb: Keep XMLHttpRequest alive while handling load/error eventsAndreas Kling
A weakly held XHR object is not guaranteed to remain alive after running arbitrary JavaScript, so let's make sure we take a strong reference in the ResourceLoader callbacks here.
2021-09-19LibWeb: Remove unnecessary WeakPtr creation in XMLHttpRequest::send()Andreas Kling
2021-09-19LibWeb: Remove duplicated event handler attribute code in WebSocketAndreas Kling
This functionality is now inherited from EventTarget, so we can simply remove the whole thing in WebSocket. :^)
2021-09-19LibWeb: Implement basic retargeting of body/frameset event handlersAndreas Kling
The HTML spec tells has some special rules for <body> and <frameset> elements' onfoo event handler attributes. In some cases, the implicitly generated event listeners should end up on the relevant global object instead of the element itself. This patch implements the first part of that behavior.
2021-09-19LibWeb: Add DOM::Document::is_active()Andreas Kling
This is a spec concept that means a document is the associated document of its browsing context's active window.
2021-09-19LibWeb: Flexbox: Use maximum size of container as available sizeTobias Christiansen
This previously wouldn't work well with flex-grow.
2021-09-19LibWeb: Add event handler attributes to XMLHttpRequestEventTargetAndreas Kling
This patch adds the following event handler attributes to XHR's EventTarget base class: - onloadstart - onprogress - onabort - onerror - onload - ontimeout - onloadend
2021-09-19LibWeb: Implement XMLHttpRequest.onreadystatechangeAndreas Kling
2021-09-19LibWeb: Move `onfoo` attribute handling to EventTargetAndreas Kling
This logic was kept in the GlobalEventHandlers mixing for sharing between Document and HTMLElement, but there are other interfaces who need to support `onfoo` attribute event listeners as well.
2021-09-19LibGfx: Paint replacement character, 0xFFFD, for unknown glyphsthankyouverycool
Note: most systems now use a font's .notdef character for unknown glyphs (commonly the tofu box) and reserve 0xFFFD for encoding errors. Until Serenity supports tofu, 0xFFFD is a preferable, if deprecated, alternative to '?' to reduce ambiguity.
2021-09-19FontEditor: Add new tools to navigate code pointsthankyouverycool
Visible glyphs can now be cycled through, or a code point specified and jumped to directly.
2021-09-19FontEditor: Update editor to handle new font formatthankyouverycool
The editor now unmasks fonts on load, mapping their glyphs to the complete unicode character set, and masks them upon saving to reduce disk space. This is a naive approach in terms of memory usage and can be improved but whose immediate goal is to allow editing any glyph without concern for range allocation.
2021-09-19LibGfx: Extend Unicode support for BitmapFontsthankyouverycool
Removes the concept of Type enumeration in favor of a bitmask which represents 544 potential byte ranges of 256 characters per bit, supporting the current unicode code point set (0x0000-0x10FFFF). Range positions are indexed in a vector for code point lookup and conversion. Co-authored-by: Lynn <lynn@foldr.moe>