* Add doc comments to RequestBuilder fields/methods
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement Request::cryptographic_nonce_metadata
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement HTMLOrSVGElement::nonce
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Set request cryptographic nonce metadata for link elements
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Set request's cryptographic nonce when fetching scripts
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Forward request nonce to rust-content-security-policy
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Update WPT expectations
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Allow domain-like as URL location input
Before this patch, domain with subdomain (e.g. book.servo.org) won't be
treated as URL location.
This patch retifies that by adding Firefox's location bar behavior:
- book.servo.org is URL location
- book.servo.org. is URL location
- .book.servo.org is not URL location
Fixes#35754.
Signed-off-by: Kafji <k@kafji.net>
* Chain location input interpretation attempts
Signed-off-by: Kafji <k@kafji.net>
---------
Signed-off-by: Kafji <k@kafji.net>
Previously, the devtools didn't know about
<iframe>s. They either ignored messages coming from
iframes or crashed.
This reverts https://github.com/servo/servo/pull/34032
and then filters out non-tab globals in the "listTabs"
message to the root actor.
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* support CSS `will-change`
* update wpt-test result
* Enable css-will-change test
* Update css-will-change test results
* Check transformable before will-change; update wpt-results
* Solve merge conflict
* Update Cargo.toml and Cargo.lock
* Mark new failing test-cases
---------
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* layout: Fix behavior of `transform-style: preserve-3d`
This makes `transform-style: preserve-3d` establish a containing block
for all descendants, as specified here:
<https://drafts.csswg.org/css-transforms-2/#transform-style-property>
Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
* layout: Check for transformable elements
Adds a new `is_transformable` helper method and use this in several other
methods, including the methods for whether the fragment establishes a
new stacking context or a containing block for all descendants.
Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
* Use generic green square reference for reftest.
Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
* layout: Fix stacking context & containing block checks.
Only the computed value of `transform-style` should be used to determine
whether the element establishes a stacking context and/or a containing
block, not the used value.
Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
* Update clip-no-stacking-context test expectation to pass.
Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
---------
Signed-off-by: Daniel Hast <hast.daniel@protonmail.com>
This patch exposes a servo internal DOM API that is only made available to about:
pages on the navigator object to request memory reports. The about:memory page itself is
loaded like other html resources (eg. bad cert, net error) and makes use of this new API.
On the implementation side, notable changes:
- components/script/routed_promise.rs abstracts the setup used to fulfill a promise when the
work needs to be routed through the constellation. The goal is to migrate other similar
promise APIs in followup (eg. dom/webgpu/gpu.rs, bluetooth.rs).
- a new message is added to request a report from the memory reporter, and the memory reporter
creates a json representation of the set of memory reports.
- the post-processing of memory reports is done in Javascript in the about-memory.html page,
providing the same results as the current Rust code that outputs to stdout. We can decide
later if we want to remove the current output.
Signed-off-by: webbeef <me@webbeef.org>
When invalidating layout, computing dirty roots and such,
we want to work in the flat tree. That means that the
children of slots are their assigned slottables, parents
of assigned slottables are their slots and the children
of an element include children of a potential shadow dom.
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
In #35804 we fixed the bundlename, but I assumed the servoshell in
the grep expression was referring to the libraryname.
As it turns out the tracelines start with the bundlename,
so we need to update this name too.
This is the last line in the hos CI, and the grep
expression works locally so this time CI should really be fixed.
As already mentioned in the previous PR, we can't really test this
well, since this job only runs on self-hosted runners, which check out
the github action yaml version from the main branch.
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
This is another step in the move to having a per-WebView renderer. In
this step event handling is made per-WebView. Most events sent to Servo
are sent via the WebView API already, so this just moves more event
handling code to the per-WebView render portion of the compositor.
- ServoRenderer is given shared ownership and interior mutability as
it is now shared among all WebView(Renderers).
- Some messages coming from other parts of Servo must now carry a
WebViewId as well so that they can be associated with a particular
WebView.
- There needs to be some reorganization of `ServoRenderer` in order to
avoid issues with double borrow of `RefCells`.
Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
The `shell` suffix causes issues with the startup profiling tools on
OpenHarmony. The profiler fails to detect the start of the app.
This is fixed by renaming the app. I tried various
different variations and identified the `shell`
suffix to be the culprit.
E.g. `org.servo.shell` has the same issue, so its not
a length issue.
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Fixes the `--pref` enable hint to use `_` instead of dots.
Remove `--prefs-file` from the hint, since the hint is placed
directly after the long option. (The help line displayed as
`--prefs-file --prefs-file /path/to/prefs.json` before).
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
This function showed up as a top producer of allocations
(around 10% of all allocations).
Allocating the vector once upfront and using
`collect_into_vec` removes any intermediate allocations.
This approach is also recommended by the rayon documentation:
https://docs.rs/rayon/1.10.0/rayon/iter/trait.ParallelIterator.html#method.collect
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* The cancelable feature is optimized. If the cancelable feature is a non-cancelable feature, no message is sent back to the Compositor.
Add a warning log when prevent TouchsequenceInfo cannot be found.
Signed-off-by: kongbai1996 <1782765876@qq.com>
* fix Clippy Error Reported in the Pipeline.
Signed-off-by: kongbai1996 <1782765876@qq.com>
---------
Signed-off-by: kongbai1996 <1782765876@qq.com>