Age | Commit message (Collapse) | Author |
|
It's unnecessary to allocate a string when we only want to compare it
with another string.
This change also adds a helper for string literals, so that we won't
need to add -sv suffix everywhere. :^)
|
|
...and instead assume it's BGRx8888 or BGRA8888, for now. Always
treating the target as BGRA8888 leads to the alpha channel being
interpreted incorrectly sometimes (as can be seen with WindowServer
overlays).
Fixes #18749
|
|
This allows us to create a PlaybackManager from a file which has already
been mapped, instead of passing a file name.
This means that anyone who uses `PlaybackManager` can now use LibFSAC :)
|
|
|
|
Partially implements:
- Increase sizes to accommodate spanning items crossing content-sized
tracks
- Increase sizes to accommodate spanning items crossing flexible tracks
from https://www.w3.org/TR/css-grid-2/#algo-content
|
|
This change is supposed to solve the problem that currenty when grid
tracks are interleaved with gaps it is impossible to iterate tracks
spanned by a specific grid item. There is a pair of functions:
gap_adjusted_row() and gap_adjusted_column() but they won't work
when it comes to items spanning > 1 track.
Separating gaps from tracks is going to make it possible to iterate
just tracks or both tracks and gaps when it is required. And now tracks
spanned by an item can be accessed by just index without doing any
additional math.
|
|
|
|
As IFUNC resolvers may call arbitrary functions though the PLT, they can
only be called after the PLT has been populated. This is true of the
`[[gnu::target_clones]]` attribute, which makes a call to
`__cpu_indicator_init`, which is defined in `libgcc_s.so`, through the
PLT.
`do_plt_relocation` and `do_direct_relocation` are given a parameter
that controls whether IFUNCs are immediately resolved. In the first
pass, relocations pointing to IFUNCs are put on a worklist, while all
other relocations are performed. Only after non-IFUNC relocations are
done and the PLT is set up do we deal with these.
|
|
No functional changes intended. This is in preparation of a commit that
overhauls how IFUNCs are resolved.
This commit lets us move the implementation of PLT patching from
`DynamicObject` to `DynamicLoader` where all other relocation code
lives. For this, got[2] now stores the loader's address instead of the
object's.
|
|
This is the AArch64 equivalent of `R_X86_64_IRELATIVE`, which specifies
a symbol whose address is determined by calling a local IFUNC resolver
function.
|
|
|
|
Removes unrelated to the code copy paste from spec (sometimes
duplicated).
|
|
Removes partially implemented algorithm for distributing extra space
from spanning item:
https://www.w3.org/TR/css-grid-2/#extra-space
This algorithm should not be part of resolving track sizing on its own
but instead be a subfunction of step 3:
https://www.w3.org/TR/css-grid-2/#track-size-max-content-min
There are changes in layout tests but those are not regressions.
|
|
The spec says: "The first value gives the width of the corresponding
image, the second value its height. If only one value is given the
second is assumed to be auto."
Fixes #18782
|
|
The spec seems to neglect the potential nullity of an image's pending
request in various cases.
Let's protect against crashing and mark these cases with a FIXME about
figuring out whether they are really spec bugs or not.
|
|
The expression evaluator is dead code that does nothing but crash on
all paths, as no opcodes are implemented.
Stubbing out the LocListX form fixes a crash while reading DWARF 5
debug data that contains location lists. These are just a new way
to store location expressions, and since we never implemented
expressions, we can just ignore these too.
As far as I can tell this is enough for DWARF 5 to work for us (since
we mainly just use the line tables).
|
|
Unwind contexts now remember the lexical and variable environments in
effect when they were created. If an exception is caught, we revert
to those environments in the running execution context.
|
|
For `try` statements with a `catch` clause, we were generating *two*
"next" blocks. This meant that not throwing an exception would cause
execution to stop.
Fix this by using the "next" block pointer for the try "entry" and
"handler" blocks.
|
|
|
|
This change brings calculate_minimum_contribution() for grid items and
supporting functions.
|
|
This fixes an issue where object environments (from `with` statement)
were bypassed by statements like `var x = 1` (for objects with an `x`
property).
Fixes 25 tests in test262. :^)
|
|
|
|
This will be used by performance.measure to read the value of a given
entry in the NavigationTiming interface.
|
|
This implements the substeps which concern HTMLMediaElement parents.
|
|
Rather than setting the src attribute on the HTMLMediaElement, websites
may append a list of HTMLSourceElement nodes to the media element. There
is a series of "try the next source" steps to attempt to fetch/load each
source until we find one that works.
|
|
There's no need for this to require a DeprecatedString - the method it
wraps around already only expects a StringView. This allows passing a
String instance without any conversion.
|
|
And only paint GlyphMapWidget's frame if disabled
|
|
|
|
FontEditor will need to clear references to its mutable font in
the future while CharacterMap has no use for the highlights clone,
so let's convert GlyphMapWidget's set_font wrapper into a separate
initialize function for the editor and stop hiding the base function
for others. Setting font null in either ultimately points the map to
the system's default font.
|
|
This will let us neatly ensure capacities, do unchecked appends, and
iterate by size() on FontEditor's models.
|
|
|
|
Fixes seek actions not activating by keyboard shortcut when
GlyphMapWidget has focus.
|
|
automatic_content_width() should return grid container width that is
supposed to be set by determine_intrinsic_size_of_grid_container().
|
|
When a width/height constraint is applied to GFC it should set its own
width/height to the sum of track sizes according to the spec.
Changes in layout tests are improvement over what we had before.
|
|
This solves the issue when track with "fixed" min sizing function were
treated like "auto" during sizing.
|
|
|
|
We achieve this by adding a new Layout::ImageProvider class and having
both HTMLImageElement and HTMLObjectElement inherit from it.
The HTML spec is vague on how object image loading should work, which
is why this first pass is focusing on image elements.
|
|
This first pass is enough to get us:
- Image loading via fetch
- Source selection via srcset and sizes attributes
|
|
Also comes with a little extra CSS parser helper for parsing "sizes"
attributes in images.
|
|
|
|
This patch adds HTML::ImageRequest and HTML::DecodedImageData.
The latter had to use a different name than "ImageData", as there is
already an IDL-exposed ImageData class in HTML.
|
|
Found while playing Fixme-Roulette.
|
|
It looks like this migration it taking a while, so let's make sure noone
accidentally introduces new usages of this currently-unused API.
|
|
|
|
This makes hovering around on GitHub fast again, as it no longer
believes that the grid-template-areas property keeps changing
when it didn't :^)
Also made to_string() work for calc() values as well, since I stumbled
upon that while debugging this.
|
|
|
|
This change brings more spec compliant implementation of functions to
calculate min/max contributions of grid items in containing block size.
|
|
This results in a new OOM prevention. Hooray!
|
|
This prevents callers from accidentally discarding the result of
initialize(), which was the root cause of this OSS Fuzz bug:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55896&q=label%3AProj-serenity&sort=summary
|
|
|