servo/components
Simon Wülker ee63174d6f
subtlecrypto: Don't throw exceptions twice when converting to Algorithm object (#34239)
* Don't throw exceptions twice when converting to Algorithm object

Removes match statements like
```rust
let Ok(ConversionResult::Success(algorithm)) = Algorithm::new(cx, value.handle())
else {
    return Err(Error::Syntax);
};
```
These don't cause issues if `Algorithm::new` returns `Ok(ConversionResult::Failure`,
but in the case of `Err(())` the implementation already called `throw_type_error`
and we must not throw an additional Syntax error, otherwise we'll crash.

Luckily, this case is already handled elsewhere by the
`value_from_js_object` macro.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Test that calling subtlecrypto methods with empty algorithm objects throws a TypeError

The WebCryptoAPI spec does not tell us which error to throw exactly, but
according to https://webidl.spec.whatwg.org/ it should be a TypeError.

This previously crashed servo.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-11-15 23:15:32 +00:00
..
allocator Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
background_hang_monitor Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
bluetooth Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
canvas feat: webxr feature flag (#34241) 2024-11-13 17:16:58 +00:00
compositing ohos: Add basic IME and keyboard support (#34188) 2024-11-15 15:04:48 +00:00
config Add js.disable_jit pref (#34231) 2024-11-13 06:50:30 +00:00
config_plugins add allow(non_camel_case_types) to generated pref structs (#33987) 2024-10-24 09:36:13 +00:00
constellation ohos: Add basic IME and keyboard support (#34188) 2024-11-15 15:04:48 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools DevTools: Fix console in Firefox 131 (#33661) 2024-10-09 12:09:06 +00:00
dom_struct Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
domobject_derive Replace ShouldNotImplDomObject with NoDomObjectInDomObject (#33627) 2024-10-03 12:58:34 +00:00
fonts ohos/android: Fix some compiler warnings (#34178) 2024-11-07 19:53:57 +00:00
geometry servoshell: Allow overriding screen resolution with a command-line argument (#34038) 2024-10-30 11:54:13 +00:00
hyper_serde Stop using time@0.1 in Servo (#33394) 2024-09-11 07:09:56 +00:00
jstraceable_derive Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
layout Plumb time profiler output into tracing (#34238) 2024-11-15 09:10:01 +00:00
layout_2020 Protect against arithmetic underflow in TableBuilder::current_y() (#34247) 2024-11-14 16:03:39 +00:00
layout_thread Plumb time profiler output into tracing (#34238) 2024-11-15 09:10:01 +00:00
layout_thread_2020 Plumb time profiler output into tracing (#34238) 2024-11-15 09:10:01 +00:00
media Use ROUTER::add_typed_route instead of ROUTER::add_route everywhere (#33866) 2024-10-18 10:47:52 +00:00
metrics Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
net Implement PolicyContainer and update the default ReferrerPolicy (#33977) 2024-11-08 07:19:23 +00:00
pixels Optimized unmultiply_inplace to remove fp ops (#33582) 2024-09-30 19:39:27 +00:00
profile Use ROUTER::add_typed_route instead of ROUTER::add_route everywhere (#33866) 2024-10-18 10:47:52 +00:00
rand crypto: Begin SubtleCrypto implementation (#33628) 2024-10-08 03:51:08 +00:00
range Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
script subtlecrypto: Don't throw exceptions twice when converting to Algorithm object (#34239) 2024-11-15 23:15:32 +00:00
servo ohos: Add basic IME and keyboard support (#34188) 2024-11-15 15:04:48 +00:00
shared ohos: Add basic IME and keyboard support (#34188) 2024-11-15 15:04:48 +00:00
url Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
webdriver_server Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
webgpu Only send mapping back on unmap when MapMode = WRITE (#34054) 2024-10-29 18:42:07 +00:00