summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-06CrashReporter: Capture backtrace progress callback's arguments by valueSviatoslav Peleshko
Previously we captured them by reference, but when the deferred code finally runs from an event loop, the references may be stale. In that case, value and max of the progressbar are set with random numbers. If we were especially unlucky, the `frame_count` turned into a negative int, and would crash at `VERIFY(min <= max)`.
2022-02-06less: Add hotkeys f and b to scroll screen up/downMiika Hämynen
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-06Base: Replace the WebSocket demo target URL with a working oneAli Mohammad Pur
websocket.org was shutdown somewhere in late 2021, switch to websocket.events to make the demo work.
2022-02-06Base: Format the WebSocket demo page with prettierAli Mohammad Pur
2022-02-06WebSocket: Pledge rpath and unveil /etc/timezoneAli Mohammad Pur
This is required for timezone stuff, otherwise we'd just crash.
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-06AK: Replace 'consteval' with 'constexpr' in some Variant helpersAli Mohammad Pur
CLion and/or clangd didn't like the consteval and highlighted visit() as an error, just replace it with constexpr as it makes no difference here.
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-06PixelPaint: Don't overwrite images with project file on saveMatthias-Sleurink
The ImageEditor tracks whether it was loaded from an image (the alternative being a project file.) If it was loaded from an image file we redirect save project actions to save as instead.
2022-02-06Ports: Update nano to version 6.0BodgeMaster
This is just a bump of the version number in a couple places. Tested to work.
2022-02-06Ports: Update wget to version 1.21.2BodgeMaster
This is another one where I just changed the version number and it worked.
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-06Lagom: Exclude libraries with X86 code when building for macOS on ArmMorten Larsen
The CMakeLists.txt for Lagom contains a few libraries and executables with X86-specific code. By excluding those libraries, Lagom builds for macOS on Arm as well. The places are marked FIXME to be removed when the libraries will build for Arm.
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-06Kernel: Propagate sys$profiling_enable() buffer allocation failureAndreas Kling
Caught a kernel panic when enabling profiling of all threads when there was very little memory available.
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
2022-02-05Browser: Add Debug menu action for dumping the stacking context treeAndreas Kling
2022-02-05LibWeb: Add a partial implementation of Element.setAttributeNS()Andreas Kling
This implementation does some of the required validation and then passes through the localName and value to Element.setAttribute().
2022-02-05LibJS: Explicitly initialize primitive IndexedPropertyIterator membersAndreas Kling
2022-02-05LibJS: Cache valid indices in IndexedPropertyIteratorAndreas Kling
Refetching the list of indices every time we increment the iterator was showing up hot & heavy in a profile of Discord.
2022-02-05LibWeb: Put ClassicScript debug spam behind HTML_SCRIPT_DEBUGAndreas Kling
2022-02-05LibWeb: Put CSS parser debug spam behind CSS_PARSER_DEBUGAndreas Kling
2022-02-05Browser: Don't log every content filter string when loadedAndreas Kling
2022-02-05Kernel: Put kmalloc heap expansion debug spam behind KMALLOC_DEBUGAndreas Kling
2022-02-05LibWeb: Remove CSS::StyleInvalidator in favor of dirtying + lazy updateAndreas Kling
Style updates are lazy since late last year, so the StyleInvalidator is actually hurting us more than it's helping by running the entire CSS selector machine on the whole DOM for every attribute change. Instead, simply mark the entire DOM dirty and let the lazy style update mechanism run *once* on next event loop iteration.
2022-02-05LibWeb: Implement CanvasGradient.addColorStop() according to specAndreas Kling
The object is still not usable for anything, but at least now it behaves correctly with regards to throwing exceptions.
2022-02-05LibWeb: Compute element style in Layout::TreeBuilderAndreas Kling
Instead of making each Layout::Node compute style for itself, we now compute it in TreeBuilder before even calling create_layout_node(). For non-element DOM nodes, we create the style and layout tree node in TreeBuilder. This allows us to move create_layout_node() from DOM::Node to DOM::Element.