davidot
2c87ff2218
LibJS: Add Symbol.dispose
2023-01-23 09:56:50 +00:00
davidot
a746739cb0
LibJS: Add an initialize binding hint to all initialize_binding methods
...
This will allow us to specify things like SyncDispose and perhaps
AsyncDispose in the future.
2023-01-23 09:56:50 +00:00
davidot
3353cf68f1
LibJS: Add SuppressedError{, Prototype, Constructor}
2023-01-23 09:56:50 +00:00
davidot
0d8bab82f0
LibJS: Add custom details to toBe{True, False} shown on failure
...
Any test with multiple expect(...).toBe{True, False} checks is very hard
to debug.
2023-01-23 09:56:50 +00:00
davidot
fa030d7b9c
LibJS: Clarify more errors in test-common
...
Without a message these just show 'ExpectationError' even if the check
has multiple steps.
2023-01-23 09:56:50 +00:00
Aliaksandr Kalenik
802d9336f0
LibWeb: Use CSS Pixels for overflow clip rect
2023-01-23 10:21:23 +01:00
Cameron Youell
3bd96f29d2
Ladybird: Add LocationEdit Highlighting
2023-01-22 21:15:22 -07:00
Cameron Youell
b97f9f5809
Ladybird: Make LocationEdit its own class
...
Also make return key behave more like other browsers when editing
2023-01-22 21:15:22 -07:00
Sam Atkins
926e61dec6
LibCards: Use AK::shuffle() for shuffling new decks
2023-01-22 21:31:36 +00:00
Sam Atkins
c7a66882f4
AK: Make NonnullPtrVectors shuffleable
...
AK::shuffle() doesn't work on these, because their operator[] returns a
reference to the pointed-at value, instead of to the NonnullPtr itself.
2023-01-22 21:31:36 +00:00
Sam Atkins
ccabc8e930
LibCards+Games: Return ErrorOr from CardStack::add_all_grabbed_cards()
...
...and CardGame::pick_up_cards_from_stack() which is its only caller.
2023-01-22 21:31:36 +00:00
Sam Atkins
c7c4d70f6e
LibCards+Games: Return ErrorOr from deck-creation factory functions :^)
...
Also, be smarter about appending cards to the deck: we can
unchecked_append them to the deck, since we already ensured enough
capacity earlier.
2023-01-22 21:31:36 +00:00
Sam Atkins
0855e9f014
LibCards+Game: Return ErrorOr from CardGame::drop_cards_on_stack()
2023-01-22 21:31:36 +00:00
Sam Atkins
8b3a94ffbc
LibCards+Games+GamesSettings: Return ErrorOr from CardStack::push()
...
Very few of these calls can propagate their errors yet, but one step at
a time. :^)
2023-01-22 21:31:36 +00:00
Sam Atkins
83687f85df
LibCards+Solitaire: Rename CardStack::move_to_stack()
-> take_all()
...
`a.move_to_stack(b)` sounded too much like it moves a's cards to b, when
it actually moves b's cards to a.
2023-01-22 21:31:36 +00:00
Nico Weber
3423b54eb9
LibTextCodec: Make utf-16be and utf-16le codecs actually work
...
There were two problems:
1. They didn't handle surrogates
2. They used signed chars, leading to eg 0x00e4 being treated as 0xffe4
Also add a basic test that catches both issues.
There's some code duplication with Utf16CodePointIterator::operator*(),
but let's get things working first.
2023-01-22 21:30:44 +00:00
Nico Weber
aa9037eed4
AK: Add spec comments to Utf16CodePointIterator::operator*()
2023-01-22 21:30:44 +00:00
Nico Weber
401246ae21
LibJS: Use is_unicode_surrogate more
...
No behavior change.
2023-01-22 21:27:32 +00:00
Nico Weber
868b358b1a
LibJS: Add spec comments to quote_json_string
2023-01-22 21:27:32 +00:00
Nico Weber
ba97f471ca
LibJS: Add spec comments to CodePointAt
2023-01-22 21:27:32 +00:00
Timothy Flynn
ef275e25b8
AK: Reduce String's allocated data by one byte
...
This was copied from allocation_size_for_stringimpl, which had to ensure
the string is null-terminated. String makes no such guarantee.
2023-01-22 20:27:52 +00:00
Karol Kosek
c111536f28
LibGfx: Port JPGLoader to Core::Stream
2023-01-22 20:58:42 +01:00
Karol Kosek
2d976ab2a6
AK: Define is_trivially_serializable trait for Little and BigEndian<>
...
This will allow us get LittleEndian<> and BigEndian<> wrapped types
directly from Stream::read_value<>().
2023-01-22 20:58:42 +01:00
Karol Kosek
c39d3c30b7
LibGfx: Return stream errors when reading a marker in JPGLoader
2023-01-22 20:58:42 +01:00
Tim Schumacher
a9eea2e0c4
LibDebug: Use Core::Stream
to read opcodes for expression evaluation
2023-01-22 19:12:26 +01:00
Tim Schumacher
91505d8cf3
LibDebug: Port the rest of DWARF parsing to Core::Stream
2023-01-22 19:12:26 +01:00
Tim Schumacher
e62269650a
LibDebug: Propagate errors throughout DWARF parsing
...
Splitting this into a separate commit was an afterthought, so this does
not yet feature any fallible operations.
2023-01-22 19:12:26 +01:00
Tim Schumacher
e235c42e4d
LibDebug: Parse DWARF address ranges using Core::Stream
2023-01-22 19:12:26 +01:00
Tim Schumacher
908b88db34
LibDebug: Use Core::Stream
to read the DWARF abbreviations map
2023-01-22 19:12:26 +01:00
MacDue
9b35e3d95b
Base: Add test page for canvas gradients
2023-01-22 18:15:52 +01:00
MacDue
27a3e11f02
LibWeb: Implement the canvas gradients
...
This gets:
- CanvasRenderingContext2D.createLinearGradient()
- CanvasRenderingContext2D.createConicGradient()
- CanvasRenderingContext2D.createRadialGradient()
Actually working as fill styles for paths and rectangles :^)
Getting them working for strokes is left as an exercise is
left as an exercise for the reader.
2023-01-22 18:15:52 +01:00
MacDue
24cb57ac88
LibWeb: Update CRC2D .fillStyle and .strokeStyle to accept gradients
...
While doing add some structures to hold these new fill styles and
plumb them over to the painter.
2023-01-22 18:15:52 +01:00
MacDue
2be4142138
Meta: Register CanvasGradient as a platform object
2023-01-22 18:15:52 +01:00
MacDue
1a89d77688
LibGfx: Implement paint styles required for HTML canvas gradients
...
This implements the gradients for:
- CanvasRenderingContext2D.createLinearGradient()
- CanvasRenderingContext2D.createConicGradient()
- CanvasRenderingContext2D.createRadialGradient()
As loosely defined in: https://html.spec.whatwg.org/multipage/canvas.html#fill-and-stroke-styles
(It's really not very well defined for radial gradients)
Actual implementation (for radial gradients) was done with a lot
of trial and error, then visually comparing to other browsers.
2023-01-22 18:15:52 +01:00
MacDue
f3c0987afe
LibGfx: Add Painter::fill_rect(rect, paint_style)
...
The usual fill_rect()... but with style :^)
2023-01-22 18:15:52 +01:00
MacDue
223cedc896
LibGfx: Update fill_path() to support taking a PaintStyle
...
This means fill_path() now paints the scanlines its self rather than
calling draw_line() which easily allows each pixel along the scanline
to have a different color.
2023-01-22 18:15:52 +01:00
MacDue
b31d768e95
LibGfx: Add paint styles and allow gradients to be used as them
...
Also while here add option to disable pre-multiplied alpha for gradients
(this will be handy later).
2023-01-22 18:15:52 +01:00
Nico Weber
19ce63babf
icc: Print MultiLocalizedUnicodeTagData contents
2023-01-22 15:25:58 +00:00
Nico Weber
3bc70d7aa5
icc: Print TextTagData contents
2023-01-22 15:25:58 +00:00
Nico Weber
ec7a2058a2
LibGfx: Add ICCProfile support for multiLocalizedUnicodeType
...
This is used in v4 profiles for the required 'cprt' and 'desc' tags.
2023-01-22 15:25:58 +00:00
Nico Weber
3dfb012a1a
LibGfx: Add ICCProfile support for textType
...
This is used in v2 profiles for the required 'cprt' tag.
2023-01-22 15:25:58 +00:00
Nico Weber
d33eef14a0
LibGfx: Minorly simplify a line of code in ICCProfile with OptionalNone
...
No behavior change.
2023-01-21 22:16:38 -05:00
Nico Weber
b56a145a67
LibGfx+icc: Make device manufacturer and device model clickable
2023-01-21 22:16:38 -05:00
Timothy Flynn
243caa8fa9
LibJS: Port the VM's single-character ASCII strings to String
...
This creates the Strings representing the ASCII characters at compile
time, then creates the PrimitiveStrings from those Strings when the VM
is created.
2023-01-22 01:03:13 +00:00
Timothy Flynn
12c8bc3e85
AK: Add a String factory to create a string from a single code point
2023-01-22 01:03:13 +00:00
Timothy Flynn
8aca8e82cb
AK: Change String's default constructor to be constant
...
This allows creating expressions such as:
constexpr Array<String, 10> {};
2023-01-22 01:03:13 +00:00
Timothy Flynn
34574c5ee8
LibJS+LibWeb: Convert empty PrimitiveString invocators to String
2023-01-22 01:03:13 +00:00
Timothy Flynn
1bcde5d216
LibJS: Port ListFormat and PatternPartition to String
2023-01-22 01:03:13 +00:00
Timothy Flynn
20536897e4
LibJS+LibLocale: Port remaining locale APIs to String
2023-01-22 01:03:13 +00:00
Andrew Kaster
d73a143004
LibC: Remove #ifdef KERNEL guard from stddef.h
...
We aren't including this from the Kernel anywhere anymore, so let's
simplify the file.
2023-01-21 10:43:59 -07:00