Commit graph

38029 commits

Author SHA1 Message Date
Linus Groh 51e01b5a80 LibJS: Remove redundant TemporalDateString production
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/41a8a5c
2022-05-16 20:28:26 +01:00
Linus Groh 33f53041e7 LibJS: Replace "enclosed by" with "contained within" in spec comments
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/cb10d3f
2022-05-16 20:17:23 +01:00
Jesse Buhagiar 964f8fbf3a Kernel: Implement AVX XSAVE support
This adds some new buffers to the `FPUState` struct, which contains
enough space for the `xsave` instruction to run. This instruction writes
the upper part of the x86 SIMD registers (YMM0-15) to a seperate
256-byte area, as well as an "xsave header" describing the region.

If the underlying processor supports AVX, the `fxsave` instruction is no
longer used, as `xsave` itself implictly saves all of the SSE and x87
registers.

Co-authored-by: Leon Albrecht <leon.a@serenityos.org>
2022-05-15 12:25:23 +02:00
DexesTTP c00ae53b66 LibWeb: Abstract the LibProtocol ResourceLoader connection
This is the final component that required LibProtocol as a dependency
of LibWeb. With this, we can now remove the dependency, and LibWeb no
longer requires IPC to work :^)
2022-05-15 12:17:36 +02:00
DexesTTP 2a359695c6 LibWeb: Abstract the LibProtocol WebSockets connection
Much like the ImageDecoder change, this moves the underlying connection
of the Web::WebSockets class from LibWeb to LibWebView, removing the
need for LibProtocol in LibWeb for this specific use-case.
2022-05-15 12:17:36 +02:00
DexesTTP 2198091bbc LibWeb: Abstract the image decoding via Web::ImageDecoding::Decoder
After this change, LibWeb now expects Web::ImageDecoding::Decoder to be
pre-initialized with a concrete implementation before using the webpage.
The previous implementation, based on the ImageDecoder service, has been
provided directly through an adapter in LibWebClient, and is now used as
the default value by WebContent.
2022-05-15 12:17:36 +02:00
DexesTTP 962040b49c LibWebView: Move StylePropertiesModel to LibWebView
This patch has no functional changes.
2022-05-15 12:17:36 +02:00
DexesTTP b797e1e2b9 LibWebView: Move DOMTreeModel to LibWebView
This patch has no functional changes.
2022-05-15 12:17:36 +02:00
DexesTTP 97a67f5501 LibWebView: Move the DumpLayoutTree utility to LibWebView
This patch has no functional changes.
2022-05-15 12:17:36 +02:00
DexesTTP dcbbbf5b4a LibWebView: Move OutOfProcessWebView to a new LibWebView library
Also moves WebContentClient and the references to the generated IPC
descriptions, since they are all components of OutOfProcessWebView.

This patch has no functional changes.
2022-05-15 12:17:36 +02:00
diogenes 31c0022429 LibGUI: Phrase help action more specifically
Previously the option created by `make_help_action()` was unclear in its
meaning, by renaming the option to 'Manual' this should more
meaningfully represent the effect of the action.
2022-05-15 12:15:51 +02:00
Jelle Raaijmakers 421a80bf43 LibSoftGPU: Update coverage bits after alpha testing
Also skip the test for the `::Always` alpha test function in the hot
loop. This test function is very unlikely to be set, so leave that up
to `::test_alpha()`.
2022-05-15 12:15:12 +02:00
Jelle Raaijmakers 1a338844fa LibSoftGPU: Make Device statistics i64 again
They were erroneously converted into `u64` by me in a previous commit,
causing the overdraw statistic to go haywire.
2022-05-15 12:15:12 +02:00
Snow a1f19b7a98 Ports: Add joe's own editor 2022-05-15 12:14:02 +02:00
Raymond Lucke f8984146bd Ports: Add thesilversearcher (ag) 2022-05-14 19:38:07 +02:00
Linus Groh ee721978f6 Meta: Move compiler flags into standalone CMake files
This way we can have all of them in a single place, similar to how we
structure options added via the serenity_option() macro.
2022-05-14 17:53:06 +02:00
Jelle Raaijmakers 4472cab81a Ports: Set right launcher command for Quake
By setting the absolute path for `launcher_command`, the menu item
actually shows up. Provide an `icon_file` as well so it's pretty.
2022-05-13 23:01:58 +02:00
Paweł Łukasik 26be6176ad TextEditor: Allow typing AltGr+letter into editor
Previous check did not allow AltGr+letter to be used due to
AltGr being emulated as Ctrl+Alt. That caused .ctrl() to be true.

In the new code we check that ctrl() is not set or if it is set,
it is with altgr() and if so, we pass the character into the editor.
2022-05-13 21:16:49 +02:00
ReimarPB 235e977e3a LibWeb: Add window.clientInformation property 2022-05-13 20:50:47 +02:00
Sam Atkins f8950ea846 LibWeb: Don't treat any empty resources as errors
HTML, CSS, JS and text files (among other things) can all legitimately
be empty. Other types may be invalid, but that will be caught when
trying to parse it as a document, so this check can safely be removed.
2022-05-13 17:12:39 +02:00
Linus Groh ffc5fed79f PixelPaint: Rebuild FilterGallery tree using TreeViewModel 2022-05-13 16:31:03 +02:00
Linus Groh 5bb38296b1 LibGUI: Add TreeViewModel as a simpler interface for building TreeViews
Having to subclass GUI::Model for even the simplest type of hand-built
TreeView makes them a bit unpleasant to work with at the moment. :^)

This adds such a GUI::Model subclass that is specifically designed for
adding nodes to a TreeView manually, supporting text and an optional
icon by default, and allowing for further data when subclassing the Node
class.
2022-05-13 16:31:03 +02:00
Sam Atkins 80174439a9 Revert "FileManager: Reduce scope of some variables related to context…
menu"

This reverts commit 61dc489778.

This commit was causing FileManager to crash whenever you selected to
open a file using the context menu.
2022-05-13 16:28:36 +02:00
Sam Atkins cd5210a87a LibGUI: Make Dialog::ScreenPosition an enum class 2022-05-13 16:27:43 +02:00
Sam Atkins cdffe556c8 LibGUI+Userland: Make Dialog::ExecResult an enum class 2022-05-13 16:27:43 +02:00
Sam Atkins 1f82beded3 LibWeb: Make about:blank load correctly
- Don't treat an empty `about:blank` resource as an error.
- Give `about:` urls a content-type so `FrameLoader::parse_document()`
  won't reject them.
2022-05-13 16:25:33 +02:00
offtkp 61a9ad45ed FileManager: Check for write permission before enabling certain actions
Upon DirectoryView selection change, check for write permission before
enabling delete and cut. This disallows attempting to delete/cut and
paste a file that you don't have write permission to by using keybinds.

Fixes #13983.
2022-05-13 10:02:01 +02:00
adoni 67c8adb561 Base: Add Contrast theme 2022-05-13 09:59:45 +02:00
DexesTTP b37379d489 Meta: Move LibWeb's CMake generation script to its own file
This patch has no functional changes, but prepares the CMake script to
be able to handle LibWeb on Lagom.
2022-05-13 09:59:02 +02:00
kleines Filmröllchen 9035d9e845 LibDSP+Piano: Convert DSP APIs to accept entire sample ranges
This has mainly performance benefits, so that we only need to call into
all processors once for every audio buffer segment. It requires
adjusting quite some logic in most processors and in Track, as we have
to consider a larger collection of notes and samples at each step.

There's some cautionary TODOs in the currently unused LibDSP tracks
because they don't do things properly yet.
2022-05-13 00:47:26 +02:00
kleines Filmröllchen 4d65607649 LibDSP: Remove Transport's time counter reference API
This is what the old Transport in Piano had, but as everyone just
references Transport directly, there's no need for it anymore.
2022-05-13 00:47:26 +02:00
kleines Filmröllchen f23aea0c4b LibDSP: Make the note frequencies an AK::Array instead of a C array
This was a leftover from the early days of Piano, and there's no reason
to leave it that way especially if we want to use more complex
collection APIs in the future.
2022-05-13 00:47:26 +02:00
kleines Filmröllchen bcb331b862 LibDSP: Improve const correctness 2022-05-13 00:47:26 +02:00
kleines Filmröllchen 4a6ebb8beb LibDSP: Refactor OOP non-functionally
* Don't inherit from Core::Object everywhere, that's overkill. Use
  RefCounted instead.
* Change some constructor visibilites to facilitate the above.
* default-implement all virtual destructors if possible.
* Drive-by include hygiene.
2022-05-13 00:47:26 +02:00
MacDue 3cfa9b63b5 LibWeb: Stop inactive requestAnimationFrame() callbacks from running
Previously requestAnimationFrame() callbacks were registered with a
static global RequestAnimationFrameDriver shared between all windows.
This led to callbacks still running after navigating away from a page
(This could be seen with the WASM GoL demo).

This commit moves the RequestAnimationFrameDriver (now
AnimationFrameCallbackDriver) to be a member of the HTML::Window
object, then uses the 'active document' parameter of
run_animation_frame_callbacks() to run only the active callbacks.
2022-05-13 00:47:16 +02:00
Timon Kruiper 18cad73b01 Kernel: Put code in the aarch64 init.cpp file into the Kernel namespace 2022-05-12 23:14:05 +02:00
Timon Kruiper 9282e0db16 Kernel: Move __assertion_failed to aarch64/Panic.cpp
This is for an upcoming change to add the Kernel namespace to the
init.cpp file.
2022-05-12 23:14:05 +02:00
Timon Kruiper d451bdec6f Kernel: Remove PREKERNEL_SOURCES from aarch64 CMakeLists.txt 2022-05-12 23:14:05 +02:00
Timon Kruiper 4db44c09a4 Kernel: Use the Kernel UBSanitizer implementation in the aarch64 Kernel
Now we actually print useful information when an UBSAN fault is
detected. :^)
2022-05-12 23:14:05 +02:00
Timon Kruiper 1f3977b303 Kernel: Remove Prekernel namespace in the aarch64 Kernel
Now that we merged all the Prekernel files into the Kernel files, we can
get rid of the Prekernel namespace as well.
2022-05-12 23:14:05 +02:00
Timon Kruiper c96a3f0c48 Kernel: Move the aarch64 boot.S out of the Prekernel directory 2022-05-12 23:14:05 +02:00
Timon Kruiper e88cd338f1 Kernel: Move Prekernel{CPU, Exceptions}.cpp out of Prekernel directory
This lets us delete the Prekernel.h file, and gets us closer to deleting
the Prekernel from the aarch64 Kernel.
2022-05-12 23:14:05 +02:00
Timon Kruiper e7c5fd978b Kernel: Move Prekernel assembly utils to aarch64/ASM_wrapper.h
By moving these functions to the ASM_wrapper.h file, we can get rid of
another Prekernel file.
2022-05-12 23:14:05 +02:00
Timon Kruiper e80d8d697c Kernel: Replace Prekernel::halt with Processor::halt in aarch64 build
This allows us to get rid of one more Prekernel file.
2022-05-12 23:14:05 +02:00
Tim Schumacher acc9be9f7d LibArchive: Use named members for ZIP general purpose flags
This fixes the faulty bit check that misclassified ZIPs as having
data descriptors.
2022-05-12 22:58:14 +02:00
Luke Wilde 1f94c8c622 Ports: Update curl to 7.83.1 2022-05-12 22:51:10 +02:00
stelar7 7d6b26e613 LibCrypto: Add Ed25519 2022-05-12 23:47:13 +04:30
stelar7 9aaeaf8a22 LibCrypto: Move Curve25519 related code into separate file 2022-05-12 23:47:13 +04:30
Michał Lach 6a7d3006d7 LibC: Add herror() and hstrerror() 2022-05-12 15:01:32 +02:00
Michał Lach bc18fa75ec LibC: Make h_errno thread-local 2022-05-12 15:01:32 +02:00