Commit graph

18535 commits

Author SHA1 Message Date
Anthony Ramine
91ed0b0aa5 Derive ToCss for ContentItem 2018-03-02 16:07:02 +01:00
Anthony Ramine
a4d3a8d74a Make ContentItem use a CustomIdent for counter names
See https://github.com/w3c/csswg-drafts/pull/2377
2018-03-02 16:06:54 +01:00
bors-servo
e2f2814018
Auto merge of #20128 - Manishearth:rowspan, r=mbrubeck
Rowspan support for tables

fixes #20092

This just contains the first steps.

We apply a naive algorithm: Spanning cells apply a pressure equal to `block_size / rowspan` on each row they are in. We move table row block size computation into the tables, and make it two pass. In the first pass we compute the sizes of each row, and in the
second pass we assign them, adding them up for any involved cells.

This is missing:

 - [x] Accounting for border sizes
 - [x] Applying pressure to rows that are not the row containing the cell
 - [ ] Reducing pressure on future rows if the current row is able to accomodate more of the cell
 - [x] For tables containing both rows and rowgroups, reset the rowspan info when we hit a rowgroup
 - [x] Correctly handle overflowing rowspans

cc @mbrubeck @pcwalton

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20128)
<!-- Reviewable:end -->
2018-02-28 18:40:39 -05:00
bors-servo
af92c06223
Auto merge of #20143 - Eijebong:bump, r=nox
Bump itertools, image, flate2 and caseless

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20143)
<!-- Reviewable:end -->
2018-02-28 13:10:59 -05:00
Bobby Holley
0236a6ce99 Stylo: Pass an explicit parent SheetLoadData for child stylesheet loads.
MozReview-Commit-ID: 7XNu42NtITm
2018-02-28 08:28:48 -08:00
Bastien Orivel
4ea60d3a2a Update caseless to 0.2 2018-02-28 16:55:39 +01:00
Bastien Orivel
c072829be0 Update flate2 to 1.0 2018-02-28 16:55:35 +01:00
Bastien Orivel
9ca18b510f Update image to 0.18 2018-02-28 16:25:35 +01:00
Bastien Orivel
22325df495 Update itertools to 0.7 2018-02-28 16:25:32 +01:00
bors-servo
a0be3a7fae
Auto merge of #20138 - emilio:longhand-iterator, r=nox
style: Only expose longhands to rust via iterators.

The key here is that we only filter longhands if the shorthand is accessible to
content and vice-versa. This prevents the bug that prevented me to land this
patch before, which was us not expanding properly chrome-only shorthands.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20138)
<!-- Reviewable:end -->
2018-02-28 06:28:41 -05:00
Emilio Cobos Álvarez
68971c86bc
style: Remove unused function. 2018-02-28 12:04:49 +01:00
Emilio Cobos Álvarez
3fd5f796f0
style: Handle properly potentially-disabled longhands in a shorthand. 2018-02-28 12:04:49 +01:00
Emilio Cobos Álvarez
15b0a32035
style: Put all the multicol props under the same pref for Servo.
Otherwise it becomes insane.
2018-02-28 12:04:47 +01:00
bors-servo
8471011e6b
Auto merge of #20141 - servo:rm-color-or-auto, r=emilio
Replace ColorOrAuto by CaretColor

This is its only use.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20141)
<!-- Reviewable:end -->
2018-02-28 05:37:18 -05:00
Anthony Ramine
c4efbb4d51 Replace ColorOrAuto by CaretColor
This is its only use.
2018-02-28 10:25:59 +01:00
Bastien Orivel
c28dcbc3e5 Bump euclid to 0.17 2018-02-28 09:46:59 +01:00
Emilio Cobos Álvarez
220cc9ba65
style: Fix overflow-clip-box-{block,inline} to be under the right pref. 2018-02-28 00:37:07 +01:00
Emilio Cobos Álvarez
6cc6280004
style: Remove a stray pref value.
This should've been removed in
https://bugzilla.mozilla.org/show_bug.cgi?id=1398492
2018-02-28 00:33:41 +01:00
Emilio Cobos Álvarez
8c4b401dd3
style: Only expose longhands to rust via iterators.
The key here is that we only filter longhands if the shorthand is accessible to
content and vice-versa. This prevents the bug that prevented me to land this
patch before, which was us not expanding properly chrome-only shorthands.

Again, this is incomplete, and I need to teach LonghandsToSerialize to get a
potentially incomplete list of properties, and all that.
2018-02-28 00:19:31 +01:00
Manish Goregaokar
cec37a492a Unconditionally layout rows when laying out tables
If the reflow flag is set on a row it will be on the table anyway
2018-02-27 14:47:22 -08:00
Manish Goregaokar
98e53db289 Assert that cells aren't floats 2018-02-27 14:44:44 -08:00
Emilio Cobos Álvarez
650e947c94
style: Make Servo deal with CSS property prefs more correctly.
Right now you could still set preffed-off properties from CSSStyleDeclaration.
2018-02-27 19:29:07 +01:00
Manish Goregaokar
19974e39c8 Merge fourth and fifth (assign block sizes / positions) passes 2018-02-27 09:43:38 -08:00
bors-servo
030509e66b
Auto merge of #20131 - servo:moz-tab-size, r=emilio
Replace NonNegativeLengthOrNumber by a specific type for -moz-tab-size

This is the only use of this type.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20131)
<!-- Reviewable:end -->
2018-02-27 12:17:43 -05:00
Emilio Cobos Álvarez
d016278159
style: Remove unused function. 2018-02-27 13:07:37 +01:00
Emilio Cobos Álvarez
17257f94b9
style: Split out NonCustomPropertyId::enabled_for_all_content from allowed_in. 2018-02-27 13:07:36 +01:00
bors-servo
a7f38f0f32
Auto merge of #20133 - emilio:kill-xbl, r=xidorn
style: Make Shadow DOM not use XBL anymore.

Bug: 1425759
Reviewed-by: xidorn
MozReview-Commit-ID: Jf2iGvLC5de

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20133)
<!-- Reviewable:end -->
2018-02-27 05:47:29 -05:00
Anthony Ramine
27732c7dbb Replace NonNegativeLengthOrNumber by a specific type for -moz-tab-size
This is the only use of this type.
2018-02-27 11:26:52 +01:00
Emilio Cobos Álvarez
a5957fadf6
style: Update bindings. 2018-02-27 11:14:19 +01:00
Emilio Cobos Álvarez
cfbdf3d694
style: Make Shadow DOM not use XBL anymore.
More improvements to come. In particular, this still iterates through Shadow DOM
in each_xbl_cascade_data, but that should be changed later. That allows to
cleanup a bunch of stuff and finally fix Shadow DOM cascade order.

We still rely on the binding parent to be setup properly in the shadow tree, but
that requirement can go away later (we can walk the containing shadow chain
instead).

This mostly focuses on removing the XBL binding from the Shadow host.

It'd be nice to do EnumerateShadowRoots faster. I think that should also be a
followup, if needed.

Bug: 1425759
Reviewed-by: xidorn
MozReview-Commit-ID: Jf2iGvLC5de
2018-02-27 11:14:18 +01:00
bors-servo
ac162e8f72
Auto merge of #20012 - alexfjw:avoid_Window-GetComputedStyle_when_checking_for_display-none, r=emilio
Avoid `Window::GetComputedStyle` when checking for `display: none`

<!-- Please describe your changes on the following line: -->
Refactored Window::GetComputedStyle to use Element::Style.

Not sure which tests are relevant, but I've ran the dom, fetch & 2dcontext wpt tests. They don't seem to give errors.

---
<!-- 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 #19885.

<!-- Either: -->
- [x] These changes do not require tests because it's a refactoring task

<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20012)
<!-- Reviewable:end -->
2018-02-27 04:52:05 -05:00
Manish Goregaokar
ef983c340f Remove outdated comment 2018-02-26 23:35:01 -08:00
Manish Goregaokar
0261762fa4 Handle overlarge rowspans by keeping track of largest leftover incoming sizes 2018-02-26 23:35:00 -08:00
Manish Goregaokar
746acf7e2b Don't crash on overflowing rows 2018-02-26 22:48:21 -08:00
Manish Goregaokar
f687be3878 Use computed border spacings when handling rowspans 2018-02-26 22:33:55 -08:00
Manish Goregaokar
108ecc1f4d Compute border spacing info beforehand 2018-02-26 22:20:26 -08:00
Manish Goregaokar
7cd3daa76f Always call compute_block_size_table_row_base 2018-02-26 22:01:50 -08:00
bors-servo
b6bd719c5d
Auto merge of #20058 - Eijebong:rayon1.0, r=jdm
Bump rayon to 1.0

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20058)
<!-- Reviewable:end -->
2018-02-27 00:10:51 -05:00
Manish Goregaokar
216082c342 Preserve information on incoming row sizes 2018-02-26 19:25:19 -08:00
Manish Goregaokar
e894c8b1bf Hacky rowspan support 2018-02-26 18:19:09 -08:00
Manish Goregaokar
2a0e1cd9c9 Assign table row block sizes in the parent table or rowgroup 2018-02-26 17:08:43 -08:00
bors-servo
6df0dc5b27
Auto merge of #20124 - servo:perspective, r=emilio
Replace LengthOrNone by a specific type for the perspective property

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20124)
<!-- Reviewable:end -->
2018-02-26 16:35:32 -05:00
Anthony Ramine
260e05320c Replace LengthOrNone by a specific type for the perspective property
This was its only use, and it was bugged: AFAIK this didn't properly
clamp animated values below 0.
2018-02-26 22:32:06 +01:00
Anthony Ramine
4a98fa70bf Streamline parsing of NonNegativeLengthOrNumber a bit 2018-02-26 22:11:17 +01:00
Anthony Ramine
f10e485740 Remove 2 unused type aliases 2018-02-26 16:40:19 +01:00
Anthony Ramine
f097dfad59 Reorder some stuff in gecko.mako.rs 2018-02-26 15:38:30 +01:00
Anthony Ramine
e2a6d07dad Remove TransitionProperty::All 2018-02-26 14:30:53 +01:00
Alex Fong
8d09398230 Avoid Window::GetComputedStyle when checking for display: none 2018-02-26 19:07:04 +08:00
Emilio Cobos Álvarez
28ea593347
style: Make a style sharing check account for Shadow DOM explicitly too.
Good I added tests for this (style-sharing-across-shadow.html).

Bug: 1425759
Reviewed-by: xidorn
MozReview-Commit-ID: 7d4WioCDAn7
2018-02-26 11:40:28 +01:00
Emilio Cobos Álvarez
07f86404cd
style: Make the simplified children iterator check account for Shadow DOM on its own.
We are relying in the XBL binding for the shadow host, we need to check
explicitly.

Also, we were checking in_shadow_tree, which is really broad. Just
is_html_slot_element should do, since the rest of the nodes should have only
light tree children.

Bug: 1425759
Reviewed-by: xidorn
MozReview-Commit-ID: KAFRVxaLsK
2018-02-26 11:40:13 +01:00