Age | Commit message (Collapse) | Author |
|
|
|
|
|
Same as NonnullRefPtrVector: weird semantics, questionable benefits.
|
|
|
|
|
|
This class had slightly confusing semantics and the added weirdness
doesn't seem worth it just so we can say "." instead of "->" when
iterating over a vector of NNRPs.
This patch replaces NonnullRefPtrVector<T> with Vector<NNRP<T>>.
|
|
Each time we wrapped a line, we were appending an extra blank span which
wasn't needed. This was leading to an extra blank line after every
single line.
|
|
Also add icon to the sizing mode cycling button.
|
|
This is implemented as a Clang frontend tool, and currently does two
things:
- Ensure for all fields wrapped in {Nonnull,}GCPtr<T>, T inherits from
JS::Cell
- Ensure for all fields not wrapped in {Nonnull,}GCPtr, that the type
does not inherit from JS::Cell (otherwise it should be wrapped in a
Ptr class).
In the future, this tool could be extended further. For example, we may
consider validating all implementations of Cell::visit_impl.
|
|
|
|
|
|
Again, the const-ness only really involves Heap-internal metadata, so
the callers shouldn't care about mutations here.
|
|
|
|
The const_cast in these methods should be fine since the object really
only needs to be mutable so it's Heap-internal metadata can be altered.
|
|
This avoids compiler complaints when trying to use const types
|
|
Without this change, using {Nonnull,}GCPtr<T const> would complain that
there are multiple constructors which resolve to the same type (T& and
T const&). This removes that disambiguation and allows us to slowly fix
all of the constness issues surrounding GCPtrs. This change will not be
necessary in the future as we will be able to remove all of the const
qualifiers from the Ptr classes (they'll be in the template type
instead).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
🎱 U+1F3B1 - Pool 8 Ball
🏀 U+1F3C0 - Basketball
🏐 U+1F3D0 - Volleyball
🥎 U+1F94E - Softball
⚾ U+26BE - Baseball
|
|
This will allow us to easily share the implementations of these methods
between Window and WorkerGlobalScope. The mixin class mirrors what I
already did for the Fetch API's Body mixin in 5ad62833.
|
|
|
|
|
|
|
|
Ultimately, we should find a way to route all emoji access through
the font code, but for now, this patch adds a special case for fonts
that are known to have embedded color bitmaps so we can test them.
|
|
This patch adds support for index format 1 and image format 17.
This is enough to get Noto Color Emoji working.
|
|
This patch does three things:
- Font::has_color_bitmaps() (true if CBLC and CBDT are present)
- Glyph now knows when its bitmap comes from a color bitmap font
- Painter draws color bitmap glyphs with the appropriate scaling etc
|
|
|
|
These tables are not guaranteed to be present in all font files.
|
|
This moves color to be the first value resolved, this ensures that
calls to .to_color() on style values for other properties will always
be able to resolve the current color.
This change fixes the `background-color: currentColor` example in
colors.html.
|
|
This changes the parameters parsed from a WebDriver HTTP request to
String for transferring over IPC. Conveniently, most locations these
were ultimately passed to only need a StringView.
|
|
This will allow easily surrounding operations that may fail due to OOM
with TRY. Note that we now also have to define a "normal" constructor
for WebDriver::Error in order to add the AK::Error constructor.
|
|
Note that unlike the StringView encoder, we do not handle any "null"
state, as the new String cannot be null.
|
|
|
|
Past a few hundred matches, the search is no longer useful, and takes an
excessive amount of time to recalculate the column widths by measuring
thousands of pieces of text. 250 seems like a reasonable arbitrary
limit, and keeps things nice and snappy. :^)
|
|
Co-authored-by: Tim Flynn <trflynn89@pm.me>
|
|
From the WebIDL grammar:
(https://webidl.spec.whatwg.org/#prod-Argument)
Argument ::
ExtendedAttributeList ArgumentRest
ArgumentRest ::
optional TypeWithExtendedAttributes ArgumentName Default
TypeWithExtendedAttributes ::
ExtendedAttributeList Type
One IDL file has been updated to match the spec literally, as it can now
be parsed properly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
`Core::Directory::for_each_entry()` takes a callback which is passed the
DirectoryEntry and the parent Directory. It returns any error from
creating the iterator, iterating the entries, or returned from the
callback.
As a simple example, this:
```c++
Core::DirIterator piece_set_iterator { "/res/icons/chess/sets/",
Core::DirIterator::SkipParentAndBaseDir };
while (piece_set_iterator.has_next())
m_piece_sets.append(piece_set_iterator.next_path());
```
becomes this:
```c++
TRY(Core::Directory::for_each_entry("/res/icons/chess/sets/"sv,
Core::DirIterator::SkipParentAndBaseDir,
[&](auto const& entry, auto&) -> ErrorOr<IterationDecision> {
TRY(m_piece_sets.try_append(entry.name));
return IterationDecision::Continue;
}));
```
|