Shannon Booth
bfa330914d
LibWeb: Add stub interface for IDBRequest
2024-05-19 16:24:11 +02:00
Shannon Booth
8d5665ebe1
LibWeb: Add stub for IDBFactory
2024-05-19 16:24:11 +02:00
Matthew Olsson
74aeb57631
LibWeb: Add a few missing visits to m_rel_list members
2024-05-19 09:26:30 +02:00
Shannon Booth
3ccbc83168
LibWeb: Add a stubbed slot for DynamicsCompressorNode.reduction
...
For now, this slot is always 0 - (the default value per spec). But
once we start actually processing audio streams this internal slot
should be changed correspondingly.
2024-05-19 09:26:20 +02:00
Shannon Booth
cf615cbd1c
LibWeb: Add AudioParams for DynamicsCompressorNode
2024-05-19 09:26:20 +02:00
Shannon Booth
8fa7b2c173
LibWeb: Log a FIXME when parsing fragments for XML documents
...
This will help us in detecting potential web compatability issues from
not having this implemented.
While we're at it, update the spec link, as it was moved from the DOM
parsing spec to the HTML one, and implement this function in a manner
that closr resembles spec text.
2024-05-19 07:22:48 +02:00
Shannon Booth
ccdf82c9be
LibWeb: Implement scrollIntoView with 'center' block position
...
This fixes a crash on:
https://docs.github.com/en/get-started/learning-about-github/githubs-plans
2024-05-19 07:22:17 +02:00
Shannon Booth
b3c8974718
LibWeb: Factor out IDL generator using namespace hack into a function
...
So that when we need add a new namespace in LibWeb we only have a single
place that needs to be changed.
2024-05-19 07:21:08 +02:00
Lucas CHOLLET
615d845ff2
LibGfx/GIF: Prefer local tables over a global one
...
Let's use local tables so every frame can use its own table.
2024-05-19 07:20:15 +02:00
Lucas CHOLLET
f21a4111d2
LibGfx/GIF: Rename write_global_color_table
=> write_color_table
...
Local and Global tables are the exact same thing from an encoding
perspective.
2024-05-19 07:20:15 +02:00
Shannon Booth
dd20156010
LibWeb: Fix division by zero on a zero-height viewport SVG image
2024-05-19 07:19:42 +02:00
Shannon Booth
d48316ce15
LibWeb: Fix division by zero on a zero-width viewport SVG image
...
We were previously crashing by a division by zero due to an aspect ratio
of zero on https://comicbookshop.co.nz/
2024-05-19 07:19:42 +02:00
Dan Klishch
be36dbce7d
AK: Don't put element count next to heap-allocated data in FixedArray
...
This not only makes code easier to follow but also makes it faster.
2024-05-18 18:30:42 +02:00
Lucas CHOLLET
a0401b0d86
LibGfx/GIF: Add support for colors
...
To determine the palette of colors we use the median cut algorithm.
While being a correct implementation, enhancements are obviously
existing on both the median cut algorithm and the encoding side.
2024-05-18 18:30:07 +02:00
Lucas CHOLLET
1ba8a6f80f
LibGfx: Add an implementation of the MedianCut algorithm
...
This is useful to find the best matching color palette from an existing
bitmap. It can be used in PixelPaint but also in encoders of old image
formats that only support indexed colors e.g. GIF.
2024-05-18 18:30:07 +02:00
Lucas CHOLLET
c6e4563489
AK: Export Statistics to the global namespace
2024-05-18 18:30:07 +02:00
Lucas CHOLLET
02e682950e
LibGfx: Make Color hashable
2024-05-18 18:30:07 +02:00
Tim Ledbetter
272cd30f17
LibWeb: Add missing visit to m_labels
in HTMLElement
2024-05-18 18:29:52 +02:00
Tim Ledbetter
c36ba450be
LibWeb: Generate binding for HTMLObjectElement.contentWindow
attribute
...
This only required adding the appropriate definition to the IDL file,
as `NavigableContainer` already implements the logic that we need.
2024-05-18 18:12:08 +02:00
Andreas Kling
b2e6843055
LibJS+AK: Fix integer overflow UB on (any Int32 - -2147483648)
...
It wasn't safe to use addition_would_overflow(a, -b) to check if
subtraction (a - b) would overflow, since it doesn't cover this case.
I don't know why we didn't have subtraction_would_overflow(), so this
patch adds it. :^)
2024-05-18 18:11:50 +02:00
Hendiadyoin1
1de475b404
LibJS: Prepare yield object before re-routing it through finally
2024-05-18 18:11:10 +02:00
Tim Ledbetter
2447a25753
LibWeb: Implement the labels
attribute for all labelable elements
...
This returns a `NodeList` of all the labels associated with the given
element.
2024-05-18 18:09:18 +02:00
Tim Ledbetter
3dc86747f0
LibWeb: Implement the HTMLOutputElement.htmlFor
attribute
...
This returns a DOMTokenList that reflects the `for` attribute.
2024-05-18 11:23:20 +02:00
Tim Ledbetter
acc1fa3c62
LibWeb: Generate binding for the HTMLObjectElement.form
attribute
...
This only required adding the appropriate definition to the IDL file,
as `FormAssociatedElement` already implements the logic that we need.
2024-05-18 11:04:04 +02:00
Tim Ledbetter
6bf22075ed
LibWeb: Implement the HTMLLabelElement.form
attribute
...
This returns the form element associated with the given label element's
control or null if the label has no control.
2024-05-18 11:04:04 +02:00
Tim Ledbetter
5296338e7a
LibWeb: Check all elements in same tree to determine labeled control
...
Previously, when looking for the labeled control of a label element, we
were only checking its child elements. The specification says we should
check all elements in the same tree as the label element.
2024-05-18 11:04:04 +02:00
Tim Ledbetter
fc395716e9
LibWeb: Return NonnullGCPtr<DOMTokenList> from relList
getters
2024-05-18 11:03:49 +02:00
Timothy Flynn
b4af851c74
Meta: Update gcc version requirement to 13+
...
The project can no longer be compiled with gcc-12.
2024-05-17 15:40:07 -06:00
Timothy Flynn
688599af57
Meta: Update check for clang's major version
...
We require clang-17 as of 76df5ae030
, but
this check was not updated.
2024-05-17 15:40:07 -06:00
Idan Horowitz
26cff62a0a
Kernel: Rename Memory::PhysicalPage to Memory::PhysicalRAMPage
...
Since these are now only used to represent RAM pages, (and not MMIO
pages) rename them to make their purpose more obvious.
2024-05-17 15:38:28 -06:00
Idan Horowitz
827322c139
Kernel: Stop allocating physical pages for mapped MMIO regions
...
As MMIO is placed at fixed physical addressed, and does not need to be
backed by real RAM physical pages, there's no need to use PhysicalPage
instances to track their pages.
This results in slightly reduced allocations, but more importantly
makes MMIO addresses which end up after the normal RAM ranges work,
like 64-bit PCI BARs usually are.
2024-05-17 15:38:28 -06:00
Tim Ledbetter
d0555f3176
LibWeb: Flesh out DOMTokenList::supports()
implementation
...
This change makes `DOMTokenList::supports()` work as expected for
`relList` attributes.
2024-05-16 20:31:23 +02:00
Kenneth Myhra
1e60b4ec40
Toolchain: Set cpu_family in meson cross files to SERENITY_ARCH
2024-05-16 10:55:16 +02:00
dgaston
55fe04a6fa
Chess: Port application to GML
...
This commit ports the chess application to GML in order to
facilitate the addition of widgets in the future.
2024-05-16 07:41:05 +01:00
dgaston
10dbadced8
Chess: Add chess application to Chess namespace
...
This is required to port the application to GML.
2024-05-16 07:41:05 +01:00
Nico Weber
b6bbff5f3f
LibGfx/WebPWriter: Move VP8L compression to WebPWriterLossless.{h,cpp}
...
* Matches how the loader is organized
* `compress_VP8L_image_data()` will grow longer when we add actual
compression
* Maybe someone wants to write a lossy compressor one day
No behavior change.
2024-05-16 08:06:50 +02:00
Nico Weber
c0f67a0188
LibGfx/WebPWriter: Remove a copy in the animated frame writing code path
...
This code path now also compresses to memory once, and then writes to
the output stream.
Since the animation writer has a SeekableStream, it could compress to
the stream directly and fix up offsets later. That's more complicated
though, and keeping the animated and non-animated code paths similar
seems nice. And the drawback is just temporary higher memory use, and
the used memory is smaller than the memory needed by the input bitmap.
2024-05-16 08:06:50 +02:00
Nico Weber
0b06cbdca2
LibGfx/WebPWriter: Move frame data writing out of write_ANMF_chunk()
...
No behavior change. This also makes it clear that the conditional
alignment at the end can just be a VERIFY() instead of a conditional.
2024-05-16 08:06:50 +02:00
Nico Weber
768a7ea1e5
LibGfx/WebP: Split out ANMFChunk header data into ANMFChunkHeader
...
No behavior change.
2024-05-16 08:06:50 +02:00
Nico Weber
c183f73922
LibGfx/WebPWriter: Use write_VP8L_chunk() in animation frame writing
...
This code path still has a redundant copy of the compressed data
after this change, but it's less code this way.
No behavior change.
2024-05-16 08:06:50 +02:00
Nico Weber
885a3d8c5c
LibGfx/WebPWriter: One fewer copy of encoded data when saving still webp
...
Before, we used to compress the image data to memory, then make another
copy to memory, and then write to the output stream.
Now, we compress to memory once and then write to the output stream.
No behavior change.
2024-05-16 08:06:50 +02:00
Nico Weber
33acd4e747
LibGfx/WebPWriter: Extract another align_to_two() helper
2024-05-16 08:06:50 +02:00
Nico Weber
0175fff659
LibGfx/WebPWriter: Extract compress_VP8L_image_data() function
2024-05-16 08:06:50 +02:00
Tim Ledbetter
51fc30a191
LibWeb: Implement the HTMLLinkElement.relList
attribute
...
This returns a DOMTokenList that reflects the `rel` attribute.
2024-05-16 08:06:26 +02:00
Tim Ledbetter
fc4e0cf10e
LibWeb: Implement the HTMLFormElement.relList
attribute
...
This returns a DOMTokenList that reflects the `rel` attribute.
2024-05-16 08:06:26 +02:00
Tim Ledbetter
0a3e1846f0
LibWeb: Implement the HTMLAreaElement.relList
attribute
...
This returns a DOMTokenList that reflects the `rel` attribute.
2024-05-16 08:06:26 +02:00
Tim Ledbetter
b7fd39c2e6
LibWeb: Implement the HTMLAnchorElement.relList
attribute
...
This returns a DOMTokenList that reflects the `rel` attribute.
2024-05-16 08:06:26 +02:00
Tim Ledbetter
63246577d2
LibWeb: Use correct type for MessageEventInit.ports
...
This didn't work previously because the IDL generator used the
incorrect type for some types of sequences within dictionaries.
2024-05-16 08:04:01 +02:00
Tim Ledbetter
763b7f0e0c
LibWeb: Implement the HTMLOptionElement.form
attribute
...
This returns the parent form of a HTMLOptionElement or null if the
element has no parent form.
2024-05-16 08:03:13 +02:00
Tim Ledbetter
fe7df98d7d
LibWeb: Use correct IDL definition for CanvasImageData methods
...
It is now possible to pass an optional `ImageDataSettings` object to
the `CanvasImageData.createImageData()` and
`CanvasImageData.getImageData()` methods.
2024-05-16 08:02:59 +02:00