Aliaksandr Kalenik
a3149c1ce9
LibWeb: Wait for initial navigation to complete before modifying iframe
...
If initial src of an iframe is "about:blank", it does synchronous
navigation that is not supposed to be interleaved by other navigation
or usage of Document.open().
Fixes crashing in navigation on https://twinings.co.uk/
2024-04-08 09:07:18 +02:00
Nico Weber
aada06757b
LibGfx/JBIG2: Add early out to composite_bitbuffer()
...
The halftone region decoding procedure can draw patterns completely
outside the page bitmap. I haven't seen this in practice yet (not
many files use pattern/halftone segments), but it seems like it's
possible in theory and seems like a good thing to check for.
2024-04-08 06:27:51 +02:00
Nico Weber
438be7e2ca
LibGfx/JBIG2: Implement halftone_region_decoding_procedure() and Annex C
...
Annex C describes how to read a grayscale bitmap with n bits per pixel:
It's encoded as n bilevel bitmaps, where each bilevel bitmap stores one
bit of the grayscale value (using a en.wikipedia.org/wiki/Gray_code,
which is named after Frank Gray and doesn't normally have much to do
with grayscale images).
A halftone region stores a grayscale bitmap and a linear coordinate
system the grayscale bitmap is in. The grayscale bitmap is overlaid
the halftone region using the coordinate system, and each sample in
the grayscale bitmap is used as an index into a pattern dictionary
and the bitmap at that index is drawn at the current location.
This allows for efficient compression of ordered dithering
(but not error-diffusion dithering).
This does not yet implement halftone region decoding for MMR bitmaps.
The halftone region decoding procedure is the only way to call the
generic region decoding procedure with a skip pattern. This does
include code to compute the skip pattern, but support for that
is not yet implemented in the generic region decoding procedure,
so it'll error out when encountered. (I haven't yet found a file
using this feature, not a way to create such a file yet.)
2024-04-08 06:27:51 +02:00
Nico Weber
9d2c115c1c
LibGfx/JBIG2: Implement decode_immediate_halftone_region()
...
...and stub out halftone_region_decoding_procedure().
2024-04-08 06:27:51 +02:00
Nico Weber
ca5b06cc4f
LibGfx/JBIG2: Implement pattern_dictionary_decoding_procedure()
...
A pattern dictionary stores n bitmaps with the same dimensions w x h.
They're stored in a single bitmap of width `n * w` that's then cut
into n stripes.
2024-04-08 06:27:51 +02:00
Nico Weber
d27722ee00
LibGfx/JBIG2: Implement decode_pattern_dictionary()
...
It calls pattern_dictionary_decoding_procedure(), which is stubbed out.
No real behavior change yet.
2024-04-08 06:27:51 +02:00
Nico Weber
825b4d4e94
LibGfx/JBIG2: Tweak decode_immediate_generic_region()
...
Set context only for non-MMR.
No behavior change.
2024-04-08 06:27:51 +02:00
Lucas CHOLLET
de6507ef94
LibCrypto: Remove simple-template-id from constructors
...
This is disallowed as from C++20. GCC 14 gives an error for these two.
See:
https://cplusplus.github.io/CWG/issues/2237.html
https://stackoverflow.com/questions/71978335/class-templates-constructor-declaration-doesnt-compile-for-c20-but-compiles
2024-04-07 21:33:46 +02:00
Andreas Kling
c0ea8825b5
LibWeb: Always log debug message about failure to parse CSS fonts
...
It's always good to know when and why a CSS font fails to parse,
so that we can file issues about missing functionality.
2024-04-07 19:15:23 +02:00
Andreas Kling
877ad07915
WebContent: Add missing visit in ConsoleGlobalEnvironmentExtensions
2024-04-07 18:01:50 +02:00
Andreas Kling
7cbbd4dd7e
LibJS: Suppress LibJSGCVerifier warning about Map::m_keys
2024-04-07 18:01:50 +02:00
Andreas Kling
e67f6343f7
LibJSGCVerifier: Warn on missing visit of JS::Value members
...
A JS::Value can refer to a GC-allocated object, so let's ensure they
are visited when necessary.
2024-04-07 18:01:50 +02:00
Shannon Booth
70e2f51674
LibWeb: Prefer GCPtr<T> over Optional<NonnullGCPtr<T>>
2024-04-07 18:01:05 +02:00
Shannon Booth
80658743d3
LibWeb: Generate Optional<NonnullGCPtr<T>> as GCPtr<T>
...
This is the general pattern which has been adopted in LibWeb, so let's
generate our IDL like this too.
2024-04-07 18:01:05 +02:00
Fabian Dellwing
3a0e69d86f
Ports: Enable more poppler
features
...
We now link against `boost`, `lcms2` and `openjpeg`.
We also depend on `gpgme` but don't link against it because of #23557
2024-04-07 16:35:22 +02:00
Fabian Dellwing
65fd70c890
Ports/gpgme: Prefix CMakeConfig file with ${CMAKE_SYSROOT}
...
The automatically created CMakeConfig file was not working for
cross-compilation. We now prefix the path with `${CMAKE_SYSROOT}`
to have it work on host and target.
2024-04-07 16:35:22 +02:00
Kenneth Myhra
29521b50e6
Tests/LibWeb: Verify we throw when trying to pipe through locked streams
2024-04-07 14:26:34 +01:00
Kenneth Myhra
9802cf07bd
Tests/LibWeb: Add test to prove we can pipe through a transform stream
2024-04-07 14:26:34 +01:00
Kenneth Myhra
d593436b6d
LibWeb: Implement ReadableStream.pipeThrough()
2024-04-07 14:26:34 +01:00
Tim Ledbetter
eff9460bf8
Ports/stockfish: Update to version 16.1
2024-04-07 14:09:45 +02:00
Tim Ledbetter
64a226eadd
Everywhere: Add spaces to generic types in IPC files
...
This improves the readability of type names.
2024-04-07 07:17:31 +02:00
Tim Ledbetter
8324a82409
IPCCompiler: Give a useful error if parameter is unnamed
...
Previously, parsing would continue if a parameter wasn't given a name
and malformed code would be generated, leading to hard to diagnose
compiler errors.
2024-04-07 07:17:31 +02:00
Tim Ledbetter
076904a59b
IPCCompiler: Allow generic parameter types to contain spaces
...
Previously, a parameter type containing any spaces would cause parsing
to fail.
2024-04-07 07:17:31 +02:00
Matthew Olsson
aac873fcec
LibWeb: Fix a few "missing visit_edges" warnings from the GC verifier
2024-04-07 07:03:13 +02:00
Matthew Olsson
3c3ead5ff4
LibWeb: Don't store WindowOrWorkerGlobalScopeMixin in Performance
...
It wasn't used anyways, instead preferring to do dynamic_casts in every
method. Let's keep doing that, but move it into a helper function.
2024-04-07 07:03:13 +02:00
Matthew Olsson
7001e0a428
LibWeb: Fix a LibJSGCVerifier warning in DOM::Text
2024-04-07 07:03:13 +02:00
Matthew Olsson
164db73bdc
IDLGenerators: Fix a GCVerifier warning
2024-04-07 07:03:13 +02:00
Matthew Olsson
a221a4660e
WebContent: Fix some GCVerifier warnings
2024-04-07 07:03:13 +02:00
Matthew Olsson
8450041b52
LibWeb: Fix some GCVerifier warnings
2024-04-07 07:03:13 +02:00
Matthew Olsson
8b8ada292e
LibJS: Fix some GCVerifier warnings
2024-04-07 07:03:13 +02:00
Matthew Olsson
f3096bd4a1
LibJSGCVerifier: Define the NULL constant
...
Not sure why this throws warnings, but its a simple fix
2024-04-07 07:03:13 +02:00
Matthew Olsson
f5cdb5eee0
LibWeb: Add a missing visit in PageClient
2024-04-07 07:03:13 +02:00
Matthew Olsson
4701c4bb01
LibWeb: Add a missing visit in HTMLFormElement
2024-04-07 07:03:13 +02:00
Kenneth Myhra
a0802b6e29
Tests/LibWeb: Verify we throw when trying to pipe from/to locked streams
2024-04-07 07:01:52 +02:00
Kenneth Myhra
8ff52582ce
Tests/LibWeb: Add test to prove we can pipe to a WriteableStream
...
This proves our ability to pipe the current ReadableStream to a given
WriteableStream.
2024-04-07 07:01:52 +02:00
Kenneth Myhra
d3b2cd8ab6
LibWeb: Implement ReadableStream.pipeTo()
2024-04-07 07:01:52 +02:00
Kenneth Myhra
559d983fa1
LibWeb: Implement AO readable_stream_pipe_to()
...
This is currently a naive implementation of readable_stream_pipe_to()
which will need some further iterations before it is par with the spec.
2024-04-07 07:01:52 +02:00
Kenneth Myhra
12cfa08a09
LibWeb: Use Vector<ByteBuffer> to store chunks in ReadLoopReadRequest
...
This stores the incoming chunks into a Vector of ByteBuffer in order to
be able to retrieve them in the same order as they came in.
2024-04-07 07:01:52 +02:00
Lucas CHOLLET
cb5f30ae98
LibGfx/TIFF: Prevent recursion when following IFD pointers
...
Fixes oss-fuzz 66587.
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66587&sort=-opened&q=proj%3Aserenity%20TIFF&can=1
2024-04-07 06:45:38 +02:00
Aliaksandr Kalenik
2c86633c51
LibWeb: Fix out of order spec step numbers in "create child navigable"
...
No behaviour change.
2024-04-06 21:57:55 +02:00
Shannon Booth
18520561e7
LibWeb: Fix crash for calculated transition duration/delays
...
As the parser was trying to directly unwrap an unresolved duration.
Currently we are outputting the wrong results for the serialized
duration, but this is still a step forwards.
Fixes a crash seen on: https://evaparish.com/blog/how-i-edit
2024-04-06 19:35:27 +01:00
Idan Horowitz
945c58c7c1
LibUnicode: Generate and use code point composition mappings
...
These allow us to binary search the code point compositions based on
the first code point being combined, which makes the search close to
O(log N) instead of O(N).
2024-04-06 14:21:04 -04:00
Idan Horowitz
e227bf0f71
LibUnicode: Optimize the canonical composition algorithm implementation
...
It now takes O(N) time instead of O(N^2) time. Additionally some always
false conditions are removed.
2024-04-06 14:21:04 -04:00
Torben Virtmann
6207405f3d
Base: Add and Rework Emoji
...
- 🛳 - U+1F6F3 PASSENGER SHIP
- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB
Base: Add and Rework Emoji
- 🛳 - U+1F6F3 PASSENGER SHIP
- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB
Base: Add and Rework Emoji
- 🛳 - U+1F6F3 PASSENGER SHIP
- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB
Base: Add and Rework Emoji
- 🛳 - U+1F6F3 PASSENGER SHIP
- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB
Base: Add and Rework Emoji
- 🛳 - U+1F6F3 PASSENGER SHIP
- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB
Base: Add and Rework Emoji
- 🛳 - U+1F6F3 PASSENGER SHIP
- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB
Base: Add and Rework Emoji
- 🛳 - U+1F6F3 PASSENGER SHIP
- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB
Base: Add and Rework Emoji
- 🛳 - U+1F6F3 PASSENGER SHIP
- 🕷️ - U+1F577 SPIDER
- 🕸️ - U+1F578 SPIDER WEB
2024-04-06 13:40:45 -04:00
Shannon Booth
8c34842962
AK: Simplify and optimize ASCIICaseInsensitiveFlyStringTraits::equals
...
The member function `equals_ignoring_ascii_case` has a fast path which
will return early if it is the same FlyString instance.
2024-04-06 09:17:51 -04:00
Shannon Booth
f186e7e537
LibWeb: Fill out implementation for navigator.hardwareConcurrency
...
Instead of always reporting 1 :^)
2024-04-06 07:20:22 +02:00
Shannon Booth
9c9a378455
LibCore: Implement Core::System::hardware_concurrency()
2024-04-06 07:20:22 +02:00
Idan Horowitz
9f31a83c2e
LibJSGCVerifier: Assume MarkedVector wrapped members are valid
...
These are effectively heap roots, so they don't need to be visited.
2024-04-06 06:59:36 +02:00
Idan Horowitz
b018114bee
LibWeb: Add missing visit_edges implementation to RegExpObject
2024-04-06 06:59:36 +02:00
Idan Horowitz
f357998e81
LibWeb: Add missing visit_edges implementation to ModuleNamespaceObject
2024-04-06 06:59:36 +02:00