summaryrefslogtreecommitdiff
path: root/Userland
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-29Welcome: Rename m_initial_tip_index=>m_tip_indexthankyouverycool
2023-01-29Welcome: Load banner font in a fallible mannerthankyouverycool
And simplify painting logic by using the banner widget's relative rect and tray_text() ColorRole.
2023-01-29LibGUI+LibGfx: Add Tray ColorRole helpers to Palettethankyouverycool
2023-01-29Welcome: Replace instances of DeprecatedString with Stringthankyouverycool
2023-01-29Welcome: Use fallible try_create()thankyouverycool
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-29PixelPaint: Increase default window height by 10pxMacDue
This stops the clone and gradient tools from being cut off the side bar.
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-28ImageDecoder: Actually set `is_animated` and `loop_count` variablesKarol Kosek
Before 649f78d0a4475a640ad353e1e879a7bb27db222b, the is_animated and loop_count objects were set directly when making a return object. That commit moved the decode logic to a separate function but forgot to assign `is_animated` and `loop_count`. The compiler didn't throw an error about unused variables because we were also VERIFY()ing that these variables were zero-initialized at the beginning of the function.
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-28PixelPaint: Remove `try_` prefix from fallible ProjectLoader methodsLinus Groh
2023-01-28PixelPaint: Remove `try_` prefix from fallible IconBag methodsLinus Groh
2023-01-28PixelPaint: Remove `try_` prefix from fallible Image methodsLinus Groh
2023-01-28PixelPaint: Remove `try_` prefix from fallible Image 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-28icc: Print profile sizeNico Weber
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