this is less user friendly as GitHub checks but has bigger content limits
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Add document id to NewWebRenderFrame variant
Signed-off-by: Wu Wayne <yuweiwu@pm.me>
* Match the arguments order
Signed-off-by: Wu Wayne <yuweiwu@pm.me>
---------
Signed-off-by: Wu Wayne <yuweiwu@pm.me>
* ohos: Bump minimum CMake version
By bumping the minimum CMake version, we avoid a deprecation warning.
The OH 4.0 SDK ships with CMake 3.16, so we can be sure that we have CMake 3.16
or newer available.
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
* ohos: Allow passing arguments to servoshell
Allows passing options passed via `wants` to the Ability through to servoshell.
This allows easier debugging, either by calling servoshell from a test app,
or from the commandline, e.g.
```
hdc shell aa start -a EntryAbility -b org.servo.servoshell -U "https://www.wikipedia.org" \
--pb dom.webgpu.enabled true \
--ps dom.webgpu.wgpu_backend "gl" \
--pi layout.threads 4
```
Note: While the OH `wants` API differentiates between boolean, string and integer values, we convert
everything back to strings, so we can reuse the same parsing code as the desktop servoshell.
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
---------
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
After #33577, `get_outer_sizes_from_style()` is only used for column and
cell measures. For these it's expected to ignore sizing keywords like
`min-content`, so rename the function to `get_outer_sizes_for_measurement()`.
Additionally, both callers need the percentage contribution, so include
it in the returned tuple.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Instead of a blocking a layout thread on the generation of WebRender
`FontKey`s and `FontInstanceKey`s, generate the keys ahead of time and
send the font data to WebRender asynchronously. This has the benefit of
allowing use of the font much more quickly in layout, though blocking
display list sending itself on the font data upload.
In order to make this work for web fonts, `FontContext` now asks the
`SystemFontService` for a `FontKey`s and `FontInstanceKey`s for new web
fonts. This should happen much more quickly as the `SystemFontService`
is only blocking in order to load system fonts into memory now. In
practice this still drops layout thread blocking to fractions of a
millisecond instead of multiple milliseconds as before.
In addition, ensure that we don't send font data or generate keys for
fonts that are used in layout but never added to display lists. This
should help to reduce memory usage and increase performance.
Performance of this change was verified by putting a microbenchmark
around `FontContext::create_font` which is what triggered font key
generation.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This adds a 'is_fetchable()' method on the ProtocolHandler trait that is then used in the fetch code.
The 'data:' protocol handler is updated to return true instead of hardcoding the scheme comparison, as well
as the 'urlinfo:' handler since it's just a testing one.
Signed-off-by: webbeef <me@webbeef.org>
CAPMIN is the largest min-content contribution of the table captions.
In Servo, the standard way to compute min/max-content contributions is
`outer_inline_content_sizes()`, so just use that instead of reinventing
the wheel.
This also fixes cyclic percentages to resolve consistently with normal
block boxes.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This will allow callers to start obeying `min-content`, `max-content`,
`fit-content` and `stretch` in follow-up patches.
The old functionality is kept as deprecated methods that we should
eventually remove.
This patch has very little impact on the existing behavior, just some
very minimal implementation of the keywords for css tables.
This also overhauls fixed-layout-2.html since:
- It had code that wasn't doing anything
- It had wrong expecations in prose
- The logic seemed broken in general
- All browsers were failing one testcase
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Move `--flavor` to a new "Packaging options" group, so that
we can only apply the flavor option to the commands that support it.
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* Fix table track constraindness
Only as size that isn't `auto` and doesn't contain percentages can constrain
a table track (https://drafts.csswg.org/css-tables/#constrainedness).
However, in a bunch of cases we were only checking for `auto`.
Also, we were allowing the inline-size of a cell to constrain both its
column and row. Using the block-size of the row makes more sense.
The spec doesn't define constrainedness for rows, though.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Apply suggestions from code review
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
---------
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
We have improved the logic for computing intrinsic sizes, and apparently
we are no longer getting a `ContentSizes` whose `min_content` is greater
than the `max_content`.
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* ohos: Support product flavors
Support different product flavors (e.g. with different signing
configurations) by supporting --flavor on ohos.
The flavor influences the package path for OH packages, so
allow the flavor parameter on build + package + install
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* Fix smoketest
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
---------
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
* Improve readability of code
Signed-off-by: Daniel Frantes <danfrantes@seznam.cz>
* Fix style issue
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
---------
Signed-off-by: Daniel Frantes <danfrantes@seznam.cz>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>