| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
This data structure has all of the metrics needed to render a font and
is in `Au`. We'll need more of these metrics for implementing
`vertical-align` and its use doesn't increase the size of the Fragment
tree (as the BoxFragment is still larger). In addition, this will be
helpful when switching layout to `Au`.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first part of constructing the box tree for table layout. No
layout is actually done and the construction of tables is now hidden
behind a flag (in order to not regress WPT). Notably, this does not
handle anonymous table part construction, when the DOM does not reflect
a fully-formed table. That's part two.
Progress toward #27459.
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Manish Goregaokar <manishsmail@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use `Option` instead of `Result` when passing optional values into vector
Also renames vector and adds comment for clarity, just in case that's helpful
Signed-off-by: Joshua Holmes <joshua.phillip.holmes@gmail.com>
* Replace use of Option with new enum, , when seperating flex content
Signed-off-by: Joshua Holmes <joshua.phillip.holmes@gmail.com>
* Move global function body into the method
Signed-off-by: Joshua Holmes <joshua.phillip.holmes@gmail.com>
---------
Signed-off-by: Joshua Holmes <joshua.phillip.holmes@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove script_plugins
* Use crown instead of script_plugins
* crown_is_not_used
* Use crown in command base
* bootstrap crown
* tidy happy
* disable sccache
* Bring crown in tree
* Install crown from tree
* fix windows ci
* fix warning
* fix mac
libscript_plugins.dylib is not available anymore
* Update components/script/lib.rs
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Update for nightly-2023-03-18
Mostly just based off https://github.com/servo/servo/pull/30630
* Always install crown
it's slow only when there is new version
* Run crown test with `mach test-unit`
* Small fixups; better trace_in_no_trace tests
* Better doc
* crown in config.toml
* Fix tidy for real
* no sccache on rustc_wrapper
* document rustc overrides
* fixup of compiletest
* Make a few minor comment adjustments
* Fix a typo in python/servo/platform/base.py
Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
* Proper test types
* Ignore tidy on crown/tests
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
|
|
|
| |
The update of `max_block_size` here no longer happens.
|
|
|
|
|
|
| |
The changes in #30740, fixed an issue where certain characters should
prevent line break opportunity after atomics. This change extends that
to also apply to before atomics, which is what the specification says
should happen.
|
|
|
|
|
|
|
|
|
|
|
| |
We previously sent a " " to the linebreaker in order to ensure that the
next text had a soft wrap opportunity at the start. Calling `next(" ")`
without waiting until the returned index was 1, violated some
invariants of linebreaker ultimately causing a panic.
Instead of using the linebreaker for this, simply keep a flag in the
IFC layout state, which avoids the problem entirely.
Fixes #30703.
|
|
|
|
|
|
|
|
|
|
| |
* Add initial support for sticky positioning for non-legacy layout
Many tests still fail for a variety of reasons. One of the primary ones
is that CSSOM currently does not return correct values for elements
positioned by sticky nodes. This requires changes to WebRender to work
properly.
* Fix an assertion failure in the legacy layout sticky code
|
| |
|
|
|
|
|
|
| |
rightmost compound
Differential Revision: https://phabricator.services.mozilla.com/D180553
|
|
|
|
|
|
|
| |
Inline the attribute lookup code, and only branch on the attribute selector
type if we have found an attribute.
Differential Revision: https://phabricator.services.mozilla.com/D180531
|
| |
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D180530
|
| |
|
|
|
|
|
|
|
| |
It's an extra branch which in practice we almost never take, plus extra
checks during parsing.
Differential Revision: https://phabricator.services.mozilla.com/D180529
|
|
|
|
|
|
| |
Go through the slow path by default. No behavior change.
Differential Revision: https://phabricator.services.mozilla.com/D180528
|
|
|
|
|
|
|
| |
The only reason we pass the quirks mode around is to compute the case
sensitivity, but we can just pass the later.
Differential Revision: https://phabricator.services.mozilla.com/D180527
|
|
|
|
|
|
|
|
|
|
| |
Layer insertion may change the order of styles, so we may need to fully
invalidate.
Without this change, bug 1838045 makes
layer-statement-before-import.html fail.
Differential Revision: https://phabricator.services.mozilla.com/D180929
|
|
|
|
|
|
|
|
|
|
|
|
| |
At least when the containers are different.
For now check that by doing a somewhat simplified test (checking
sibling-ness).
The new flag can be useful to optimize container query restyles on
resizes too, in the future.
Differential Revision: https://phabricator.services.mozilla.com/D179268
|
|
|
|
|
|
|
|
| |
The CSS properties in the list are all shipped. Since we still don't support use
counter for developing CSS properties since this bug opens, I assume this
feature is not critical. Hence the removal of the comment.
Differential Revision: https://phabricator.services.mozilla.com/D180771
|
| |
|
|
|
|
|
|
| |
Move the flag to ComputedValueFlags, like `CONSIDERED_RELATIVE_SELECTOR`.
Differential Revision: https://phabricator.services.mozilla.com/D180726
|
|
|
|
|
|
|
| |
We don't ever check the particular property, so it can just be a
boolean.
Differential Revision: https://phabricator.services.mozilla.com/D180680
|
| |
|
| |
|
|
|
|
|
|
|
| |
Introduce LineWidth (which doesn't snap) and let BorderSideWidth
wrap it and actually do the snapping.
Differential Revision: https://phabricator.services.mozilla.com/D180688
|
| |
|
|
|
|
|
|
| |
(Regardless of visitedness)
Differential Revision: https://phabricator.services.mozilla.com/D180353
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix some bugs caught by css/cssom/shorthand-values. In particular:
* Make the shorthand order match the spec.
* Omit values when we can.
Fix a subtest that wasn't correct. Shorthands can be serialized as long
as !important matches in all components.
Differential Revision: https://phabricator.services.mozilla.com/D180466
|
|
|
|
|
|
| |
This doesn't change behavior.
Differential Revision: https://phabricator.services.mozilla.com/D180465
|
|
|
|
|
|
|
| |
Fairly straight-forward. This fixes the two tests mentioned in comment 0
which aren't still in the repo.
Differential Revision: https://phabricator.services.mozilla.com/D180414
|
| |
|
|
|
|
|
|
|
|
| |
This patch adds the ability to parse most CSS filters without a context.
OffscreenCanvas can use this on worker threads to provide support for
filter operations.
Differential Revision: https://phabricator.services.mozilla.com/D179994
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added NaN/inf serialization of <number> and changed calc() code to not
remove NaN/infinity in code using it.
This change is unfortunately imperfect as some things using <number>
still refuse to serialize NaN/infinity for some reason (scale()?), but
this bug/patch is just for <number> so leaving that out of scope for
this.
Also added new WPT test file for number NaN/inf serialization based
on existing serialization tests (all pass already!).
5 other WPT subtests now newly pass.
Differential Revision: https://phabricator.services.mozilla.com/D178587
|
|
|
|
|
|
|
|
|
|
| |
Apply some clang-tidy suggestions while I was going through the
ServoStyleConstsInlines while at it.
Remove one 0x test because it's tested on the same test and causes a
harness error.
Differential Revision: https://phabricator.services.mozilla.com/D180331
|
|
|
|
| |
Differential Revision: https://phabricator.services.mozilla.com/D180270
|
| |
|
|
|
|
|
|
|
| |
Turns out Servo doesn't need this either, see
https://github.com/servo/servo/pull/29850.
Differential Revision: https://phabricator.services.mozilla.com/D180264
|
| |
|
|
|
|
|
|
|
| |
Use in_place_scope_fifo to spawn work into the thread pool while doing
work in the main thread.
Differential Revision: https://phabricator.services.mozilla.com/D179492
|
|
|
|
|
|
| |
We ship this, and the front-end uses it by default, so remove the pref.
Differential Revision: https://phabricator.services.mozilla.com/D180222
|
|
|
|
|
|
|
|
|
|
| |
We send offset-position to the compositor, just like other similar
properties, e.g. offset-rotate, offset-anchor. This includes extracting
this animation value, doing serialization and sending it via IPC.
So now we can run the animation of ray() on the compositor properly.
Differential Revision: https://phabricator.services.mozilla.com/D179862
|
|
|
|
|
|
|
|
|
|
|
|
| |
We reuse PositionOrAuto here, and let "auto" represent the situation when the
author omits "at <position>" because it has a special meaning.
https://drafts.fxtf.org/motion-1/#valdef-ray-at-position
Note: No need to update css/motion/parsing/offset-path-parsing-valid.html
because Blink added some to the upstream repo already.
Differential Revision: https://phabricator.services.mozilla.com/D179860
|
|
|
|
|
|
|
|
| |
It's unnecessary to implement ToAnimatedZero for this property and so we
return Err(()), just like other properties which also use basic shapes,
e.g. clip-path, shape-outside.
Differential Revision: https://phabricator.services.mozilla.com/D179859
|
|
|
|
|
|
|
|
| |
Even tho https://github.com/rust-lang/rust/issues/112337 is IMO a rust
bug, it's easy to work around in our code and it doesn't really affect
expressiveness.
Differential Revision: https://phabricator.services.mozilla.com/D180065
|
| |
|
|
|
|
|
|
|
|
|
|
| |
an auto value
When the content having `content-visibility: auto` and the specific value for `contain-intrinsic-size` is slightly out of the viewport,
its computed value keeps changing.
This patch makes `content-visibilty: auto` forces `contain-intrinsic-size` to gain an auto value to solve this issue.
Differential Revision: https://phabricator.services.mozilla.com/D174583
|
| |
|
|
|
|
|
|
| |
We upgrade enumset alongside so that we keep only one copy of darling.
Differential Revision: https://phabricator.services.mozilla.com/D179651
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now it supports "normal" keyword. Also, offset-position doesn't create
stacking context and it doesn't have offset transform, so we can
simplify CompareMotionValues() a little bit.
Note: We don't have to add test in [1] because Blink added one to WPT
upstream repo already.
[1] css/motion/parsing/offset-position-parsing-valid.html
Note: the usage of offset-position is in other bugs.
Differential Revision: https://phabricator.services.mozilla.com/D179623
|