* extract code into CachedFrozenArray
Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
* fix borrow crash
Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
* fix already borrowed error
using an else will cause the borrow to live more than it needs
Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
* restore return statement
Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
---------
Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
`dirs` does not support OpenHarmony, and it also seems that
there currently is no native API that `dirs` could use on
OpenHarmony and the directory needs to be read from ArkTS.
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
* Start implementing SubtleCrypto.deriveBits
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Move shared crypto operations into their own functions
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update some doclinks
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Remove note about potential no-op
It is, indeed, a no-op.
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Move normalized algorithm digest operation into its own function
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement mvp for pbkdf2 derivation
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Add missing division to derive bytes instead of bits
The length argument specifies the number of bits that
we need to derive, so we should divide it by 8 to
get the number of bytes.
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Allow using PBKDF2 with usage "importKey"
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Fix test-tidy errors
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Fix clippy warnings
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
Instead of doing so much zipping, which is confusing, create a temporary
data structure for each item that holds all relevant information. In
addition, add detailed specification text so it is easier to understand
what is going on.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Previously, when there were no more violations, the returned value for
line free space was incorrect for flexible length resolution. It was
returning the container main space minus the inner length of each item.
Free space is determined by the outer length though. Fix this by reusing
the `free_space()` function, but with an argument indicating that all
items are now frozen.
Fixes#34079.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This adds parallelism using rayon to the initial layout of flex lines
and line item. There is still no support for parallelism when laying out
line items again to account for stretch. This can be done in a followup
change.
In addition, the array of data for each line item is collected into a
new structure, `FlexLineItem`. This prevents a lot of needless zipping
of iterators at the expense of some new vector allocations. A folluwup
change can likely unify this structure and `FlexItemLayoutResult` though
that will require a larger refactor.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Make generated bindings that return a WebIDL `any` value use out parameters.
Returning raw JSVal values makes it easier to create GC hazards in code
that calls these methods. Accepting a MutableHandle argument instead
ensures that the values are rooted by the caller.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Update mozjs.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Fix clippy warnings.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
---------
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Return cached object from CryptoKey.algorithm getter
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Test that CryptoKey.algorithm returns a cached object
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Move duplicated code into a helper function
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
We don't need to floor the preferred box sizes to be at least zero,
since `used_size_as_if_inline_element_from_content_box_sizes()` will
take care of applying min and max constraints, and the min has been
floored to be at least zero.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
With the latest release (5.0) of the OpenHarmony SDK
libclang.dll is now available and we can support
building for OpenHarmony from windows hosts.
Other changes required for building OH on windows:
- We can't use the `<target_triple>-clang` wrappers, since
those are bash scripts, which fails on windows when cc-rs
tries to directly call them. However, we already pass all
the required flags the wrapper script would set, so this
is not an issue.
- We need to use posix paths, otherwise the sysroot parameter
will not be applied correctly (by bindgen). It seems to only
cause issues with bindgen in practice, possibly because
bindgen interprets the path with
[`shlex::split`](8a6d851318/bindgen/lib.rs (L312C27-L312C40))
which presumably causes the issues with windows paths.
To be consistent I decided to use posix paths for all paths.
- Fix checks for copying dlls. We need to check the target OS,
not the host OS when determining what libraries to copy.
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* frozen array in XRInputSourcesChangeEvent, update o_frozen_array doc
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* simplified changes
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* added tests
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
---------
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* rechecking all file changes and additions
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* added comments with specification links
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* added space before the links
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* modified the doc link format
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* suggested changes + updated interfaces.https.html + updated passing test expectations
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* needed to do an update-manifest
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* updated the idlharness.any.html expectations
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
---------
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
The logic varied quite a bit depending on the case, now it's unified.
This also fixes the following case where the iframe was 150px tall
instead of 50px:
```html
<iframe style="min-width: 400px; max-height: 50px"></iframe>
```
This also modifies video-intrinsic-width-height.html to expect the new
behavior that we share with Blink and WebKit. In fact WebKit already
modified this test but forgot to export the change upstream. Firefox is
different but it was already failing anyways.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Convert settings.gradle to Kotlin Script
Stage 1 of #33742
Signed-off-by: clocks <doomsdayrs@gmail.com>
* servoview-local: Convert build.gradle to Kotlin Script
Stage 1 of #33742
Signed-off-by: clocks <doomsdayrs@gmail.com>
* Convert build.gradle to Kotlin Script
This was a trickier one, as I wanted to maintain compatibility with the rest of the files while facilitating this migration.
Closures are annoying, another annoyance of loosely typed languages in an OOP project.
Migration of child build scripts will require the reverse code and or migration of this scripts functions to kotlin lambdas / functions (which are just jvm functions).
Code based off of the following guide.
https://docs.gradle.org/current/userguide/kotlin_dsl.html#groovy_closures_from_kotlin
Stage 1 of #33742
Signed-off-by: clocks <doomsdayrs@gmail.com>
* servoapp: Convert build.gradle to Kotlin Script
Migrated deprecated API usages.
There are two more, but ignored for now.
("splits.density", "capitalize")
Stage 1 of #33742
Signed-off-by: clocks <doomsdayrs@gmail.com>
* servoview: Convert build.gradle to Kotlin Script
Migrated deprecated API usages.
There are two more, but ignored for now.
("splits.density", "capitalize")
Stage 1 of #33742
Signed-off-by: clocks <doomsdayrs@gmail.com>
* servoview: Replace ResourceGroovyMethods with Kotlin File.walk
Signed-off-by: clocks <doomsdayrs@gmail.com>
* Replace Groovy Closures with Kotlin Lambda types
Stage 1 of #33742
Signed-off-by: clocks <doomsdayrs@gmail.com>
* Move Utility fields to buildSrc
Using extra fields is quite annoying and makes it hard to maintain
API stability.
"buildSrc" is designed for this task, and thus is being used
for said task.
This means that when editing build.gradle files in an Android Studio,
there is a direct reference to the source of a function.
(Easier time referring to documentation, source of function, etc).
More information here:
https://docs.gradle.org/current/userguide/sharing_build_logic_between_subprojects.html
Stage 1 of #33742
Signed-off-by: clocks <doomsdayrs@gmail.com>
* Sync target SDK to 33
Signed-off-by: clocks <doomsdayrs@gmail.com>
* Make Notification actions immutable.
Otherwise android lint will be upset.
Signed-off-by: clocks <doomsdayrs@gmail.com>
* Move dependencies from servoview to servoapp
ServoView does not use them.
Signed-off-by: clocks <doomsdayrs@gmail.com>
* Add POST_NOTIFICATIONS to manifest
Signed-off-by: clocks <doomsdayrs@gmail.com>
* Add host to intent-filter
Use "*" for any host, lets hope this works.
Signed-off-by: clocks <doomsdayrs@gmail.com>
* Solve ndkBuild tasks not being linked
The problem stems from something something groovy wishy washy unclear
execution order something Kotlin explicit execution order.
Merge tasks exist after the project is evaluated.
The problem is that simply running afterEvaluate causes an
ConcurrentModificationException. This is because of creating a new
task while looping over existing tasks. To remedy this we simply
filter the tasks first, than create and link the new task.
Signed-off-by: clocks <doomsdayrs@gmail.com>
* Add documentation to why some functions are extensions to Project
Signed-off-by: clocks <doomsdayrs@gmail.com>
* android: drop the host directives from AndroidManifest.xml
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
---------
Signed-off-by: clocks <doomsdayrs@gmail.com>
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
A recent refactoring (#33531) made a change that resulted in the
`Origin` header including the port even when the default port for a
scheme was used. This made the serialization different from that used
for `rust-url`'s `Origin::ascii_serialization()`, breaking CORS on some
sites. This change makes it so that the serialization is consistent
again.
This change also fixes the visiblity on a few methods in
`http_loader.rs` since visibility needs to be adjusted for testing
anyway.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>