summaryrefslogtreecommitdiff
path: root/Userland/Libraries
AgeCommit message (Collapse)Author
2022-02-07LibWeb: Implement ErrorEventLuke Wilde
This will be used by the new EventTarget to check if it needs to do special error event handling. Currently it isn't used for anything else.
2022-02-07LibJS: Fix JSON.stringify with stale surrogate codepointsJorropo
This fix this test262 test: built-ins/JSON/stringify/value-string-escape-unicode.js
2022-02-07LibWeb: Dispatch a click event after mousedown+mouseup on same targetAndreas Kling
2022-02-07LibWeb: Add MouseEvent.x and MouseEvent.yAndreas Kling
Per the CSSOM View spec, these are aliases for clientX and clientY.
2022-02-07LibGUI: Paint GUI::TextEditor's optional icon before applying text clipAndreas Kling
We were chopping the top row of pixels off of the website favicons in Browser's location editor. :^)
2022-02-07LibJS: Use GetV to look up the toJSON property in SerializeJSONPropertyTimothy Flynn
The current implementation of step 2a sort of manually implemented GetV with a ToObject + Get combo. But in the call to Get, the receiver wasn't the correct object. So when invoking toJSON, the receiver was an Object type rather than a BigInt. This also adds spec comments to SerializeJSONProperty.
2022-02-07LibWeb: Fix broken step 4.3 implementation in run_focus_update_steps()Andreas Kling
Some over-eager copy-pasting led to incorrect code for the new chain.
2022-02-07LibWeb: Use NonnullRefPtrVector<DOM::Node> for focus chainsAndreas Kling
Let's just use reference-counting pointers for this, even if it seems safe not to.
2022-02-07LibWeb: Improve step 3 of "focus chain" from the HTML specAndreas Kling
This function was unnecessarily nested, which created a scenario where we could get stuck in an infinite loop without advancing the current_object pointer up the browsing context container chain.
2022-02-07LibWeb: Fix inverted null check in run_focusing_steps()Andreas Kling
Thanks to U9G for catching this! :^)
2022-02-07LibWeb: Add a proper FocusEvent interface for "focus" and "blur" eventsAndreas Kling
2022-02-06Everywhere: Rename JS::PropertyKey variables from property_{name => key}Linus Groh
PropertyKey used to be called PropertyName, but got renamed. Let's update all the variables of this type as well.
2022-02-06LibWeb: Update focus target when handling mousedown eventsAndreas Kling
If the mousedown event hits something with is_focusable()==true, we now update the document's focused element *instead* of placing the text cursor at the focusable element. This allows you to begin editing input elements by clicking them. This feels very hackish and we'll need to come up with something nicer.
2022-02-06LibWeb: Move is_focusable() virtual from Element to EventTargetAndreas Kling
2022-02-06LibWeb: Make HTMLInputElement move cursor into text node when focusedAndreas Kling
This mechanism feels rather awkward, but it's better than nothing.
2022-02-06LibWeb: Plumb OOPWV focus state across the IPC boundaryAndreas Kling
This makes focus outlines show up in OOPWV at last! :^)
2022-02-06LibWeb: Implement (most of) HTMLElement.focus()Andreas Kling
The main deviation from the spec is that we don't have a straightforward representation of the spec's "focusable area" concept. I've left a bunch of FIXME's around for our future selves. :^)
2022-02-06LibWeb: Implement BrowsingContext::currently_focused_area()Andreas Kling
This is "currently focused area of a top level browsing context" from the HTML spec.
2022-02-06LibWeb: Implement SVG `S` (SmoothCurve) commandsSam Atkins
These were being parsed, but skipped when rendering. With this fix, the SVG on discord's invite screen looks pretty nice! :^)
2022-02-06LibWeb: Don't dump all stylesheets with CSS_PARSER_DEBUG enabledSam Atkins
Browser has a handy debug menu option to dump all stylesheets, so we don't need to spam the console with this. (All the spam massively slows down page loads.)
2022-02-06AK: Move integral log2 and exp to IntegerMath.hHendiadyoin1
2022-02-06LibCore+Userland: Remove Core::TCPSocket :^)sin-ack
This was deprecated in favor of Core::Stream::TCPSocket, and now has no users.
2022-02-06LibJS: Implement BigInt.asUintNTimothy Flynn
2022-02-06LibJS: Implement BigInt.asIntNTimothy Flynn
2022-02-06LibJS: Enable Temporal tests that now passTimothy Flynn
These pass now that negative zero is disallowed by SignedBigInteger.
2022-02-06LibCrypto: Do not allow signed big integers to be negative zeroTimothy Flynn
If a big integer were to become negative zero, set the sign to instead be positive. This prevents odd scenarios where users of signed big ints would falsely think the result of some big int arithmetic is negative.
2022-02-06LibJS: Mark Completion constructors with ALWAYS_INLINEAndreas Kling
These were showing up in profiles.
2022-02-06LibWeb: Rename "frame" to "browsing_context" in various placesAndreas Kling
We renamed the Frame class to BrowsingContext a while back, but forgot to update some variable names.
2022-02-06LibWeb: Put ResolvedCSSStyleDeclaration debug spam behind a macroAndreas Kling
Blowing up the debug console with a fajillion FIXME's whenever you navigate in the web inspector is no fun.
2022-02-06LibHTTP: Propagate and gracefully handle errors in Jobsin-ack
Most of these errors mean that we will fail the job, but it won't crash the application, at least.
2022-02-06LibWebSocket: Switch to using Core::StreamAli Mohammad Pur
As LibTLS now supports the Core::Stream APIs, we can get rid of the split paths for TCP/TLS and significantly simplify the code as well. Provided to you free of charge by the Core::Stream-ification team :^)
2022-02-06LibTLS: Remove some unused/unimplemented declarationsAli Mohammad Pur
2022-02-06Userland: Convert TLS::TLSv12 to a Core::Stream::SocketAli Mohammad Pur
This commit converts TLS::TLSv12 to a Core::Stream object, and in the process allows TLS to now wrap other Core::Stream::Socket objects. As a large part of LibHTTP and LibGemini depend on LibTLS's interface, this also converts those to support Core::Stream, which leads to a simplification of LibHTTP (as there's no need to care about the underlying socket type anymore). Note that RequestServer now controls the TLS socket options, which is a better place anyway, as RS is the first receiver of the user-requested options (though this is currently not particularly useful).
2022-02-06LibCore: Stop buffering when a zero-size slice is read regardless of EOFAli Mohammad Pur
The meaning of EOF depends on the underlying socket, but an empty slice should terminate the buffering (otherwise we'd just spin forever).
2022-02-06LibCore: Rewrite BufferedStream::read_until_any_of() with memmemAli Mohammad Pur
This function used to sometimes return the entire input instead of the value up to the delimiter, fix that and rewrite it to be a bit more readable.
2022-02-06LibCore: Make sure BufferedSocket takes the buffer into accountAli Mohammad Pur
pending_bytes() and can_read_without_blocking() should also take the buffered data into account, otherwise we'll end up pretending that the socket cannot be read from while it has buffered data.
2022-02-06LibCore: Add Core::Stream::Socket::set_notifications_enabled()Ali Mohammad Pur
This is equivalent to Core::Socket::set_notifications_enabled(), and serves to disable the on_ready_to_read() notifications, as the sockets often implement these using the event loop, this method can help avoid waking the event loop and spamming useless calls to on_ready_to_read().
2022-02-06LibCore: Take StringViews by value in Stream::* function argumentsAli Mohammad Pur
2022-02-06LibCore: Add a pure virtual parent to Core::Stream::BufferedSocket<T>Ali Mohammad Pur
And declare a few of the stream classes in the forwarding header.
2022-02-06LibCore: Remove Core::LocalSocket :^)sin-ack
2022-02-06LibCore: Use Core::Stream::LocalSocket in InspectorServerConnectionsin-ack
2022-02-06LibCore: Use SystemServerTakeover functionality in LocalServersin-ack
This removes the duplicate code in LocalServer::take_over_from_system_server and replaces it with Core::take_over_accepted_socket_from_system_server.
2022-02-06LibCore: Implement LocalSocket::release_fdsin-ack
release_fd() releases the fd associated with the LocalSocket it is called on. This is analogous to release_value() on container objects in AK, after which the object does not contain the value.
2022-02-06LibCore+LibIPC: Move SystemServerTakeover.{h,cpp} to LibCoresin-ack
This functionality is required by Core::LocalServer and LibIPC depends on LibCore. take_over_accepted_socket_from_system_server has also been renamed to take_over_socket_from_system_server as the socket need not be accepted before taking it over. :^)
2022-02-06LibGfx: Avoid inclusion of xmmintrin.h on non-X86 architecturesMorten Larsen
Gamma.h includes xmmintrin.h, which is X86-only. The file contains code in other places that is compiled conditionally on __SSE__, so the same macro is used to determine inclusion of the header.
2022-02-06LibWeb: Remove unnecessary check for 0-sized fragments in InlineNodeAndreas Kling
We should no longer be generating empty fragments at the start and end of an InlineNode, so we can drop this check.
2022-02-06LibWeb: Only compute containing block rect once in InlineNode::paint()Andreas Kling
2022-02-06LibWeb: Make window.inner{Width,Height} return *viewport* sizeAndreas Kling
These were incorrectly returning the content width and height of the initial containing block. Also added spec links and comments.
2022-02-06LibWeb: Rename Layout::Box::size() to content_size()Andreas Kling
This property represents the CSS content size, so let's reduce ambiguity by using the spec terminology. We also bring a bunch of related functions along for the ride.
2022-02-05LibWeb: Keep tree order of sibling stacking contexts with same z-indexAndreas Kling