Commit Graph

1189 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
cefdb77f9b servo: Merge #14801 - style: Document and force documentation in a big chunk of the style crate (from emilio:no-missing-docs); r=mbrubeck,Manishearth,Wafflespeanut
Style no forced docs for the properties code and similar, but I ran out of time, and I think it's a nice improvement.

I'd appreciate a fast-ish turn-around time because this is pretty much prone to bitrot.

Source-Repo: https://github.com/servo/servo
Source-Revision: bd67163438317daa711b2411ce302aaf5bf4136a
2016-12-31 03:19:02 -08:00
Matt Brubeck
50d11c1086 servo: Merge #14798 - Fix rowspan handling for rows that span to the end of the rowgroup (from mbrubeck:rowgroup); r=notriddle
This fixes `rowspan="0"` to behave as described in [the HTML spec](https://html.spec.whatwg.org/multipage/tables.html#attributes-common-to-td-and-th-elements):

> For this attribute, the value zero means that the cell is to span all the remaining rows in the row group.

It also prevents any `rowspan` from overlapping into another rowgroup, as required by [HTML § 4.9.12](https://html.spec.whatwg.org/multipage/tables.html#table-processing-model):

> Row groups cannot overlap each other. Similarly, column groups cannot overlap each other. A cell cannot cover slots that are from two or more row groups.

r? @notriddle or @pcwalton

---

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

Source-Repo: https://github.com/servo/servo
Source-Revision: c2ac495188efb5d2af75a0158a5f72614d5f6062
2016-12-30 21:56:00 -08:00
Ms2ger
07a62b66e8 servo: Merge #14792 - Stop allowing unsafe code around thread_local (from servo:tl-unsafe); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 608511ddc3440bfa92b8cb001b5e9f10bc291150
2016-12-30 03:04:12 -08:00
Shing Lyu
f3f7101dc1 servo: Merge #14124 - Flexbox trace (from shinglyu:flexbox-trace); r=glennw
<!-- Please describe your changes on the following line: -->
This is a follow up for #13740, so r? @jdm

The first patch enables JSON serialization for flexbox flows, the second one fixed format incompatibilities for the layout viewer.

The 3rd and 4th patches are just layout viewer UI enhancements, we could split that to a spearate PR if you prefer.

---
<!-- 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 #13846  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's a trivial debug tool

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 58fec2f05a21eb69899c8ec21e4b95000cfed2f2
2016-12-28 00:33:31 -08:00
Bobby Holley
48507255b1 servo: Merge #14751 - style: Add a special, explicit path for lazy style resolution and use it for getComputedStyle (from heycam:transient); r=heycam
<!-- Please describe your changes on the following line: -->

This is the Servo-side part of @bholley's final patch of https://bugzilla.mozilla.org/show_bug.cgi?id=1324627, which I've already r+ed.

Source-Repo: https://github.com/servo/servo
Source-Revision: f36b5531cb7a28036bdb29cf5619ec0da1030849
2016-12-27 19:55:01 -08:00
Nazım Can Altınova
9c4d194ef8 servo: Merge #14703 - Add gecko glue for perspective/transform properties (from canaltinova:perspective-transform); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
To be able to add glue for these properties,  we needed to change their structs. They are moved from effects to box and added stylo glue.
This PR covers these properties:
- perspective
- perspective-origin
- backface-visibility
- transform-box
- transform-style
- transform-origin

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

<!-- Either: -->
- [X] These changes do not require tests because they are stylo changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: a6d206eb6687da31c957094bbed380c9e47daac4
2016-12-26 21:48:52 -08:00
Matt Brubeck
32e7211803 servo: Merge #14518 - Fix inline layout of table cells impacted by rowspan (from mbrubeck:rowspan2); r=notriddle
This is part of the fix for #11297. This PR fixes the inline layout of table cells impacted by row-spanning cells from previous rows. A separate PR to follow will fix the table block size calculations to account for rowspan.

This PR doesn't yet include any test changes. If it doesn't cause any existing tests to pass, I will add a new test to it.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d320d5a34fe9911266940eb1ce96204d345b678
2016-12-26 10:09:09 -08:00
Emilio Cobos Álvarez
5633dee08c servo: Merge #14728 - Bunch of nitpicks (from emilio:nit); r=Wafflespeanut
I just noticed one while writing #14719, and then grepped and couldn't stop.

r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: 7fc9047d22147cf419d2551350421e23105e6f0e
2016-12-25 11:04:21 -08:00
Michael Howell
f7f761a13c servo: Merge #14699 - Fix an outdated comment (from notriddle:constructive_commentary); r=emilio
The structures have changed, as has the syntax of the Rust language.

Source-Repo: https://github.com/servo/servo
Source-Revision: f850918d8ef07426b55e8a7cdebbf43c56c65589
2016-12-24 06:42:57 -08:00
Bobby Holley
bff9870495 servo: Merge #14662 - Hoist bloom filter into scoped TLS, and remove a bunch of complexity and unsafety from the style system (from bholley:bloom_tls); r=emilio
With this PR, the only remaining usage of UnsafeNode is the transition stuff, which is servo-only and probably going to be rewritten over the course of stylo. The parallel traversal is now fully typechecked and safe. \o/

r? @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: b35ab98132539d4e6f1fcd4b3307eae40e387861
2016-12-22 12:02:38 -08:00
Bobby Holley
bcc4d2bed9 servo: Merge #14642 - Use Scoped TLS in the style system and eliminate UnsafeNode usage in the StyleSharingCandidateCache (from bholley:scoped_tls); r=emilio
See the discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1323372

@emilio Please review, but don't merge yet until we get the upstream changes into Rayon.

CC @SimonSapin @heycam @upsuper @Manishearth @pcwalton @nikomatsakis

Source-Repo: https://github.com/servo/servo
Source-Revision: 8fd8d6161426af386c0dfd3d13968a409474eb16
2016-12-21 11:11:12 -08:00
Nick Price
39642bbd1a servo: Merge #14598 - Fix linear gradient's specified form #13892 (from DominoTree:master); r=canaltinova
<!-- Please describe your changes on the following line: -->
WIP for #13892

---
<!-- 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 #13892  (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d2b98e6f82fe601672dbf435a920ccceffe78dc
2016-12-16 15:11:29 -08:00
Bobby Holley
ee2dc4ec29 servo: Merge #14610 - Simplify style context architecture and make it safer (from bholley:style_context_refactor); r=emilio
See the discussion at https://bugzilla.mozilla.org/show_bug.cgi?id=1323372

Not done here, but want to get a try run in on the first patch.

Source-Repo: https://github.com/servo/servo
Source-Revision: a4ecdf2d5fda281f25e2689852bc2134429e07c6
2016-12-16 11:38:27 -08:00
Nazım Can Altınova
c06341bd27 servo: Merge #14509 - Implement background-position-x/y (from canaltinova:position); r=Manishearth
<!-- Please describe your changes on the following line: -->
This is a WIP PR. Just HorizontalPosition / VerticalPosition implementations are complete. I would like to get early feedbacks about this architecture. Here's some architectural topics to consider:

- I created `HorizontalPosition` and `VerticalPosition` structs for this and used them in `Position` as well. We have decided to split `Keyword` enum, but we need them as unified for `PositionComponent` enum. So I didn't split but I can split it if we prefer to change PositionComponent as well.
- If we prefer Keyword enum like this, we can create a SubPosition(or something like this) instead of HorizontalPosition/VerticalPosition enums since only difference is 2 lines in `parse` functions. We can create a `parse_horizontal` and `parse_vertical` instead and a lot of code duplication can be cleared.
- I couldn't find a good way to use HorizontalPosition/VerticalPosition's parse functions in `Position`'s parse function. It is a bit more complicated. I'm open to suggestions :)
- I don't know much about logical keywords so do I need to do something different? I placed some comments where logical keywords are processing.

Any advice about these?

---
<!-- 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 #14458 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 5357f05ff785ee160d6b07de5d0e10aba199e578
2016-12-15 12:15:06 -08:00
Glenn Watson
2a98ab4e3b servo: Merge #14412 - Update WR + gleam (nested clip stack, scroll locations) (from glennw:update-wr-clip-2); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: bffac0f55ea5dd9a19eaf7b5acc85d08f43055d3
2016-12-14 18:46:25 -08:00
Alan Jeffrey
965a687125 servo: Merge #14592 - Remove the util crate (from asajeffrey:util-goodbye); r=mbrubeck
<!-- Please describe your changes on the following line: -->

This PR removes the `util` crate.

* Replaced the `spawn_named` and `clamp` functions by appropriate uses of `std:🧵:Builder::spawn`, `std::cmp::min` and `std::cmp::max`.
* Moved `opts`, `prefs` and `resource_files` into a new `config` crate.
* Moved `remutex` and `geometry` into their own crates.

---
<!-- 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 do not require tests because they are refactorings

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 4eb653817f87e5fb47de34356f558eb76ecbca9f
2016-12-14 16:48:42 -08:00
Pu Xingyu
f69e1e965d servo: Merge #14490 - layout: Unify size calculation of replaced elements (from stshine:replaced-size); r=emilio
<!-- 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: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 1993b6e812de30de06100e7d52c1d90af929f24f
2016-12-12 03:25:03 -08:00
Nick Price
79229ee746 servo: Merge #14538 - Use LengthOrNormal for column-gap #14297 (from DominoTree:master); r=Manishearth,Wafflespeanut
<!-- 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 #14297 (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 0530e648af9ff01ada4b7a5fa4a43d608b8602db
2016-12-11 08:03:16 -08:00
Simon Sapin
275732a0fe servo: Merge #14535 - Introduce a PropertyId enum and use it instead of strings of property names (from servo:property-id); r=mbrubeck
<!-- Please describe your changes on the following line: -->

* `LonghandId` and `ShorthandId` are C-like enums
* `Atom` is used for the name of custom properties.
* `PropertyDeclarationId` is the identifier for `PropertyDeclaration`,
  after parsing and shorthand expansion. (Longhand or custom property.)
* `PropertyId` represents any CSS property, e.g. in CSSOM.
  (Longhand, shorthand, or custom.)

CC @upsuper

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 6dd4b4822fa788694153ee61a04dd9a5dfb748ec
2016-12-10 01:16:26 -08:00
Bobby Holley
e075eff5c1 servo: Merge #14436 - Make restyle tracking more granular (from bholley:granular_restyle); r=emilio
The primary idea of this patch is to ditch the rigid enum of Previous/Current
styles, and replace it with a series of indicators for the various types of
work that needs to be performed (expanding snapshots, rematching, recascading,
and damage processing). This loses us a little bit of sanity checking (since
the up-to-date-ness of our style is no longer baked into the type system), but
gives us a lot more flexibility that we'll need going forward (especially when
we separate matching from cascading). We also eliminate get_styling_mode in
favor of a method on the traversal.

This patch does a few other things as ridealongs:
* Temporarily eliminates the handling for transfering ownership of styles to the
  frame. We'll need this again at some point, but for now it's causing too much
  complexity for a half-implemented feature.
* Ditches TRestyleDamage, which is no longer necessary post-crate-merge, and is
  a constant source of compilation failures from either needing to be imported
  or being unnecessarily imported (which varies between gecko and servo).
* Expands Snapshots for the traversal root, which was missing before.
* Fixes up the skip_root stuff to avoid visiting the skipped root.
* Unifies parallel traversal and avoids spawning for a single work item.
* Adds an explicit pre_traverse step do any pre-processing and determine whether
      we need to traverse at all.

Source-Repo: https://github.com/servo/servo
Source-Revision: b9a8ccd775c3192e3810a1730b1d0bc2b5c9dfb6
2016-12-09 17:01:05 -08:00
Martin Robinson
0c925cc32e servo: Merge #14475 - Don't scroll background and borders of overflow:scroll blocks (from mrobinson:backrounds-borders-scrolling-div); r=pcwalton
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

We want them to be children of the parent scrolling root instead of the
scrolling root of the particular block they belong to. Also, we adjust
the scroll root to only include the content region.

Source-Repo: https://github.com/servo/servo
Source-Revision: 900cb3b142ed6158c74f8a6d835a59dedb965f10
2016-12-06 21:22:58 -08:00
Martin Robinson
958390db19 servo: Merge #14367 - Reimplement scrolling to fragments (from mrobinson:scroll-fragment-point); r=pcwalton
<!-- 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 #13736, #10753 (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

This reimplemntation of the feature uses ScrollRootIds to scroll
particular scrollable areas of the page.

Fixes #13736.
Fixes #10753.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0619688a638b322f17d2034e0309502af1a5e52
2016-12-06 14:42:00 -08:00
J. Cliff Dyer
ecf69f2988 servo: Merge #14394 - Convert column-width to use Either (from jcdyer:jcdyer/either-column-width); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->

* Converted column-width to use `Either<Length, Auto>`
* Added gecko glue code
* Cleaned up old column-width glue code

---
<!-- 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 #14350 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because tests already surround the refactored code.
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: a913815a4de0f1b66a5fd6dfe1c41105cf38e63e
2016-12-01 23:03:37 -08:00
Thiago Pontes
a55275d183 servo: Merge #14370 - use Either type for UrlOrNone (from thiagopnts:master); r=Wafflespeanut
Use the Either type for UrlOrNone

---
<!-- 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
- [ ] These changes fix #14298 (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 290ff5c80138c77d65eaada3183dec35c059e38e
2016-12-01 22:03:31 -08:00
Patrick Walton
2b6d8a4555 servo: Merge #14418 - layout: Fix some particularly bad cases of spurious reflows leading to script thread unresponsiveness (from pcwalton:infinite-reflows); r=notriddle
See commits for details. This improves nytimes.com quite a bit.

r? @notriddle

Source-Repo: https://github.com/servo/servo
Source-Revision: d2d62267a14891ecc37092a1a931862b9f784019
2016-12-01 10:16:38 -08:00
Matt Brubeck
1e99619b9c servo: Merge #14424 - Remove unnecessary Flow::column_sizes methods (from mbrubeck:flow-column); r=notriddle
One of these methods is never called. The other is used only on TableFlow and doesn't need to be implemented for all Flow types.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a45252a844b52beff278090fed2e39312377628
2016-11-30 23:36:46 -08:00
Anthony Ramine
0db918aa3e servo: Merge #14292 - Update to Rust 1.15.0-nightly (1c448574b 2016-11-28) (from servo:rustup); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: f159b5cb1028bf4d2f75b0b48055fe19a8032f8e
2016-11-29 12:20:58 -08:00
Martin Robinson
5db5ad12bb servo: Merge #14386 - Use new DisplayListBuilder improvements in Servo (from mrobinson:display-list-builder-updates); r=glennw
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

In particular, we no longer to have a WebRenderFrameBuilder. All of the
complication is now handled by the DisplayListBuilder itself.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1c6963144d0496d8dcbb7a7ca6782d01d3305441
2016-11-29 02:36:05 -08:00
Emilio Cobos Álvarez
208c927bbc servo: Merge #14353 - Fix the bloom filter stuff (from emilio:fix-bloom); r=SimonSapin
<!-- Please describe your changes on the following line: -->

I think I got the numbers right, want to do a try run before just in case.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 2289ad53dd9a2666645b1f7eef07636e21c1607e
2016-11-28 10:30:19 -08:00
Bobby Holley
58a74f2f07 servo: Merge #14300 - stylo: Basic infrastructure for RestyleHint-driven traversal (from bholley:restyle_driven_traversal); r=emilio
Gecko Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=131701

(Don't review yet, will flag on the gecko bug when the time comes)

Source-Repo: https://github.com/servo/servo
Source-Revision: d98abaec20e624aa89a3abddf4cf2a6399951ef1
2016-11-25 09:00:44 -08:00
Glenn Watson
2d65b999ff servo: Merge #14286 - Update to webrender 0.10.0 (from gterzian:update_canvas_with_offscreen_context); r=jdm
<!-- Please describe your changes on the following line: -->

Changes necessary to build servor with webrender 0.10.0

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

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e1eff691f8a1d8c9c7ab33344364f0419626b80e
2016-11-24 12:29:52 -08:00
Simon Sapin
8d07b3953a servo: Merge #14320 - Update to selectors 0.15 (from servo:selectorsup); r=nox
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f37fc5ea5ef3335ebc0a754dce93872dd5fd85a1
2016-11-22 10:44:03 -06:00
Cameron McCormack
d61a3a16bc servo: Merge #14055 - support cursor property url() values in stylo (from heycam:cursor); r=Manishearth
<!-- Please describe your changes on the following line: -->

This is the Servo-side change for [bug 1310560](https://bugzilla.mozilla.org/show_bug.cgi?id=1310560), which @Manishearth has already r+ed.

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

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: eb531c15d990391f73f3a1030b103dfc3e023427
2016-11-21 05:49:05 -06:00
Simon Sapin
afbd0b0549 servo: Merge #14294 - Rename a few source files (from servo:renames); r=Wafflespeanut
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 68b1d1d2860ac6c6e8c1c0dfe46af6790ca01dc8
2016-11-20 09:21:52 -06:00
Emilio Cobos Álvarez
592972be51 servo: Merge #14246 - Urlmageddon (from emilio:servo-url); r=SimonSapin
<!-- Please describe your changes on the following line: -->

Still needs a bunch of code in net to be converted in order to get more
advantage of this for images and stuff, but meanwhile this should help quite a
bit with #13778.

Still wanted to get this in.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 22aebdf5d41a3509cd6515ccf5edcdf33715a76d
2016-11-17 15:34:47 -06:00
Bobby Holley
2ef8792b44 servo: Merge #14214 - Overhaul dirtiness handling in Servo to prepare for the new incremental restyle architecture (from bholley:dirtiness_overhaul); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: e4a27c4d16ee0e80ccd4ffd97a93c2b2a4f05391
2016-11-17 12:25:52 -06:00
Martin Robinson
a4ac6a5c09 servo: Merge #14200 - Deal with changes to the WebRender API (from mrobinson:display-list); r=<try>
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

The WebRender display list is now similar to the Servo display list,
which simplifies the conversion.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3fdce3942915e2ef461280d4908641580473ad94
2016-11-16 04:47:34 -06:00
Emilio Cobos Álvarez
7f3e0b3df3 servo: Merge #13641 - Use rayon to drive parallel layout and styling (from emilio:rayon-style); r=pcwalton
<!-- Please describe your changes on the following line: -->

The current work queue had a really annoying constraint: The size of the node had to be the size of the work unit data.

This makes it impractical for the new restyling model where we plan to pass down a bunch of data.

Rayon by default makes you wait for the result of the work unit, which makes it impractical for the current model (it's mostly sequential).

I added an API to rayon that allows us to push work to the queue without waiting (https://github.com/nikomatsakis/rayon/pull/103).

This still needs some work (for example, we're loosing the memory reporting functionality), but I wanted feedback on this.

---

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

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 9467fbe26d25dfc633d5ab8973fe459d14eff9dc
2016-11-14 14:47:21 -06:00
Emilio Cobos Álvarez
06ef47039f servo: Merge #14187 - Add a few minimal debugging docs (from emilio:rr-docs); r=jdm
r? @jdm (or anyone else)

Source-Repo: https://github.com/servo/servo
Source-Revision: bfd4a0e5ffce6ceed6c4426279a8f3dcb3766fd1
2016-11-13 14:16:15 -06:00
Manish Goregaokar
fcb1b2a86f servo: Merge #14168 - stylo: support transform (from Manishearth:tmp-transform); r=heycam
r=heycam from https://bugzilla.mozilla.org/show_bug.cgi?id=1314200

Source-Repo: https://github.com/servo/servo
Source-Revision: 75d35241db63894db31b6385143ffea0db5cac70
2016-11-10 18:38:48 -06:00
Pu Xingyu
047afef00d servo: Merge #14136 - style: Add a "start_end()" method to LogicalMargin (from stshine:orthogonal-symmetry); r=SimonSapin
<!-- Please describe your changes on the following line: -->

Add a `LogicalMargin::start_end()` method that receives a `Direction' parameter. This is useful for some layout that is symmetric in inline and block directions, like flexbox.

Part of #14123.

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: d16f3124640be647b4ed67cc4a68cebd55cdb7cc
2016-11-10 11:53:05 -06:00
Emilio Cobos Álvarez
ca6508671d servo: Merge #13791 - Centralize construction of specified url() values in style (from emilio:lazy-url); r=SimonSapin
This reduces a decent amount of overhead in #13778.

r? @SimonSapin

---

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

<!-- Either: -->
- [x] There are tests for these changes OR

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 164e956944db0d1d873d2f6eeb9eb59e3f46dc5f
2016-11-10 08:28:39 -06:00
Permutator
8ca6d6715a servo: Merge #14035 - Don't mark the first/last fragment of an {ib} split as FIRST/LAST_FRAGMENT_OF_ELEMENT (from Permutatrix:iss-14030); r=emilio
<!-- Please describe your changes on the following line: -->
This change allows inline margins, borders, and padding to interact correctly with {ib} splits.

---
<!-- 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 #14030
- [X] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 959dfe4a4f3dc2cd284411ba7abbe4947888d3e4
2016-11-09 19:08:52 -06:00
Nikhil Shagrithaya
c06c0d157f servo: Merge #13924 - implemented string-valued text-overflow (from cynicaldevil:text-overflow); r=emilio
<!-- 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 #13709

<!-- Either: -->
- [x] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

cc @Manishearth
The lorem-ipsum example from MDN works as expected.

Source-Repo: https://github.com/servo/servo
Source-Revision: a91f48ee05933784630fdf918fc4b66037dba9f1
2016-11-09 16:36:45 -06:00
Ravi Shankar
4187d96187 servo: Merge #14049 - Add a generic type for sharing some CSS types (from Wafflespeanut:lon); r=SimonSapin
<!-- Please describe your changes on the following line: -->

This would be useful for types such as `T(pub Option<U>)` or any type that's a mixture of two types (like `LengthOrFoo` for example). Well, it's a bit ugly, especially because we have to address the types as `Either::First` and `Either::Second` everywhere, but I don't have a brighter idea 😄

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

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

r? @SimonSapin (cc @Manishearth @emilio)

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 35f328d7174c93bb6ef5913a206496779fb8d3bf
2016-11-09 08:15:16 -06:00
Pu Xingyu
52d07b41b2 servo: Merge #14130 - layout: Mark flex items properly during construction (from stshine:construct-flexbox); r=pcwalton
<!-- Please describe your changes on the following line: -->

Set the flag of the fragment of children in a flex container according
to the direction of the container. The mark is done on the fragment
because flex item enstablish a stacking context when its z-index is
non-zero ,despite its `position' property.

Part of #14123.

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 333c397f03bc2d143e0d8c112138d5758d37f6f5
2016-11-09 03:59:22 -06:00
Martin Robinson
e0f12feb6a servo: Merge #14084 - Don't promote all scrollable regions to stacking contexts (from mrobinson:scroll_root_2); r=glennw
<!-- Please describe your changes on the following line: -->

Don't promote all scrollable regions to stacking contexts

Instead annotate all flows with their owning ScrollRoots. When
processing the display list items into a flattened display list, we add
PushScrollRoot and PopScrollRoot to signal when scrolling regions start
and end. It is possible for content from different scrolling regions to
intersect and when they do, the stack of scrolling regions is
duplicated.  When these duplicated scrolling regions stacks reach
WebRender, it will scroll them in tandem.

The PushScrollRoot and PopScrollRoot items are currently represented as
StackingContexts in WebRender, but eventually these will be replaced
with special WebRender display items.

---
<!-- 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 #13529 and #13298. (github issue number if applicable).

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

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: ef5ca14283f1f47654093b5c196ab813efb53ea8
2016-11-07 18:49:53 -06:00
Bobby Holley
45403df2b6 servo: Merge #14034 - incremental restyle: Use more concrete types in the style system (from bholley:more_concrete_types); r=emilio
We need to hang both snapshots and restyle damage off of ElementData, and so we need them to be concrete to avoid infecting ElementData with the trait hierarchy.

Source-Repo: https://github.com/servo/servo
Source-Revision: d8ac5100e81ccbad4b5131688b96bedb9b5e279d
2016-11-07 16:31:10 -06:00
Emilio Cobos Álvarez
8a55162a6e servo: Merge #14099 - canvas: Cleanup CanvasData and layout and script messages (from emilio:canvas-data); r=nox
<!-- 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

<!-- Either: -->
- [x] These changes do not require tests because refactoring.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 958806512054edc1cdf6522e5a882c2c8d692fe1
2016-11-07 10:53:20 -06:00
Shing Lyu
7cc92387d4 servo: Merge #13740 - Migrated -Z trace-layout to serde_json (from shinglyu:layout_serde); r=jdm
<!-- Please describe your changes on the following line: -->

Migrated the trace-layout code from old `rustc-serialize` to `serde_json`. This will help us iterate faster on the layout viewer (#13432), #13436, #12675 and fix #12936.
---

<!-- 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 #12936 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's a relatively low risk debug tool

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 1c26f44cbb23e7da3b9d63f0223c8d5d43eec958
2016-11-07 02:15:03 -06:00