fune/servo/components/script_layout_interface
Imanol Fernandez c3ef7be747 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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 51c494d499c304cd69e5504acc1ed8399afada05
2017-05-12 20:44:02 -05:00
..
Cargo.toml servo: Merge #16815 - Bump cssparser to 0.13.3 (from Manishearth:cssup); r=metajack 2017-05-11 16:10:23 -05:00
lib.rs servo: Merge #16833 - Fix unsafe AtomicRefCell<T> transmutes in Layout component (from MortimerGoro:layout_alignment); r=SimonSapin 2017-05-12 20:44:02 -05:00
message.rs servo: Merge #16702 - Use a custom arc in the style system (from bholley:custom_arc); r=emilio 2017-05-02 20:01:10 -05:00
reporter.rs servo: Merge #16495 - Make tidy check that opening and closing braces that begin a line do … (from coalman:tidy-brace-alignment); r=emilio 2017-04-19 03:06:31 -05:00
rpc.rs servo: Merge #16531 - Eliminate ScrollRootId (from mrobinson:clip-id); r=glennw 2017-04-20 01:55:33 -05:00
wrapper_traits.rs servo: Merge #16506 - Make non-initial about:blank loads async (from cbrewster:about_chaos); r=asajeffrey 2017-05-12 15:08:45 -05:00