Andreas Kling
17a5c96b7c
LibWeb: Make a SharedBitmap struct for OOPWV bitmaps
...
Instead of having separate members for "bitmap ID" and "bitmap", let's
wrap them in a struct.
2021-09-17 14:39:42 +02:00
Andreas Kling
c8c3828b59
LibGfx: Avoid invalidation when Path::close() is a no-op
...
If the path is already closed, calling close() is a no-op, and we don't
need to invalidate the split lines cache.
2021-09-17 13:41:34 +02:00
Andreas Kling
32b9d80ee5
LibGfx: Make Painter::fill_path() take Path by const reference
...
Taking a mutable reference here made the API look very strange.
2021-09-17 13:41:03 +02:00
Andreas Kling
8c863ad959
LibGfx: Make Path::bounding_box() and Path::split_lines() const
...
Use a const_cast internally when segmentizing. As far as clients are
concerned, these are const operations.
2021-09-17 13:40:34 +02:00
Andreas Kling
5726017414
LibGfx: Move FastBoxBlurFilter to its own .cpp file
2021-09-17 13:20:18 +02:00
Andreas Kling
f9a38fa693
LibGfx: Don't use unbounded VLA's in FastBoxBlurFilter
...
These would cause the stack to overflow when LibWeb tried rendering a
CSS box-shadow for a large enough element.
Use Vector (with *some* inline capacity for smaller images) to avoid
this issue. If these heap allocations turn out to be too much work,
we can add something like a persistent scratch buffer cache.
2021-09-17 13:20:18 +02:00
Andreas Kling
4fcb1be734
LibWeb: Skip rendering box-shadow blur if we don't have memory for it
...
A slight loss in graphical fidelity is better than not rendering the
page at all.
2021-09-17 13:20:18 +02:00
Andreas Kling
850795e088
LibGfx: Make some coding style fixes to FastBoxBlurFilter
2021-09-17 13:20:18 +02:00
Andreas Kling
e2e6c12ea0
LibWeb: Make ComputedValues return larger items by const reference
2021-09-17 13:20:18 +02:00
Andreas Kling
11bb6e045f
LibWeb: Add the IdleDeadline interface from the RequestIdleCallback spec
2021-09-17 13:20:18 +02:00
Andreas Kling
64df30230d
LibWeb: Add HTML::Task::Source::IdleTask
...
This represents what the spec calls the "idle-task task source".
2021-09-17 13:20:18 +02:00
Andrew Kaster
99b526731e
CI: Add missing $
to Sonar Cloud build steps
...
Without the `$` GitHub Actions doesn't do the environment variable
replacement and CMake thinks we want a source directory of `./}}`
2021-09-17 11:03:27 +01:00
Mustafa Quraish
090962823b
PixelPaint: Allow selecting a custom aspect ratio for RectangleTool
...
If you enter a custom aspect ratio, and are not holding down shift,
the rectangle will be constrained to the entered aspect ratio
2021-09-17 11:54:13 +02:00
Mustafa Quraish
6ba3fc559f
PixelPaint: Allow selecting a custom aspect ratio for EllipseTool
...
If you enter a custom aspect ratio, and are not holding down shift,
the bounding rect for the ellipse will be constrained to the entered
aspect ratio
2021-09-17 11:54:13 +02:00
Mustafa Quraish
f14c891ba5
LibGfx+PixelPaint: Add Point::end_point_for_aspect_ratio
method
...
Previously we only had `Point::end_point_for_square_aspect_ratio`,
which was convenient for PixelPaint but assumed the aspect ratio
was always fixed at 1. This patch replaces it with a new mthod that
takes in an arbitrary aspect ratio and computes the end point based
off that.
There's some explicit casting going on in `Point.cpp` to ensure that
the types line up, since we're templating Point based on `T`.`
2021-09-17 11:54:13 +02:00
Brian Gianforcaro
5c244a7893
Meta: Set SERENITY_ARCH if it is not set in debug-kernel.sh
...
This appears to have regressed recently in commit 783a58dbc
.
2021-09-17 09:16:40 +00:00
Eyad Hossam
fe9e2f463c
Browser: Remove redundant tab::view() call from the tab constructor
2021-09-17 10:45:37 +03:00
Linus Groh
20337a34a2
LibJS: Convert Instant AOs to ThrowCompletionOr
2021-09-17 08:25:12 +01:00
Linus Groh
ea7cc70118
LibJS: Convert Duration AOs to ThrowCompletionOr
2021-09-17 08:25:12 +01:00
Linus Groh
f8d92232c8
LibJS: Convert Calendar AOs to ThrowCompletionOr
2021-09-17 08:25:12 +01:00
Tim Schumacher
dea43d88e7
Toolchain: Remove breaking mbstate_t define from clang
2021-09-17 00:14:57 +00:00
Liav A
44f5f72add
Kernel/Devices: Use try_create_device helper for SB16
2021-09-17 01:02:48 +03:00
Liav A
fd4397a430
Kernel/Devices: Use try_create_device helper for ConsoleDevice
2021-09-17 01:02:48 +03:00
Liav A
5e8dcb9ca7
Kernel/Devices: Move ConsoleDevice into the Devices source directory
2021-09-17 01:02:48 +03:00
Liav A
aee4786d8e
Kernel: Introduce the DeviceManagement singleton
...
This singleton simplifies many aspects that we struggled with before:
1. There's no need to make derived classes of Device expose the
constructor as public anymore. The singleton is a friend of them, so he
can call the constructor. This solves the issue with try_create_device
helper neatly, hopefully for good.
2. Getting a reference of the NullDevice is now being done from this
singleton, which means that NullDevice no longer needs to use its own
singleton, and we can apply the try_create_device helper on it too :)
3. We can now defer registration completely after the Device constructor
which means the Device constructor is merely assigning the major and
minor numbers of the Device, and the try_create_device helper ensures it
calls the after_inserting method immediately after construction. This
creates a great opportunity to make registration more OOM-safe.
2021-09-17 01:02:48 +03:00
Itamar
9aa6dd6b78
Kernel: Unblock tracer process in Process:unblock_waiters()
...
Since the tracer process may not be our parent process, we need to
explicitly unblock it (instead of the parent) if we are being traced.
2021-09-16 23:47:46 +02:00
Itamar
bb1ad759c5
Kernel: Allow calling sys$waitid on traced, non-child processes
...
Previously, attempting to call sys$waitid on non-child processes
returned ECHILD.
That prevented debugging non-child processes by attaching to them during
runtime (as opposed to forking and debugging the child, which is what
was previously supported).
We now allow calling sys$waitid on a any process that is being traced
by us, even if it's not our child.
2021-09-16 23:47:46 +02:00
Linus Groh
6b4777c558
LibJS: Convert prepare_temporal_fields() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
9ac426c906
LibJS: Convert to_positive_integer() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
2f56fd48ca
LibJS: Convert parse_temporal_year_month_string() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
14f16d9ed4
LibJS: Convert parse_temporal_time_zone_string() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
0ccd11ba5f
LibJS: Convert parse_temporal_time_string() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
f86fa12deb
LibJS: Convert parse_temporal_duration_string() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
3c530dec5a
LibJS: Convert parse_temporal_date_time_string() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
4cb6eaf588
LibJS: Convert parse_temporal_date_string() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
2e28f0b371
LibJS: Convert parse_temporal_calendar_string() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
4f487266b4
LibJS: Convert parse_temporal_instant_string() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
3112de6f35
LibJS: Convert parse_iso_date_time() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
8792fdfdf6
LibJS: Convert reject_temporal_calendar_type() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
8dd45a1ba2
LibJS: Convert validate_temporal_unit_range() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
448a364210
LibJS: Convert to_smallest_temporal_unit() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
92187591dd
LibJS: Convert to_largest_temporal_unit() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
dd483d84f8
LibJS: Convert to_seconds_string_precision() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
f8f074f8a9
LibJS: Convert to_temporal_rounding_increment() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
65d26dd25e
LibJS: Convert to_show_calendar_option() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
509d13cf67
LibJS: Convert to_temporal_rounding_mode() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
9f03647f1f
LibJS: Convert to_temporal_overflow() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
b1e7e62657
LibJS: Convert get_string_or_number_option() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
8d6ac267dc
LibJS: Convert Temporal::get_option() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00
Linus Groh
08dd1c3e2d
LibJS: Convert get_options_object() to ThrowCompletionOr
2021-09-16 22:34:24 +01:00