Commit graph

724 commits

Author SHA1 Message Date
WPT Sync Bot
f0bb7a6f9c Update web-platform-tests to revision b'02400d32d48521baa38663fe8601779994fcfb78' 2023-05-21 01:38:11 +00:00
WPT Sync Bot
06e9d5a631 Update web-platform-tests to revision b'c9946198c9ee19db3b4974a388fae45da844a94a' 2023-05-14 01:39:34 +00:00
WPT Sync Bot
9b45fdb3f5 Update web-platform-tests to revision b'8d8b273d2265095c7f5330ff231940e68fb49754' 2023-05-07 01:31:13 +00:00
Martin Robinson
0c13fcb9f2 Rework CB management during stacking context tree construction
Manage containing blocks and WebRender SpaceAndClip during stacking
context tree constuction using the ContainingBlockInfo data structure.
This will allow us to reuse this data structure whenever we traverse the
fragment tree. In addition, StackingContextBuilder is no longer
necessary at all. This change also fixes some bugs where fixed position
fragments were not placed in the correct spatial node. Unfortunately,
these fixes are difficult to test because of #29659.
2023-05-03 10:43:56 +02:00
bors-servo
c92ea9774f
Auto merge of #29686 - Loirooriol:normalize-border-radius, r=mrobinson
Normalize corner radii that add up to > 100%

WebRender already seems to be doing this normalization, but this is needed by inner_radii in order to properly compute the reduced radii when background-clip is content-box or padding-box.

This will also be needed for expanding the radii for box-shadow or outline.

Test: css/css-backgrounds/background-rounded-image-clip-002.html

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #29685 (GitHub issue number if applicable)

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
2023-05-01 18:48:49 +02:00
Oriol Brufau
678b590f80 Normalize corner radii that add up to > 100%
WebRender already seems to be doing this normalization, but this is
needed by inner_radii in order to properly compute the reduced radii
when background-clip is content-box or padding-box.

This will also be needed for expanding the radii for box-shadow or
outline.

Test: css/css-backgrounds/background-rounded-image-clip-002.html
2023-05-01 02:17:54 +02:00
WPT Sync Bot
44e249bebb Update web-platform-tests to revision b'797e75946c24d0625f04247b16d33c26d4ada273' 2023-04-30 01:30:40 +00:00
Oriol Brufau
2692426103 Fix text-decoration for block containers in layout-2020
It was only applied to the 1st inline formatting context of a block
container. Other IFCs were created with the Default trait, implying
TextDecorationLine::NONE.
2023-04-26 20:44:01 +02:00
Oriol Brufau
c842023741 Support text-indent in layout-2020
Existing WPT now passing:
  - _mozilla/css/text_indent_a.html
  - css/CSS2/css1/c71-fwd-parsing-002.xht
  - css/CSS2/css1/c71-fwd-parsing-004.xht
  - css/CSS2/floats-clear/floats-138.xht
  - css/CSS2/text/text-indent-007.xht
  - css/CSS2/text/text-indent-008.xht
  - css/CSS2/text/text-indent-010.xht
  - css/CSS2/text/text-indent-019.xht
  - css/CSS2/text/text-indent-020.xht
  - css/CSS2/text/text-indent-031.xht
  - css/CSS2/text/text-indent-032.xht
  - css/CSS2/text/text-indent-043.xht
  - css/CSS2/text/text-indent-044.xht
  - css/CSS2/text/text-indent-055.xht
  - css/CSS2/text/text-indent-056.xht
  - css/CSS2/text/text-indent-067.xht
  - css/CSS2/text/text-indent-068.xht
  - css/CSS2/text/text-indent-079.xht
  - css/CSS2/text/text-indent-080.xht
  - css/CSS2/text/text-indent-091.xht
  - css/CSS2/text/text-indent-092.xht
  - css/CSS2/text/text-indent-103.xht
  - css/CSS2/text/text-indent-104.xht
  - css/CSS2/text/text-indent-112.xht
  - css/CSS2/text/text-indent-113.xht
  - css/CSS2/text/text-indent-115.xht
  - css/CSS2/text/text-indent-applies-to-002.xht
  - css/CSS2/text/text-indent-applies-to-003.xht
  - css/CSS2/text/text-indent-applies-to-005.xht
  - css/CSS2/text/text-indent-applies-to-006.xht
  - css/CSS2/text/text-indent-applies-to-007.xht
  - css/CSS2/text/text-indent-applies-to-008.xht
  - css/CSS2/text/text-indent-applies-to-009.xht
  - css/CSS2/text/text-indent-applies-to-010.xht
  - css/CSS2/text/text-indent-applies-to-011.xht
  - css/CSS2/text/text-indent-applies-to-014.xht
  - css/CSS2/text/text-indent-applies-to-015.xht
  - css/CSS2/text/text-indent-inherited-001.xht
  - css/CSS2/text/text-indent-overflow-001.xht
  - css/CSS2/text/text-indent-overflow-002.xht
  - css/CSS2/text/text-indent-overflow-003.xht
  - css/CSS2/text/text-indent-overflow-004.xht
  - css/CSS2/text/text-indent-wrap-001.xht
  - css/css-text-decor/text-shadow/textindent.html
  - css/css-text/text-indent/text-indent-percentage-001.xht
  - css/css-text/text-indent/text-indent-percentage-002.html
  - css/css-text/text-indent/text-indent-percentage-003.html
  - css/css-text/text-indent/text-indent-percentage-004.html
  - css/css-values/minmax-length-percent-serialize.html
  - css/css-values/minmax-length-serialize.html

Also improvements in:
  - _mozilla/mozilla/calc.html
  - css/css-text/animations/text-indent-interpolation.html
  - css/css-text/inheritance.html
  - css/css-text/parsing/text-indent-computed.html
  - css/css-text/parsing/text-indent-valid.html
  - css/css-transitions/properties-value-implicit-001.html
  - css/css-values/animations/calc-interpolation.html
  - css/css-values/minmax-percentage-serialize.html
  - css/css-values/viewport-units-css2-001.html
  - css/css-variables/variable-substitution-basic.html
  - css/cssom/serialize-values.html

Existing WPT now failing, due to lack of direction, outside list markers,
flex and grid:
  - css/CSS2/text/text-indent-rtl-001.xht
  - css/CSS2/text/text-indent-rtl-002.xht
  - css/css-pseudo/marker-content-023.html
  - css/css-text/text-indent/anonymous-flex-item-001.html
  - css/css-text/text-indent/anonymous-grid-item-001.html

New WPT tests:
 - css/css-text/text-indent/text-indent-length-001.html
 - css/css-text/text-indent/text-indent-length-002.html
   This one fails in layout-2013.
2023-04-25 23:01:07 +02:00
WPT Sync Bot
ea44238f3a Update web-platform-tests to revision b'6aa16a6888fcf6dd3ee2eac2e911c2d7c353d193' 2023-04-25 11:40:51 +00:00
WPT Sync Bot
40def0914a Update web-platform-tests to revision b'a3cb53d786edfd9106825e312866624150382075' 2023-04-23 01:36:19 +00:00
WPT Sync Bot
75286b8eab Update web-platform-tests to revision b'f0b66362cc5dec54d81e0a56458b48f310a2eba9' 2023-04-16 01:29:26 +00:00
bors-servo
39ba7fbb94
Auto merge of #29594 - delan:minmax-positioned, r=mrobinson
Handle min/max sizes in non-replaced positioned boxes

This patch makes HoistedAbsolutelyPositionedBox handle min/max sizes in the non-replaced case, per CSS2 [#min-max-widths](https://drafts.csswg.org/css2/#min-max-widths) and [#min-max-heights](https://drafts.csswg.org/css2/#min-max-heights). No changes are made to the replaced case.

3 new tests:

* /css/CSS2/positioning/absolute-non-replaced-max-001.html (fails under layout 2013)
* /css/CSS2/positioning/absolute-non-replaced-min-001.html (fails under layout 2013)
* /css/CSS2/positioning/absolute-non-replaced-min-max-001.html (passes under layout 2013)

13 tests now pass:

* [/css/CSS2/positioning/absolute-non-replaced-max-height-002.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-002.xht)
* [/css/CSS2/positioning/absolute-non-replaced-max-height-003.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-003.xht)
* [/css/CSS2/positioning/absolute-non-replaced-max-height-007.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-007.xht)
* [/css/CSS2/positioning/absolute-non-replaced-max-height-008.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-008.xht)
* [/css/CSS2/positioning/absolute-non-replaced-max-height-009.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-009.xht)
* [/css/CSS2/positioning/absolute-non-replaced-max-height-011.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-011.xht)
* [/css/CSS2/positioning/absolute-non-replaced-width-025.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-width-025.xht)
* [/css/CSS2/positioning/absolute-non-replaced-width-026.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-width-026.xht)
* [/css/CSS2/positioning/abspos-change-in-inline-block.html](https://wpt.live/css/CSS2/positioning/abspos-change-in-inline-block.html)
* [/css/CSS2/positioning/abspos-width-change-inline-container-001.html](https://wpt.live/css/CSS2/positioning/abspos-width-change-inline-container-001.html)
* [/css/CSS2/positioning/detach-abspos-before-layout.html](https://wpt.live/css/CSS2/positioning/detach-abspos-before-layout.html)
* [/css/CSS2/positioning/relpos-percentage-left-in-scrollable-2.html](https://wpt.live/css/CSS2/positioning/relpos-percentage-left-in-scrollable-2.html)
* [/css/CSS2/positioning/relpos-percentage-left-in-scrollable.html](https://wpt.live/css/CSS2/positioning/relpos-percentage-left-in-scrollable.html)

11 tests would now pass if `<br>` was inserted between the two `<img>` tags in the reference (#29591):

* [/css/CSS2/positioning/absolute-non-replaced-height-003.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-003.xht)
* [/css/CSS2/positioning/absolute-non-replaced-height-004.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-004.xht)
* [/css/CSS2/positioning/absolute-non-replaced-height-005.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-005.xht)
* [/css/CSS2/positioning/absolute-non-replaced-height-010.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-010.xht)
* [/css/CSS2/positioning/absolute-non-replaced-height-011.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-011.xht)
* [/css/CSS2/positioning/absolute-non-replaced-height-012.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-height-012.xht)
* [/css/CSS2/positioning/absolute-non-replaced-max-height-004.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-004.xht)
* [/css/CSS2/positioning/absolute-non-replaced-max-height-005.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-005.xht)
* [/css/CSS2/positioning/absolute-non-replaced-max-height-006.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-006.xht)
* [/css/CSS2/positioning/absolute-non-replaced-max-height-010.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-010.xht)
* [/css/CSS2/positioning/absolute-non-replaced-max-height-012.xht](https://wpt.live/css/CSS2/positioning/absolute-non-replaced-max-height-012.xht)

1 test continues to fail, but the expectation was out of date:

* [/css/CSS2/positioning/relpos-percentage-top-in-scrollable.html](https://wpt.live/css/CSS2/positioning/relpos-percentage-top-in-scrollable.html)

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [x] These changes contribute to #29592

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___
2023-04-12 10:48:52 +02:00
Delan Azabani
73dcce12b6 Handle min/max sizes in non-replaced positioned boxes 2023-04-12 15:38:52 +08:00
WPT Sync Bot
b8f194326b Update web-platform-tests to revision b'a877a8f14afc4b3a1d438cd5a9bfd7cd029111b7' 2023-04-12 01:24:06 +00:00
WPT Sync Bot
8101fa5636 Update web-platform-tests to revision b'5857a9b5776d85fe77883fadf62c398dc05cf608' 2023-04-08 01:38:03 +00:00
WPT Sync Bot
bb34f95b33 Update web-platform-tests to revision b'1d9b01e2fad6af3a057d571b1e088e15fa9bc8e6' 2023-04-07 01:30:49 +00:00
WPT Sync Bot
7bf23c63b3 Update web-platform-tests to revision b'2703c75d5e889bb7c6a918de44841bf9de8d63a7' 2023-03-25 01:54:46 +00:00
WPT Sync Bot
90b96becef Update web-platform-tests to revision b'62c17eac9f99db2ea4e213328c9c6122136694cc' 2023-03-22 01:37:18 +00:00
WPT Sync Bot
4e30ee5e08 Update web-platform-tests to revision b'065cf84e9f00d1c11faf2a41e500a73ad6b95a48' 2023-03-21 01:40:05 +00:00
WPT Sync Bot
3c4c34479c Update web-platform-tests to revision b'ceb972b009e1b43c589dce3f36b050121493d2e0' 2023-03-19 01:42:51 +00:00
WPT Sync Bot
3b420af385 Update web-platform-tests to revision b'afdce893ed51bc1a7a7ac03b16b5a575caad071a' 2023-03-17 01:55:41 +00:00
WPT Sync Bot
2ebdfcea9d Update web-platform-tests to revision b'3ee7ccc2abbbc8d8f6efbb45f80bffdb3c0c76ba' 2023-03-11 01:46:58 +00:00
WPT Sync Bot
0431e20517 Update web-platform-tests to revision b'14684f837eba364df3de2b6683d4eb5385333158' 2023-03-08 02:09:14 +00:00
WPT Sync Bot
59944f9e42 Update web-platform-tests to revision b'e731a1368a9d3436487e0996ecfebbef5a58f485' 2023-03-06 01:45:09 +00:00
WPT Sync Bot
84de92ecaf Update web-platform-tests to revision b'2d1ad05908ee5447fdfa70eed9757273aa5da367' 2023-03-05 01:42:13 +00:00
WPT Sync Bot
e8bd8b22fa Update web-platform-tests to revision b'1393983442315fc6a96bacda5202036ca10327e3' 2023-03-03 03:18:30 +00:00
WPT Sync Bot
17f4d58879 Update web-platform-tests to revision b'3b791e5b10812a4ca4473d93679fc70d1a7f5f88' 2023-03-02 01:49:57 +00:00
WPT Sync Bot
d2eeed132b Update web-platform-tests to revision b'49287d0e660dd6704c508ef20c9d53c13aee296b' 2023-03-01 01:42:49 +00:00
WPT Sync Bot
6d6ac7bedf Update web-platform-tests to revision b'5b72ee9b50ae6898c94fe3ab50f4c68d4572977c' 2023-02-28 01:47:36 +00:00
WPT Sync Bot
632afc64ae Update web-platform-tests to revision b'c9f81de4242294a0d694ecd5a63155acfe6bf49a' 2023-02-25 01:52:07 +00:00
WPT Sync Bot
496ae4e174 Update web-platform-tests to revision b'b3615436df24bedfdc4f14f959428307a86f74ce' 2023-02-21 01:39:27 +00:00
WPT Sync Bot
489f4ac90d Update web-platform-tests to revision b'49819d78d44b87d5ebb076c5b005dcbfc630c24f' 2023-02-20 01:57:35 +00:00
WPT Sync Bot
5867b3554a Update web-platform-tests to revision b'96ef5777e50f7ed8f54b91525002d6708fc097d7' 2023-02-19 01:39:19 +00:00
WPT Sync Bot
812c6de70b Update web-platform-tests to revision b'45fdf45f79582953fb3aa708566cd2c0707cb222' 2023-02-18 01:43:43 +00:00
WPT Sync Bot
61b963c73e Update web-platform-tests to revision b'bcf4a27c0a9dbb07d974a880acb26eb289a85c7e' 2023-02-17 01:52:51 +00:00
WPT Sync Bot
2a743bedbd Update web-platform-tests to revision b'6884bbba4e81574d2ba84d134bc45fbd7483294f' 2023-02-16 01:46:17 +00:00
WPT Sync Bot
8bfdc02dd8 Update web-platform-tests to revision b'b6f6bf16fe6069aed53d28af86a79b8ff4963844' 2023-02-15 01:39:03 +00:00
WPT Sync Bot
a0129273b8 Update web-platform-tests to revision b'dc3450e06f4e9dbac799d33d52e25b204f5a751c' 2023-02-06 01:33:49 +00:00
WPT Sync Bot
febcb80385 Update web-platform-tests to revision b'e0214318249f1b6ea09b837db6eac7b0facd1b52' 2023-02-05 01:50:48 +00:00
WPT Sync Bot
ec63c43030 Update web-platform-tests to revision b'd1192ca239e944dc6cdbcd079e1c16227e08e30c' 2023-02-02 01:55:40 +00:00
WPT Sync Bot
48c9556bb6 Update web-platform-tests to revision b'94be51cc50986018ab25e8a952bf234862ef3e5f' 2023-01-31 01:40:55 +00:00
WPT Sync Bot
a8371a92fd Update web-platform-tests to revision b'8c2b82d9aa621baeecb06fb346dbce0d19945861' 2023-01-30 01:34:14 +00:00
WPT Sync Bot
879f987fc2 Update web-platform-tests to revision b'7b1babebddf2f0fdd866fa8b83b8621b86590fc9' 2023-01-29 01:42:28 +00:00
WPT Sync Bot
32cc2e03c4 Update web-platform-tests to revision b'544363de4568baf9ae90d71e4822661edc546650' 2023-01-28 01:52:20 +00:00
WPT Sync Bot
cda7a10498 Update web-platform-tests to revision b'89142292ab8c7f3564d978a76fdabc66626c421e' 2023-01-26 01:45:06 +00:00
WPT Sync Bot
a6bc3e1a73 Update web-platform-tests to revision b'704eebbe6af5b43643971e96e33a0c979fba2904' 2023-01-25 01:36:16 +00:00
WPT Sync Bot
02cb6d44e5 Update web-platform-tests to revision b'ece751218b0ba35e99fa900bfd2a2d89c4bb69da' 2023-01-22 01:42:09 +00:00
WPT Sync Bot
92be0baf34 Update web-platform-tests to revision b'8a99353217938b6f1da31a9a108da3d501cee58b' 2023-01-20 01:41:09 +00:00
WPT Sync Bot
1c6b303ef2 Update web-platform-tests to revision b'2d7c53f5bc604132d2c83955537e454ee9c788c0' 2023-01-18 01:48:18 +00:00