Age | Commit message (Collapse) | Author |
|
Using a file(GLOB) to find all the test files in a directory is an easy
hack to get things started, but has some drawbacks. Namely, if you add
a test, it won't be found again without re-running CMake. `ninja` seems
to do this automatically, but it would be nice to one day stop seeing it
rechecking our globbed directories.
|
|
|
|
This is not necessary because the user can just use this, which is
referenced until the deferred invocation is complete.
|
|
Only one place used this argument and it was to hold on to a strong ref
for the object. Since we already do that now, there's no need to keep
this argument around since this can be easily captured.
This commit contains no changes.
|
|
Core::deferred_invoke is a way of executing an action after previously
queued events have been processed. It removes the requirement of
having/being a Core::Object subclass in order to defer invocation
through Core::Object::deferred_invoke.
Core::Object::deferred_invoke now delegates to Core::deferred_invoke.
The version with the Object& argument is still present but will be
removed in the following commits.
This commit additionally fixes a new places where the
DeferredInvocationEvent was dispatched to the event loop directly, and
replaces them with the Core::deferred_invoke equivalent.
|
|
Super+Wheeling window opacity was removed in 370d374.
Guilty only of being ahead of its time.
|
|
|
|
|
|
Fixes null scrubbers drawing over the decrement button when
window dimensions dictate they disappear.
|
|
These suffered the same visual defect as scrollbars when styled
as normal buttons: against backgrounds with the same color as
their highlighting, aspect was lost.
|
|
We were previously using byte-oriented spans. This would work if not for
token.line_column() being in codepoints.
|
|
Without this, any resize of the GLContextWidget might leave the label
somewhere it shouldn't be. Toggling fullscreen is a single example of
that behavior.
|
|
|
|
Same as we already did with move(). This allows compiler diagnostics
and static analyzers like SonarCloud to detect more issues.
|
|
|
|
The first attempt in #9037 used a special label as a view, if it wanted
to communicate any kind of error, but that sure did look a bit ugly.
Here, we are just showing a message box right before setting the new
path as:
- the contents of the previous directory will be visible in background,
which I find pretty nice, and
- I don't have to deal with adding a path history vector to reopen
the previous directory (which might not even exist then). :^)
|
|
The breadcrumbbar in here serves exactly the same purpose as the one in
File Manager. Given that, I believe it's worth to keep these two
visually consistent.
|
|
Removed the old custom checkbox selection code in the Visualization
menu and replaced them with GUI::ActionGroup with set_exclusive
enabled instead :^)
|
|
|
|
|
|
|
|
|
|
This looks like a copy past bug where we were checking "cc" twice
instead of checking for the equivalent header extension.
Found by Sonar Cloud.
|
|
Found by Sonar Cloud.
|
|
NetworkOrdered is a non trivial type, and it's undefined behavior to
cast a random pointer to it and then pretend it's that type.
Instead just call AK::convert_between_host_and_network_endian on the
individual u16*. This suppresses static analysis warnings.
I don't think there was a "bug" in the previous code, it worked, but
it was very brittle.
|
|
|
|
|
|
This struct is non-trivially large, it makes sense to pass it by
reference instead of by value in the factory method.
Found by Sonar Cloud.
|
|
This silences a overeager warning in sonar cloud, warning that
slicing could occur with `VariadicFormatParams` which derives from
`TypeErasedFormatParams`.
Reference:
https://sonarcloud.io/project/issues?id=SerenityOS_serenity&issues=AXuVPBW3k92xXUF3qXTE&open=AXuVPBW3k92xXUF3qXTE
This is a continuation of f0b3aa033134b788a28fe8cf8ff6028d0e7941e8.
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/1d61d6f
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/ababe1b
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/9cc913e
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/499282a
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/943018f
|
|
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/d4b9bcf
|
|
|
|
CLDR contains a set of likely subtag data where, given a locale, you can
resolve what is the most likely language, script, or territory of that
locale. This data is needed for resolving territory aliases. These
aliases might contain multiple territories, and we need to resolve which
of those territories is most likely correct for a locale.
Note that the likely subtag data is quite huge (a few thousand entries).
As an optimization encouraged by the spec, we only generate the smallest
subset of this data that we actually need (about 150 entries).
|
|
|
|
Most alias substitutions are "simple", meaning that alias matching is
done by examining a single locale subtag. However, there are a handful
of "complex" aliases where matching is done by examining multiple
subtags. For example, the variant subtag "lojban" causes the locale
"art-lojban" to be canonicalized to "jbo", but only when the language
subtag is "art" (i.e. this should not occur for the locale "en-lojban").
This generates a method to perform complex alias matching.
|
|
Calendar subtags are a bit of an odd-man-out in that we must match the
variants "ethiopic-amete-alem" in that order, without any other variant
in the locale. So a separate method is needed for this, and we now defer
sorting the variant list until after other canonicalization is done.
|
|
|
|
|
|
|
|
|
|
|
|
Unicode TR35 defines how locale subtag aliases should be emplaced when
converting a locale to canonical form. For most subtags, it is a simple
substitution. Language subtags depend on context; for example, the
language "sh" should become "sr-Latn", but if the original locale has a
script subtag already ("sh-Cyrl"), then only the language subtag of the
alias should be taken ("sr-Latn").
To facilitate this, we now make two passes when canonicalizing a locale.
In the first pass, we convert the LocaleID structure to canonical syntax
(where the conversions all happen in-place). In the second pass, we form
the canonical string based on the canonical syntax.
|
|
CLDR contains a set of aliases for languages, territories, etc. that no
longer are meant to be used (e.g. due to deprecation). For example, the
language "aam" is deprecated and should be canonicalized as "aas".
|
|
Originally, it was convenient to store the parsed Unicode locale data as
views into the original string being parsed. But to implement locale
aliases will require mutating the data that was parsed. To prepare for
that, store the parsed data as proper strings.
|
|
|
|
|