Commit Graph

1447 Commits

Author SHA1 Message Date
Simon Sapin
7279c780ac servo: Merge #17355 - Bump serde to 1.0 (from servo:serdeup); r=nox
This is a rebase of #17325 with `[replace]` entries removed, a bunch more dependencies updated, and some more compile fixes. Original work by @Eijebong, thanks a lot!

Source-Repo: https://github.com/servo/servo
Source-Revision: 66c130d55aa0d7af1104c00e93a5bf950f23a383
2017-06-16 05:03:18 -07:00
Glenn Watson
77d2c12536 servo: Merge #17352 - Update WR (CPU text optimizations, image format renames) (from glennw:update-wr-faster-text); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: e1bce241291683ee61abab042d0c808ae5396e91
2017-06-16 01:21:05 -07:00
Emilio Cobos Álvarez
b5b0a3f2c9 servo: Merge #17348 - style: Inline RestyleData (from emilio:bup); r=bholley
Bug: 1368236
MozReview-Commit-ID: 49s3SO0PMHf
Source-Repo: https://github.com/servo/servo
Source-Revision: 33766b2714443399808c950e5bb74b1f124f2bc4
2017-06-15 20:28:56 -07:00
Anthony Ramine
901c9d7074 servo: Merge #17338 - Derive ToCss for computed LengthOrPercentage types (from servo:derive-all-the-things); r=emilio,waffles
Source-Repo: https://github.com/servo/servo
Source-Revision: 0142d193a3fde057718612028d9c1676e046b816
2017-06-15 13:37:04 -07:00
Bobby Holley
c446825d29 servo: Merge #17332 - Bump rayon to 0.8 (from bholley:bump_rayon_0_8); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: e0820c8654489a226e3f1348c1e134e890cb84c3
2017-06-14 19:12:30 -07:00
Nicolas Silva
6e99a9e0a6 servo: Merge #17184 - Bump euclid to 0.14.x (from nical:euclid-bump); r=SimonSapin
- [x] `./mach build -d` does not report any errors (kinda, need webrender published and Cargo.toml fixed up)
- [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 it is a refactoring in which the difference is mostly a compile-time/strong-typing thing with no change to the logic.

Source-Repo: https://github.com/servo/servo
Source-Revision: 18653f69581693a5bae1ce4e350e78bc16159b08
2017-06-14 07:25:05 -07:00
Anthony Ramine
7446756c7a servo: Merge #17215 - Derive more ToCss impls (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 1555f0fc413415d5c8f7c5a5f3fec2eecfce640e
2017-06-09 05:00:45 -07:00
Xidorn Quan
040af8607b servo: Merge #17219 - Support interpolation between currentcolor and numeric color (from upsuper:currentcolor); r=Manishearth,birtles
This is the Servo side change of [bug 1345709](https://bugzilla.mozilla.org/show_bug.cgi?id=1345709).

Source-Repo: https://github.com/servo/servo
Source-Revision: 24e944ad94816e607e833e34095c4f8b8136df4c
2017-06-07 21:03:52 -07:00
Matt Brubeck
2c654a7aba servo: Merge #17192 - Parallel layout optimizations (from mbrubeck:layout); r=pcwalton
This takes some of the optimizations made to parallel styling in #16971 and applies them to parallel layout.  Specifically:

* Reduce the chunk size, to increase chances for parallelism on trees with small fan-out.
* Reduce allocations by using SmallVec.
* Reduce task switching by processing up to one chunk of children within the same rayon task as the parent.

This cuts the "Primary Layout Pass" time in **half** on the MySpace page from [tp5n], and on my other real-world test pages it is a small improvement or close to no change.

[tp5n]: https://wiki.mozilla.org/Buildbot/Talos/Tests#tp5n_pages_set

---
- [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 affect performance only

Source-Repo: https://github.com/servo/servo
Source-Revision: c0f3ec87806a0d718d7f9ef1ccb912c78fc482d2
2017-06-07 19:57:57 -07:00
Alan Jeffrey
73a447a887 servo: Merge #17150 - Implemented the plumbing for paint worklets (from asajeffrey:script-paint-worklets-plumbing); r=jdm
<!-- Please describe your changes on the following line: -->

This PR implements the plumbing for paint worklets:

* Adding CSS values for paint worklets.
* Implementing a skeleton for the `PaintWorkletGlobalScope` webidl.
* Implementing an executor for paint worklet tasks, and passing it from script to layout.
* Building the display list items for paint worklet images.

This PR does not implement registering or calling paint worklets in JS.

Before it merges, this PR needs a reftest added for basic paint worklet functionality.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: bf46da065db58549a74c489d521f9375f4137637
2017-06-07 11:57:07 -07:00
Boris Chiou
69314a894b servo: Merge #17202 - stylo: Bug 1335998 - Handle interpolation and accumulation of mismatched transform lists (from BorisChiou:stylo/animation/mismatched_transform); r=Manishearth,birtles
These are the interdependent patches of Bug 1335998. We want to do interpolation and accumulation for mismatched transform lists, so introduce ComputedOperation::InterpolateMatrix and ComputedOperation::Accumulation. Both arms store the from_list and to_list, and resolve them until we have the layout information. For the Servo part, we haven't implemented how to read the transform lists in layout/fragment.rs, but I think it would be easy. (related issue #13267)

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1335998](https://bugzilla.mozilla.org/show_bug.cgi?id=1335998)
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: f4a720483dfab2f7289a9845b0f1faa31a2d6f11
2017-06-06 23:54:41 -07:00
Xidorn Quan
0e36e496b5 servo: Merge #17199 - Make shadow values share more code (from upsuper:shadow); r=Manishearth
<!-- Please describe your changes on the following line: -->
Make `text-shadow` reuse `Shadow` type directly.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2df8f69bcf8917a8300c24f920f7677f1f40ae11
2017-06-06 21:02:30 -07:00
Bastien Orivel
c5d903c052 servo: Merge #17104 - Bump euclid to 0.13 and heapsize to 0.4 (from Eijebong:bump_euclid_heapsize); r=emilio
This is necessary for the serde 1.0 update.

--
- [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] These changes do not require tests because it's just a dependency bump

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a9a0749b8333947df88da9133f7ebd6283601e0
2017-06-05 12:34:19 -07:00
Manish Goregaokar
d17c2f17e4 servo: Merge #17145 - Bump cssparser (from Manishearth:bump); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 985050d3645382d5c2cc6bd6819ab05f9b843331
2017-06-02 17:46:35 -07:00
Anthony Ramine
fc583480bb servo: Merge #17122 - Continue to slim down the code for CSS properties (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 028908ee269a680464d079ba4f6e9e8ef5b41749
2017-06-02 01:53:55 -07:00
Cameron McCormack
9c45c7331b servo: Merge #17105 - Update rayon to 0.7.1 (from heycam:rayonup); r=nox
To take advantage of nikomatsakis/rayon#348.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 3337fccd991fcf9e935b1ada55621be474ffb6e6
2017-05-31 15:20:22 -05:00
Eloy Coto
84bdc6c999 servo: Merge #16317 - Fix #6799: set stacking_context_position correctly on fragment_border_iterator (from eloycoto:issue6799); r=emilio
Hey,

First of all, this is my first PR to Servo project and I'm learning Rust, so sorry if you see something that it's not correct. I did that as best as I know.

This PR fix the issue #6799; I tried all the corner cases that I can think about it and always get the right result and the same as other browsers.

Related to the build:

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #6799

In the other hand, I added the test in the cssom folder, is where getBoundingClientRect  is defined, so I think that is the best place.

I'm sure that the line 122 can be better, but I didn't find a way to transform a Point2D from f32 to px in a easy way.

I'm here to listen to your recommendations and fix any issue.
Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d32b9cc35377f5d74197514435199e407c096fa
2017-05-30 11:28:26 -05:00
Emilio Cobos Álvarez
0eb6f7f5eb servo: Merge #17063 - style: Allow sharing styles across elements with presentational hints (from emilio:pres-hints-sharing); r=bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 38a6a3bff6f6e0e35eb592891d5e70e7cb897b69
2017-05-30 07:28:06 -05:00
Anthony Ramine
b3fd2b5969 servo: Merge #17071 - Reuse Rect<T> some more (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 433d68955b276266d620f788ad509678edc35071
2017-05-30 05:11:28 -05:00
Anthony Ramine
65f91547eb servo: Merge #17036 - Use values::generics::rect::Rect some more (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 7275f6598120266a0beaeff1294271a23cd40d4d
2017-05-27 05:41:12 -05:00
Simon Sapin
14ffc0aa18 servo: Merge #16989 - Decode UTF-8 code points across network packets (from servo:packets); r=nox
<s>Depends on https://github.com/servo/html5ever/pull/272</s>

Source-Repo: https://github.com/servo/servo
Source-Revision: b0c7c71729e6423cea9387030306a86654cb33de
2017-05-27 04:18:58 -05:00
Emilio Cobos Álvarez
19b329fcb1 servo: Merge #17025 - script/layout: Stop doing unsafe transmutes between refcell references (from emilio:layout-data); r=jdm
This commit splits the style and layout data in two separate refcells.

These transmutes have been a source of trouble (for example on Android), and
they feel like a hack anyway.

Fixes #16982

Source-Repo: https://github.com/servo/servo
Source-Revision: 764da7ba39c0ccbaf807c6131418761f70584322
2017-05-25 19:58:47 -05:00
Anthony Ramine
f054d5decb servo: Merge #17002 - Introduce style::values::generics::rect ▭ (from servo:derive-all-the-things); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: b4cebe1920ee9dc64f1a080fb940ea77743692a2
2017-05-24 02:18:01 -05:00
Boris Zbarsky
600534f53c servo: Merge #16999 - Fix stylo's text-overflow handling to match gecko (from bzbarsky:fix-text-overflow-handling); r=Manishearth
A single value sets the text-overflow on the _end_ of the text, not both start and end.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: f3a694a7b442abad8af02475b944aeac7a09d539
2017-05-23 20:39:24 -05:00
Behnam Esfahbod
d74e314371 servo: Merge #16779 - [gfx] [layout] [style] Upgrade unicode-bidi to 0.3 (from behnam:bidi-0.3); r=mbrubeck
Depends on https://github.com/servo/unicode-bidi/pull/27 , which
upgrades `unicode-bidi` crate to `0.3.0`.

Summary of changes:

* Use `unicode_bidi::Level` (instead of `u8`) in all relevant places and
replace magic computations with (inline) method calls to Level API.

* Doing so required adding `unicode-bidi` crate dependency to two more
components here: `style` and `gfx`. IMHO, totally makes sense, as
replaces local integer manipulations/checks with well-tested ones
already available in a common dependency.

---
<!-- 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). [N/A]

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because `unicode-bidi` has its own tests and there's no logic change in this diff.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: edd6c2cecb2c245f9f8bcab04ff8e57f1c5d1333
2017-05-22 23:06:07 -05:00
Anthony Ramine
926ab19bca servo: Merge #16947 - Parse -moz-alt-content as a whole content value (fixes #15726) (from nox:moz-alt-content); r=Wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: a03d0b8472a30379dd85c2cb326f9595c7559be6
2017-05-22 16:46:30 -05:00
Bobby Holley
33e1c11884 servo: Merge #16971 - Rewrite parallel.rs (from bholley:fix_parallelism); r=emilio
https://bugzilla.mozilla.org/show_bug.cgi?id=1366347

Source-Repo: https://github.com/servo/servo
Source-Revision: f14eeb00c0d9c76ead36d9caecafb218598525b1
2017-05-21 01:12:22 -05:00
Emilio Cobos Álvarez
058ccb2091 servo: Merge #16967 - Bug 1366144: Correctly diff ::before and ::after pseudo-element styles if there's no generated content. r=heycam (from emilio:after); r=heycam,emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 05a26a29967b4cb70cac0055d0a177881e047efd
2017-05-20 13:44:31 -05:00
Manish Goregaokar
66b5b511cc servo: Merge #16914 - Update app_units to 0.4.1 (from Manishearth:update_au); r=jryans
Source-Repo: https://github.com/servo/servo
Source-Revision: 00376cbaa77b2c3b78990e49eb9ca29cc1e0a714
2017-05-19 23:09:20 -05:00
SendilKumar N
876d73e3a3 servo: Merge #16913 - Make canvas origin clean checks use origin of image response (from jdm:canvas2d); r=jdm
Adapted from #15887.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15409
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 62690887c163332688add2b1e62bb4c12b2e7df4
2017-05-19 10:45:44 -05:00
Anthony Ramine
b9887cf407 servo: Merge #16937 - Fix calc() clamping issues (from nox:clamp-calc); r=emilio
Fix calc() clamping issues

Source-Repo: https://github.com/servo/servo
Source-Revision: b4204b5e2d8b2981408e2c092130af40ad3170bb
2017-05-18 15:15:04 -05:00
Anthony Ramine
70def1efb4 servo: Merge #16889 - Refactor how calc() clamping is done on computed values (fixes #15296) (from nox:clamp-calc); r=stshine
Source-Repo: https://github.com/servo/servo
Source-Revision: 864f5509d8d82609b1be7c9571395fbefa84fa9e
2017-05-18 08:06:19 -05:00
Dzmitry Malyshau
f4931d31c1 servo: Merge #16891 - Using TransformStyle::Preserve3D (from kvark:preserve3d); r=glennw,emilio
<!-- Please describe your changes on the following line: -->

The changes were reviewed previously as a part of WR update PRs, but then we decided to move them out.
r? @emilio

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: a5ff57b20fea879cc24e9dc6b94dc381ce105b89
2017-05-17 20:38:14 -05:00
Matt Brubeck
caaa189ff5 servo: Merge #16881 - Fix containing block size for absolute root element (from mbrubeck:absolute_root); r=stshine
The root element doesn't have a containing block, so use the viewport size instead of `self.base.absolute_cb`.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 10cc59dd2ef7509c724f5c81c0dcd22b31071590
2017-05-17 19:13:51 -05:00
Alan Jeffrey
c01eab79de servo: Merge #16876 - Renamed constellation::Frame to constellation::BrowsingContext (from asajeffrey:constellation-rename-frames); r=cbrewster
<!-- Please describe your changes on the following line: -->

Now that script has `WindowProxy` rather than `BrowsingContext` objects, we can rename `Frame` in the constellation to `BrowsingContext`. In particular, this means that `FrameId`s are now `BrowsingContextid`s, which better captures their purpose (and they are used in a lot of places, not just the constellation).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 837531992864f920342020462830b933d5ed0280
2017-05-16 23:10:45 -05:00
Martin Robinson
86dfb45fec servo: Merge #16795 - Don't optimize display list for projective transforms (from mrobinson:out-of-viewport-transform); r=glennw
There are situations where elements are transformed from outside the
display list. With projective transforms it's currently difficult to
detect these. In those cases we just don't optimize the display list,
so that they will always be shown.

Fixes #13822.

<!-- 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 #13822 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fada0eb6607fa746cd88426ebb7bb4052f709cda
2017-05-16 21:27:47 -05:00
Martin Robinson
b0921a0701 servo: Merge #16865 - Properly handle scroll offsets in hit testing (from mrobinson:scroll-offsets-fix); r=emilio
Scroll roots are no longer nested containers holding items, so instead
we need to track the offsets of each, carefully handling fixed position
items and stacking contexts that create new reference frames.
Additionally, we remove the complexity of the pre-computed page scroll
offset, instead opting to send script scrolls to the layout task in
order to more quickly have a ScrollState there that matches the
script's idea of the scroll world.

Fixes #16405.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it is currently impossible to test interactive scrolling with Servo's test infrastructure. Existing tests verify the script part though.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: d855c929ef32e8f7d4bc15ba726e8eb5f8ad8e05
2017-05-16 08:33:22 -05:00
Glenn Watson
829c439097 servo: Merge #16860 - Update WR (preserve-3d, AA improvements) (from glennw:preserve3d); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 180edaab604212d8c43c0523ef3eba68d55a2c6c
2017-05-15 21:49:35 -05:00
cku
9c2ba08978 servo: Merge #16862 - stylo: Pass Cached ImageValue from stylo back to gecko (from CJKu:bug-1310885-part-6); r=heycam
stylo: Pass Cached ImageValue from stylo back to gecko

<!-- Please describe your changes on the following line: -->
This is  part 6 ~ part 9 patch in bug 1310885

gecko bug link:
https://bugzilla.mozilla.org/show_bug.cgi?id=1310885
---
<!-- 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 _____

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 5bd6b92494d6b9527c1639c358eea3c4822bed84
2017-05-15 18:04:59 -05:00
Josh Matthews
fc1c6b073c servo: Merge #16295 - Root nodes for the duration of their CSS transitions (from jdm:transition-safety); r=nox
This ensures that we can pass a node address as part of the asynchronous
transition end notification, making it safe to fire the corresponding
DOM event on the node from the script thread. Without explicitly rooting
this node when the transition starts, we risk the node being GCed before
the transition is complete.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14972
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: fa251ec96b445b9ba8439d76e05870a88c2caa0f
2017-05-15 15:00:19 -05:00
Anthony Ramine
2a54e27962 servo: Merge #16859 - Rewrite style images with a good dose of generics 💉 (from nox:gradients); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: eb7314b4122ba981cdc98204660f9fa1ef43e698
2017-05-15 09:13:38 -05:00
Simon Sapin
02f97a3f6b servo: Merge #16837 - Fix future illegal_floating_point_literal_pattern warnings (from servo:illegal_floating_point_literal_pattern); r=emilio
They make component/style fail to build, because of `#[deny(warnings)]`

Source-Repo: https://github.com/servo/servo
Source-Revision: b6f5d65bbddc9e8d35016c8669256a8a539b7516
2017-05-12 22:34:09 -05:00
Imanol Fernandez
4094ae43fd servo: Merge #16833 - Fix unsafe AtomicRefCell<T> transmutes in Layout component (from MortimerGoro:layout_alignment); r=SimonSapin
<!-- Please describe your changes on the following line: -->

Fixes unsafe transmute between `AtomicRefCell<PersistentLayoutData>` and `AtomicRefCell<PartialPersistentLayoutData>` which have different memory alignment in 32 bit archs leading to SEGV crashes. See https://github.com/servo/servo/issues/16817 and https://github.com/servo/servo/pull/16816

mem::align_of values in 32 bit archs (e.g. Android):
```
PersistentLayoutData 8
PersistentLayoutData 4
AtomicRefCell<PersistentLayoutData> 8
AtomicRefCell<PartialPersistentLayoutData> 4
```
mem::align_of values in 64 bit archs
```
PersistentLayoutData 8
PersistentLayoutData 8
AtomicRefCell<PersistentLayoutData> 8
AtomicRefCell<PartialPersistentLayoutData> 8
```

---
<!-- 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 #16817 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 47e4c48feb12e4189f11fd94631f0abea5827f91
2017-05-12 20:44:02 -05:00
Connor Brewster
2db20c6138 servo: Merge #16506 - Make non-initial about:blank loads async (from cbrewster:about_chaos); r=asajeffrey
<!-- 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 #14856 (github issue number if applicable).

<!-- Either: -->
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: dc8cf694eddca6529bf4b3ac1066764473775192
2017-05-12 15:08:45 -05:00
Emilio Cobos Álvarez
cd917ee337 servo: Merge #16802 - style: Slim down SharedStyleContext, and do various other cleanups around the style crate (from emilio:slim-down-slc); r=bholley
This slims down SharedStyleContext, in preparation for a few things.

First, I would like to eventually move the stylist to the document in Servo, in
order for it to hold the StyleSheetSet.

Also, this gets rid of a fair amount of overhead while creating it in stylo.

Fixes bug 1363245.

Source-Repo: https://github.com/servo/servo
Source-Revision: eeb1ee9723777b0dc04e919556826eef628363fe
2017-05-12 08:56:47 -05:00
Manish Goregaokar
bb5919ae4f servo: Merge #16815 - Bump cssparser to 0.13.3 (from Manishearth:cssup); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: d1f2cdfb3d3db69e7c87904a08abe9672ee1bf97
2017-05-11 16:10:23 -05:00
Imanol Fernandez
e30f1fd211 servo: Merge #16816 - Fix unsafe casting between PersistentLayoutData and PartialPersistentLayoutData (from MortimerGoro:unsafe_layout_data_cast); r=SimonSapin
<!-- Please describe your changes on the following line: -->

PersistentLayoutData and PartialPersistentLayoutData castings in Layout component assume that they have the same base raw address. This is unsafe because field orders is not guaranteed by default, and it's causing some SEGV crashes on Android indeed (https://github.com/servo/servo/issues/16647)

Add a C representation to guarantee that the order of the fields and the safe casting.
---
<!-- 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 #16647 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: c277beab2b9c3294ea69c6088cd0dc3b1665717e
2017-05-11 14:47:24 -05:00
Anthony Ramine
4e2e8bc23f servo: Merge #16770 - Refactor Position (from nox:POSITION-DO-YOU-EVEN); r=Wafflespeanut,nox
Source-Repo: https://github.com/servo/servo
Source-Revision: d5efed6c6a3e05f09300a3ed36d0e1254fcb407c
2017-05-10 09:56:17 -05:00
Nathan Froyd
adf9e19c40 servo: Merge #16303 - bump required rayon version to 0.7 (from froydnj:rayon-version-bump); r=jdm
...and bring jpeg-decoder along for the ride.  Minor tweaks were necessary because of rayon API changes.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: fc3a7d03f2b0c5292e7414e7555fb75ae0b1d663
2017-05-08 21:36:48 -05:00
Simon Sapin
48b831396c servo: Merge #16756 - Upgrade to rustc 1.19.0-nightly (ced823e26 2017-05-07) (from servo:rustup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 19706085a7206144423a878f1617b32d56d406de
2017-05-08 16:06:56 -05:00