* Update layout of servoshell android app
Signed-off-by: Daniel Adams <msub2official@gmail.com>
* Remove gap after loop/idle text
Signed-off-by: Daniel Adams <msub2official@gmail.com>
---------
Signed-off-by: Daniel Adams <msub2official@gmail.com>
This avoids having to do unnecessary layout work and
prevents resize events from accumulating, which looks
weird.
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
From https://drafts.csswg.org/css-flexbox-1/#intrinsic-cross-sizes,
> The min-content/max-content cross size of a single-line flex container
> is the largest min-content contribution/max-content contribution
> (respectively) of its flex items.
We were using the min/max-content size instead of the min/max-content
contribution.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Impl PartialEq and Eq for DomObject
Signed-off-by: Taym <haddadi.taym@gmail.com>
* move to Eq and PartialEq to domobject_derive
Signed-off-by: Taym <haddadi.taym@gmail.com>
---------
Signed-off-by: Taym <haddadi.taym@gmail.com>
- Previously on fedora `./mach bootstrap` would always detect it needs to
reinstall packages and require root permissions.
- use custom queryformat for `rpm -qa` to to just get the package name
(e.g. `openssl-libs` instead of `openssl-libs-3.2.2-3.fc40.i686`
- Use a list to store the output result instead of one string
- Fedora (40) installs `zlib-ng` instead of `zlib` and `libjpeg-turbo` instead
of `libjpeg`, meaning that `rpm` / dnf commands report `zlib` as not installed.
Specifying the actually installed package avoids this problem.
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
self.config["android"]["target"] is unset, causing an exception.
We can just use self.target.triple() instead.
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* Update FakeXRDevice to support updating bounds
Signed-off-by: Daniel Adams <msub2official@gmail.com>
* Add missing spec link
Signed-off-by: Daniel Adams <msub2official@gmail.com>
* Mark secondaryViews as optional in FakeXRDevice.setViews
Signed-off-by: Daniel Adams <msub2official@gmail.com>
---------
Signed-off-by: Daniel Adams <msub2official@gmail.com>
In particular, this takes into account that flex items may be stretched,
and if they have an aspect ratio, we ma6y need to convert the stretched
size through the ratio.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
`std::time` is good enough for us here. `cookie` is using `time 0.3`,
but Servo can convert to standard library types when getting data from
`cookie`. This reduces our direct dependencies and removes more use of
the very old `time 0.1` series.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Update wgpu to include local const
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* set expectations
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
This switches to using `std::time` types for DOM timer operations, which
allows removing our custom time units in favor of `Duration`.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Rely on callbacks from the vertical synchronization driver,
to drive presentation.
Future commits will base animation updates and touchless
gestures like fling off these vsync events.
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Use `std::time` from the Rust standard library instead. This is one step
toward removing our use of the legacy `time` crate which has security
issues.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
When computing the automatic minimum size, flex layout was using the
natural aspect ratio, ignoring the `aspect-ratio` property.
`ReplacedContent::inline_size_over_block_size_intrinsic_ratio()` is now
made private to avoid more accidental uses.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
`main_content_size_info()` was always assigning the main-axis automatic
minimum size into the inline axis. But in a column flexbox, the main
axis corresponds to the block axis.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
We were only handling the aspect ratio of a replaced element when
computing its min/max-content contribution, but not when computing
the min/max-content size. Now both cases will take it into account.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
`layout` already uses `icu_segmentation` so there's no need to pull in
another segmenter. This reduces the number of segmenters used in the
crate to 2 from 3.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
When computing the min-content or max-content size of an element we
need to ignore `inline-size`, `min-inline-size` and `max-inline-size`.
However, we should take the block-axis sizing properties into account.
That's because the contents could have percentages depending on them,
which can then affect their inline size via an aspect ratio.
Therefore, this patch adds `IndefiniteContainingBlock`, which is similar
to `ContainingBlock`, but it allows an indefinite inline-size. This
struct is then passed arround during intrinsic sizing.
More refinement will be needed in follow-up patches in order to fully
address the problem.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
When laying out the contents of a flex item, we used to resolve their
cross-axis percentages against the preferred cross size of the item.
Now we will take the min and max cross sizes into account.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Bump xi_unicode to latest version
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
* dep: update XI_LINE_BREAKING_CLASS_ZWJ constant to 42
This matches the value returned by xi-unicode's linebreak_property
for `u200D` codepoint in v0.3.0 of the crate.
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
---------
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
The GitHub search API is a bit sensitive. There isn't a great way to
search for the repository organization and the branch name when looking
for open PRs. Instead use the bot username as the author name, which
should likely have been having before. This fixes the WPT export job.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Remove WebVR prefs, enable OpenXR by default
Signed-off-by: Daniel Adams <msub2official@gmail.com>
* Prefer OpenXR if available, otherwise use GLWindow
Signed-off-by: Daniel Adams <msub2official@gmail.com>
---------
Signed-off-by: Daniel Adams <msub2official@gmail.com>