summaryrefslogtreecommitdiff
path: root/Userland/Libraries
AgeCommit message (Collapse)Author
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-29LibGfx: Support ICCs in JPEGs that are split across several tagsNico Weber
Most jpegs that use multi-tag ICCs are in CMYK format, so running `icc` on them still produces Runtime error: Unsupported number of components in SOF but it no longer prints several jpg: Ignoring ICC profile spanning several chunks (1/9) lines before that. (And if I manually comment out that error message, the profile is printed fine. But we can't decode the actual pixel data yet.)
2023-01-29LibSQL: Use `kill` to exit forked SQLServer processes to avoid Qt issuesTimothy Flynn
In order to daemonize the SQLServer process for Ladybird, we double-fork and exit the first child process to ensure the grandchild process is in a detached state to become SQLServer. After commit c05fcd5, this happens after Ladybird's QApplication is created. QApplication seems to hook up some `exit` handling that makes the call to `exit(0)` here not actually exit the child process. Instead, using `kill` with SIGTERM will actually terminate the child process.
2023-01-29LibGUI+LibGfx: Add Tray ColorRole helpers to Palettethankyouverycool
2023-01-29LibDebug: Correct a (un-)signed mixup in the DWARF abbreviations mapTim Schumacher
I accidentally replaced this with `read_unsigned` in 908b88db347e932934ee311be8d3920cabbe8886, now it's correct again.
2023-01-29LibGfx: Fix constructor initialisation style in GradientPaintingMacDue
2023-01-29LibGfx: Stop passing color stop spans by const referenceMacDue
No idea why I did this, possibly because these were once vectors? Anyway, the const reference is pointless here.
2023-01-29LibGfx: Validate tag types of AToBNTag, BToANTag, gamutTag, previewNTagNico Weber
Also rewrite a few of the existing tag type checks using a new helper.
2023-01-29LibGfx: Make ICC EMatrix3x3::operator[] a bit less sillyNico Weber
2023-01-29LibGfx: Rename EMatrix to EMatrix3x3 in ICC codeNico Weber
There will be an EMatrix3x4 in a future change.
2023-01-29LibGfx: Use auto more in ICC codeNico Weber
2023-01-29LibWeb: Fix parsing/to_string for "switch" ARIA roleMacDue
I accidentally regressed this in 890b4d7, this role needs to be handled specially due to the clash with the C++ 'switch' keyword.
2023-01-29LibWeb: Remove no longer needed DeprecatedFlyString.h includesLinus Groh
ARIA roles no longer use DeprecatedFlyString, replace them with the forwarding header, and StringView.h in one case, for other things from AK used in those headers.
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: Propagate the OOM error from setting the String length propertyTimothy Flynn
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: Fully qualify the use of AK::is in MUST_OR_THROW_OOMTimothy Flynn
This is to allow using this macro in contexts that have defined `is` already. For example, in ObjectConstructor, there is a native function `is` which would trip up the compiler without this change.
2023-01-29LibJS: Add a method to ThrowCompletionOr to drop allocation errorsTimothy Flynn
This should solely be used to ignore completions from Heap::allocate in currently-infallible contexts. It's mostly meant to let us both ignore these errors and mark them with a FIXME in one go.
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-29LibJS+LibWeb: Move headers around to allow including Value from CellTimothy Flynn
The goal here is to allow Cell::initialize to return a ThrowCompletion, to handle OOM for example. Cell.h will then need to include Completion.h which must include Value.h. This currently can't happen because Value.h includes BigInt.h, which in turn includes Cell.h. So we would have an include cycle. This removes BigInt.h from Value.h, as it is forward-declarable (it is only referred to with a reference or pointer). Then the Value overload for Cell::Visitor::visit is moved to Cell.h, and missing BigInt.h includes as peppered as needed.
2023-01-29LibJS: Define Date constants such that translation units don't copy themTimothy Flynn
Variables that are constexpr must be delcared inline in the global namespace to prevent copying them. The static keyword is meaningless on variables in headers in the global namespace. Declare the static bigint as extern and define it out-of-line instead.
2023-01-28LibJS: Replace some deprecated_string() with utf8_string() in TemporalLinus Groh
The remaining ones are needed for PropertyKey, which is not yet String compatible.
2023-01-28LibJS: Replace to_deprecated_string() with to_string() in TemporalLinus Groh
Turns out all of these can already be replaced with no further changes!
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-28LibAudio: Remove `try_` prefix from fallible LoaderPlugin methodsLinus Groh
2023-01-28LibAudio: Remove `try_` prefix from fallible LoaderPlugin methodsLinus Groh
2023-01-28LibCore: Remove `try_` prefix from fallible SharedCircularQueue methodsLinus Groh
2023-01-28AK: Remove `try_` prefix from FixedArray creation functionsLinus Groh
2023-01-28LibGfx+icc: Read and display lut16Type and lut8Type ICC tag typesNico Weber
2023-01-28LibGfx: Use AssertSize<> in ICC/Profile.cppNico Weber
2023-01-28LibWasm: Implement data.drop instructionSam Atkins
2023-01-28LibWasm: Move memory.init code together with other memory.foo implsSam Atkins
And add a spec link while I'm at it.
2023-01-28LibWasm: Implement memory.copy instructionSam Atkins
2023-01-28LibWasm: Implement memory.fill instructionSam Atkins
2023-01-28LibGfx: Make PNGImageDecoderPlugin::icc_data() return data if presentNico Weber
2023-01-28LibGfx: Process colorspace-related chunks in PNGLoaderNico Weber
This stores the data from all these chunks on PNGLoadingContext but doesn't do anything with it yet.
2023-01-28LibJS: Add spec comments to FunctionPrototypeLinus Groh
2023-01-28LibJS: Add spec comments to FinalizationRegistryPrototypeLinus Groh
2023-01-28LibJS: Add spec comments to FinalizationRegistryConstructorLinus Groh
2023-01-28LibJS: Add spec comments to DataViewPrototypeLinus Groh
2023-01-28LibJS: Add spec comments to DataViewConstructorLinus Groh
2023-01-28LibJS: Add spec comments to CompletionLinus Groh
2023-01-28LibJS: Add spec comments to BooleanConstructorLinus Groh
2023-01-28LibJS: Add spec comments to BigIntPrototypeLinus Groh
2023-01-28LibJS: Add spec comments to ArrayConstructorLinus Groh
2023-01-28LibJS: Add spec comments to ArrayBufferConstructorLinus Groh
2023-01-28LibJS: Implement the thisBooleanValue AO and use it in BooleanPrototypeLinus Groh
2023-01-28LibGfx: Split ICC/Profile.{h,cpp} into several filesNico Weber
s15Fixed16Number and XYZNumber are somewhat awkwardly duplicated in both Profile.cpp and TagTypes.cpp. Other than that, this is a pure code move. No behavior change.
2023-01-28LibGfx: Bump copyright year in ICC/Profile.{h,cpp}Nico Weber
2023-01-28LibGfx: Move ICCProfile.{h,cpp} to ICC/Profile.{h,cpp}Nico Weber