Age | Commit message (Collapse) | Author |
|
Just updating the sheet will not cause a widget update.
|
|
I left a page open overnight and it had run out of timer ID's. :^)
|
|
...and transfer them to SerenityOS/serenity-fuzz-corpora.
|
|
This patch rids us of the ugly hack that we had to go through while
handling table redefinitons.
|
|
Fixes #4246
Also adds a test case.
|
|
|
|
Fixes #4252.
|
|
If the offset is zero and we're already at the end of the lexer's input
an out of bounds read (m_source[m_position]) would occur.
Also check that the offset is not more than m_position (which should
never be the case, and would result in m_position underflowing).
Fixes #4253.
|
|
Happens a lot when fuzzing.
|
|
|
|
We also need to append the raw consumed value if *either* of the two
characters after the % isn't a hex digit, not only if *both* aren't.
Fixes #4257.
|
|
This solves utmpupdate zombies hanging around until Terminal
terminates.
|
|
This is just a hack until we implement the full 'height' property for
tables. :^)
|
|
We were incorrectly hoisting non-inline children of inline-block boxes
to the nearest non-inline ancestor.
Since inline-block boxes are only inline on the *outside*, it's fine
for them to have non-inline children.
Eventually we should clarify these relationships by making the inside
and outside display types more explicit.
|
|
|
|
|
|
The PNG spec says that each color type only allows certain bit depths,
so add explicit checks for that.
|
|
Before this, images without IHDR, or palettized images with no or
too small PLTE would lead to asserts. Found by running FuzzPNGLoader
locally.
|
|
|
|
Percentage lengths cannot be to_px()'ed directly, we have to resolve
them against a reference (the containing block) first.
Fixes #4248.
|
|
Otherwise we would only match TokenType::Char, making all of these invalid:
- /foo,bar/
- /foo\/bar/
- /foo=bar/
- /foo-bar/
- /foo:bar/
Fixes #4243.
|
|
Closes #4238.
|
|
|
|
e.g. `[:]`
|
|
This fixes #4195 and closes #4196.
|
|
That's just silly :)
Also fix that one use of read_line() which assumes it will
null-terminated in mount.cpp (this would've blown up if the IODevice was
at EOF and had a line with the same size as max_size).
|
|
It's much more elegant to say 'should_chomp ? Chomp : NoChomp' than to
say 'if (should_chomp) ...(..., Chomp) else ...(...)'.
|
|
|
|
There are cases where Lagom will build with GCC but not Clang.
This often goes unnoticed for a while as we don't often build with
Clang.
However, this is now important to test in CI because of the
OSS-Fuzz integration.
Note that this only tests the build, it does not run any tests.
Note that it also only builds LagomCore, Lagom and the fuzzers.
It does not build the other programs that use Lagom.
|
|
This is a hack which can be removed once GitHub Actions changes the
default version to clang 11.
This is apparently sometime in mid-December.
Note, clang-11 is not currently available on Ubuntu 20.04. However,
GitHub Actions uses 20.04, which probably means clang-11 will
become available around that time for all 20.04 users.
|
|
This was preventing clang from building.
|
|
We added OSS-Fuzz integration in #4154, but documentation about it
is spread across several pull requests, IRC, and issues. Let's collect
the important bits in the ReadMe.
|
|
Not yet found by oss-fuzz, but I hit it a while ago when running
FuzzGIFLoader locally.
|
|
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27913
and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=27873
|
|
This matches other engines.
|
|
Instead of hiding JS exceptions raised on the web, we now print them to
the debug log. This will make it a bit easier to work out why some web
pages aren't working right. :^)
|
|
We didn't notice that the layout tree had disappeared after dispatching
a mousedown event, because we only checked EventHandler::layout_root()
which happily returned the *new* layout tree after a window.reload().
This patch fixes that by verifying that the frame is still showing the
same DOM's layout tree after event dispatch.
Fixes #4224.
|
|
We can now build partial layout trees (this happens for example when an
element's "display" property is programmatically toggled from "none" to
something else.)
|
|
|
|
We can't say that "no replaced boxes can have children", since that
breaks SVG. Instead, let each LayoutNode decide whether it's allowed
to have children.
Fixes #4223.
|
|
|
|
...in cases where the assert can be directly caused by user input.
|
|
|
|
The JPEG spec allows component IDs to be chosen arbitrarily from the
interval [0, 255]. Storing components in a vector corrupts the decoder
when component IDs are not in the range 0-3. Normally, encoders don't
use IDs outside of that range because JPEG doesn't support more than
4 channels. But since there is a chance that a spec compliant JPEG
would have component IDs outside of [0-3], we should consider replacing
the vector, which enforces serial component access based on component
IDs, with a HashMap<u8, ComponentSpec>.
|
|
This enables us to use keys of type u8 in HashMaps.
|
|
We were messing up the box tree for tables by hoisting cells up to
become children of the table row group (instead of the table row.)
Table rows are non-block boxes, and it's fine for them to have cell
(block) children.
Fixes #4225.
|
|
https://google.github.io/oss-fuzz/getting-started/new-project-guide/#status-badge
> Once your project has started building, we’d love it if you added our
> badge in your project’s README. This allows you to see bugs found by
> your OSS-Fuzz integration at a glance.
|
|
Fixes #4220.
|
|
Problem:
- If `fork()` fails the system tries to call `execl()`. That will
either succeed and replace the running process image or it will fail
and it needs to try again. The `if` is redundant because it will
only be evaluated if `execl()` fails.
Solution:
- Remove the `if`.
|
|
|