* manual implementation of an assign operation
* manual implementation of an assign operation
* single-character string
* manual cjheck for common ascii range
* Ignore spaces before atomic inline for the min-content size
For the min-content size we should wrap lines wherever is possible,
so wrappable spaces shouldn't increase the length of the line,
they will just be removed or hang at the end of the line.
* Add a clarifying comment
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* constants have by default a static lifetime
* constants have by default a static lifetime
* unneeded unit expression
* unneeded unit expression
* Box of default value
* casting raw pointers
* casting raw pointers
This requires passing through information about whether or not the
element in question is replaced when checking to see if it's
transformable and transitively all functions that make decisions about
containing blocks. A new FragmentFlag is added to help track this -- it
will be set on both the replaced items BoxFragment container as well as
the Fragment for the replaced item itself.
Fixes#31806.
* Fixed some clippy warnings in components/script/timers.rs
* Formatted changes in components/script/timers.rs
* Updated changes in components/script/timers.rs
* Updated Default implementation of JsTimers in components/script/timers.rs
* UPDATED DEFAULT METHOD IMPLEMENTATION OF JsTimers in components/script/timers.rs
This change also makes two fixes that are necessary to get WOFF2 fonts
working:
1. It adds support for loading web fonts from stylesheets included via
@import rules.
2. It ensure that when web fonts are loaded synchronusly they invalidate
the font cache. This led to incorrect font rendering when running
tests before.
Fixes#31598.
Instead of replacing Stylist's device on every reflow, only replace it
when the viewport changes. In addition, preserve the root font size from
the previous reflow fixing an issue where `rem` units were not properly
computed between reflows.
This fixes a bug where fonts that are sized using `rem` units change
size on reload.
* Fix table with rows but no column
We weren't generating any fragment for the rows, which meant that JS
APIs like clientWidth would be 0, and also outlines weren't painted.
This aligns Servo with Blink and WebKit. Gecko is broken, it distributes
twice the table height among the rows.
* Feedback
* Avoid conflict with #31874
The old logic was always picking the last baseline, but this should only
happen for inline-blocks.
Since replaced elements and flex containers aren't currently setting
their baselines, this is only an improvement for inline-tables.
Gecko, Blink and WebKit agree that the if a row only has empty cells,
its baseline should be at the bottom, not at the top.
There isn't interoperability when the cells are just empty-ish, so this
patch takes the simplest approach, aligning with Blink: any out-of-flow
or in-flow content other than collapsed whitespace counts as not empty.