summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-10Kernel/Ext2FS: Propagate errors from block list computation functionsAndreas Kling
2021-11-10Kernel: Propagate Vector append errors in two places in Ext2FSAndreas Kling
There are a bunch more of these, just taking care of some simple ones.
2021-11-10Kernel: Make Inode::traverse_as_directory() callback return ErrorOrAndreas Kling
This allows us to propagate errors from inside the callback with TRY().
2021-11-10AK: Make ByteBuffer::try_* functions return ErrorOr<void>Andreas Kling
Same as Vector, ByteBuffer now also signals allocation failure by returning an ENOMEM Error instead of a bool, allowing us to use the TRY() and MUST() patterns.
2021-11-10AK: Make Vector::try_* functions return ErrorOr<void>Andreas Kling
Instead of signalling allocation failure with a bool return value (false), we now use ErrorOr<void> and return ENOMEM as appropriate. This allows us to use TRY() and MUST() with Vector. :^)
2021-11-10AK+LibJS: Simplify MUST() and move it from LibJS to AK/Try.hAndreas Kling
This is generally useful so let's move it to AK. Also it seems that we don't need the temporary variable hack anymore, so let's lose that.
2021-11-10AK+Everywhere: Stop including Vector.h from StringView.hAndreas Kling
Preparation for using Error.h from Vector.h. This required moving some things out of line.
2021-11-10LibWeb: Make property_initial_value() return a NonnullRefPtrSam Atkins
The finale! Users can now be sure that the value is valid, which makes things simpler.
2021-11-10LibWeb: Ensure that CSS initial values are always valid :^)Sam Atkins
First off, this verifies that an initial value is always provided in Properties.json for each property. Second, it verifies that parsing that initial value succeeds. This means that a call to `property_initial_value()` will always return a valid StyleValue. :^)
2021-11-10LibWeb: Allow `none` value for `transform` propertySam Atkins
This is the initial value for `transform`. We already handle the value later, we just were not parsing it.
2021-11-10LibWeb: Add initial values for all CSS propertiesSam Atkins
It's a little verbose to repeat these in cases like the borders, but if everything has an initial value, we can guarantee that `property_initial_value()` will return something! :^)
2021-11-10LibWeb: Add initial values and longhands to `background` definitionSam Atkins
There is no specified initial value, but `transparent` is equivalent to setting all the background properties to their defaults.
2021-11-10LibWeb: Correct initial values in Properties.jsonSam Atkins
- `align-items`: `normal` is the initial value in the CSS-ALIGN spec, but `stretch` is in CSS-FLEXBOX. The FLEXBOX spec is the one we've actually implemented elsewhere, and ALIGN adds new values with special syntax, so it's not trivial to add it here. - `border-spacing`: `0` is equivalent to `0px 0px` and we don't yet parse the double-value syntax. - `text-decoration-thickness`: Had the wrong value.
2021-11-10LibJS: Remove left-over debug assertion from the Await AOIdan Horowitz
2021-11-10LibJS: Do not parse async methods with a new line after the "async"Idan Horowitz
This was already checked in normal function expressions, but was missing for Object Expressions.
2021-11-10Kernel: Make (f)statvfs report filesystem ID correctlyBen Wiederhake
2021-11-10Kernel: Fix TOCTOU in fstatvfsBen Wiederhake
In particular, fstatvfs used to assume that a file that was earlier opened using some path will forever be at that path. This is wrong, and in the meantime new mounts and new filesystems could take up the filename or directories, leading to a completely inaccurate result. This commit improves the situation: - All filesystem information is now always accurate. - The mount flags *might* be erroneously zero, if the custody for the open file is not available. I don't know when that might happen, but it is definitely not the typical case.
2021-11-10Ports: Use GNU patch instead of the OpenBSD versionTim Schumacher
The OpenBSD version is having some weird issues, so: Reject OpenBSD, return to GNU.
2021-11-10Utilities: tar: Always create parent directory when extractingTim Schumacher
2021-11-10LibSQL: Implement table joinsJan de Visser
This patch introduces table joins. It uses a pretty dumb algorithm- starting with a singleton '__unity__' row consisting of a single boolean value, a cartesian product of all tables in the 'FROM' clause is built. This cartesian product is then filtered through the 'WHERE' clause, again without any smarts just using brute force. This patch required a bunch of busy work to allow for example the ColumnNameExpression having to deal with multiple tables potentially having columns with the same name.
2021-11-10LibSQL: Relax assignment rules for Null ValuesJan de Visser
It should be possible to assign a Value of any type to a Value which currently is Null.
2021-11-10LibSQL: Add current statement to the ExecutionContextJan de Visser
Because SQL is the craptastic language that it is, sometimes expressions need to know details about the calling statement. For example the tables in the 'FROM' clause may be needed to determine which columns are referenced in 'WHERE' expressions. So the current statement is added to the ExecutionContext and a new 'execute' overload on Statement is created which takes the Database and the Statement and builds an ExecutionContaxt from those.
2021-11-10LibSQL: Add 'schema' and 'table' to TupleElementDescriptorJan de Visser
These are needed to distinguish columns from different tables with the same column name in one and the same (joined) Tuple. Not quite happy yet with this API; I think some sort of hierarchical structure would be better but we'll burn that bridge when we get there :^)
2021-11-10LibSQL: Add the 'extend' operation to the Tuple classJan de Visser
Tuple::extend is similar to the Vector method of the same name; it concatenates a second Tuple to the current one.
2021-11-10LibSQL: Add SQL files to assist in troubleshootingJan de Visser
These files contain the same SQL statements as the similarly named tests in Tests/LibSQL/TestSqlStatementExecution.cpp test suite. They can be fed to the sql utility to assist in troubleshooting failing tests.
2021-11-10strace: Interpret errno codes for pointer-like return codesBen Wiederhake
2021-11-10strace: Switch to new flag handler, support more flagsBen Wiederhake
In particular, strace now supports all O_*, MSG_*, MAP_*, and PROT_* flags, as well as a more context-dependent default value (e.g. "PROT_NONE").
2021-11-10strace: Better support for bitflags, show unrecognized flagsBen Wiederhake
2021-11-10CMake: Build serenity_lib libraries with a custom SONAMETim Schumacher
This allows libraries and binaries to explicitly link against `<library>.so.serenity`, which avoids some confusion if there are other libraries with the same name, such as OpenSSL's `libcrypto`.
2021-11-10CMake: Remove unused serenity_shared_lib functionTim Schumacher
2021-11-10FileIconProvider: Add soname libraries to the icon listTim Schumacher
2021-11-10Everywhere: Move shared library checks into a common functionTim Schumacher
While we're at it, unify the various different conditions that are scattered accross the codebase.
2021-11-10LibCoredump: Restrict library name check when querying symbolsTim Schumacher
`object_name()` already returns the cleaned library name, and we currently don't have any libraries with suffixes in /usr/lib, so we can convert this to an `ends_with()` check.
2021-11-10Emulator: Restrict library name check when querying symbolsTim Schumacher
Libraries in /usr/lib currently only end in .so, so no contains() is needed for now.
2021-11-10Emulator: Use existing queried library name in load checkTim Schumacher
We already asked the region about what its library name is, and we also use that value when maybe constructing a path, so let's make the check use that as well.
2021-11-10Profiler: Use existing path split when mmapping librariesTim Schumacher
We already extracted the `path` part of the segment name, so use that for checking if the filename looks like a shared library.
2021-11-10AK: Properly declare inheritance of Bitmap from BitmapViewBen Wiederhake
All the read-only methods of Bitmap simply defer to BitmapView. Let's make this relationship official by using class inheritance. This might even shave off a few instructions, although any sufficiently optimizing compiler probably already optimized them away.
2021-11-10AK+Kernel: Make BitmapView read-onlyBen Wiederhake
2021-11-10Everywhere: Remove unused AK/Bitmap includesBen Wiederhake
2021-11-10LibWeb: Parse background-size as part of background shorthandSam Atkins
2021-11-10LibWeb: Parse `background-size` propertySam Atkins
2021-11-10LibWeb: Add BackgroundSizeStyleValueSam Atkins
There's nothing really background-size-specific about this, but since there is no `<size>` value type defined in the CSS spec at this time, and background-size is the only user of it, I think this name makes more sense. But I'm not 100% convinced.
2021-11-10LibWeb: Store Repeat values directly in BackgroundRepeatStyleValueSam Atkins
...as opposed to storing StyleValues, which we have to later check are IdentifierStyleValues, which store identifiers that we can convert to Repeat values later. It's fewer allocations, and we can't end up with invalid values by mistake. :^)
2021-11-10LibWeb: Remove concept of CSS pseudo-propertiesSam Atkins
We don't need them any more, so they're gone. :^)
2021-11-10LibWeb: Combine background-repeat-x/y pseudo-propertiesSam Atkins
While right now this doesn't save much complexity, it will do once we care about multiple background layers per node. Then, having a single repeat value per layer will simplify things. It also means we can remove the pseudo-property concept entirely! :^)
2021-11-10LibWeb: Use BackgroundRepeatStyleValue in `background` shorthandSam Atkins
This is step 1 in removing the two `background-repeat-x/y` pseudo-properties. Since adding the concept of compound StyleValues, we don't need `background-repeat` to be split in two any more.
2021-11-10Base: Add CSS `background` test pageSam Atkins
Also organized the welcome page list slightly.
2021-11-10LibWeb: Parse `background-clip` and `background-origin`Sam Atkins
Including as part of the `background` shorthand. :^)
2021-11-10LibWeb: Parse `background-attachment` as part of `background` propertySam Atkins
2021-11-10LibWeb: Add `background-position` to `background` propertySam Atkins
This required modifying the background-parsing code to use a TokenStream, but that turned out to be pretty simple.