fune/servo/components/layout
Imanol Fernandez e89d06f1c7 servo: Merge #17891 - Improved WebGL architecture (from MortimerGoro:webgl_move); r=glennw,emilio
<!-- Please describe your changes on the following line: -->

Info about the big picture and the goals of the WebGL refactor in this thread: https://groups.google.com/forum/#!topic/mozilla.dev.servo/0WMGz60kKzQ

I tried to reduce this PR as much as possible as requested in the thread. I'll do separate PRs for other features (e.g.: Batch messages or use shared memory to improve frame times) or fixes.

Some tips to ease the review process:
- Most changes in DOM objects follow the same pattern (remove CanvasMsg wrapper and use the new sender method).
- WebGLCommands are the same ones as before (moved from webrender_api). So those lines are already reviewed.
- See WebGL traits in [components/canvas_traits/webgl.rs](https://github.com/servo/servo/pull/17891/files#diff-8701045d01505418701d0631d4d45562)
- See WebGLThread and WR External Image bridge in [components/canvas/webgl_thread.rs](https://github.com/servo/servo/pull/17891/files#diff-281554879f39a2a041f7a69d442a5d2e)
- The implementation submitted in this PR creates a single `WebGLThread` for all ScriptThread/Pipelines. See that in [components/canvas/webgl_mode/inprocess.rs](https://github.com/servo/servo/pull/17891/files#diff-250070c6c5a38c7f9fa0f5b3c101f68b)

The conformance tests will help to guarantee that we don't miss anything.

---
<!-- 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: 90f55ea4580e2a15f7d70d0491444f18b972d450

--HG--
rename : servo/tests/unit/style/rule_tree/mod.rs => servo/components/canvas/webgl_mode/mod.rs
rename : servo/components/canvas_traits/lib.rs => servo/components/canvas_traits/canvas.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d476816b29986c4abfd61ff3c7b46aa189f2f50a
2017-08-15 16:00:10 -05:00
..
animation.rs servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio 2017-08-15 07:31:04 -05:00
block.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
Cargo.toml servo: Merge #17775 - Replace all uses of the style::stylearc alias with servo_arc (from michael-p:rename-stylearc-to-servo-arc); r=emilio 2017-07-19 06:03:17 -07:00
construct.rs servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio 2017-08-15 07:31:04 -05:00
context.rs servo: Merge #17810 - Script paint worklets speculative evaluation (from asajeffrey:script-paint-worklets-speculative-evaluation); r=emilio 2017-07-31 13:13:26 -05:00
data.rs servo: Merge #17025 - script/layout: Stop doing unsafe transmutes between refcell references (from emilio:layout-data); r=jdm 2017-05-25 19:58:47 -05:00
display_list_builder.rs servo: Merge #17891 - Improved WebGL architecture (from MortimerGoro:webgl_move); r=glennw,emilio 2017-08-15 16:00:10 -05:00
flex.rs servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio 2017-08-15 07:31:04 -05:00
floats.rs servo: Merge #17390 - Untry (from servo:untry); r=nox 2017-06-18 05:55:11 -07:00
flow.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
flow_list.rs servo: Merge #17390 - Untry (from servo:untry); r=nox 2017-06-18 05:55:11 -07:00
flow_ref.rs servo: Merge #13740 - Migrated -Z trace-layout to serde_json (from shinglyu:layout_serde); r=jdm 2016-11-07 02:15:03 -06:00
fragment.rs servo: Merge #17891 - Improved WebGL architecture (from MortimerGoro:webgl_move); r=glennw,emilio 2017-08-15 16:00:10 -05:00
generated_content.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
incremental.rs servo: Merge #16458 - layout: Force reflow in the sequential fallback of block format context (from stshine:sequential-fallback); r=pcwalton,emilio 2017-04-22 23:55:22 -05:00
inline.rs servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio 2017-08-15 07:31:04 -05:00
layout_debug.rs servo: Merge #15588 - Update serde to 0.9 (from servo:serde); r=SimonSapin 2017-02-18 12:10:26 -08:00
lib.rs servo: Merge #17775 - Replace all uses of the style::stylearc alias with servo_arc (from michael-p:rename-stylearc-to-servo-arc); r=emilio 2017-07-19 06:03:17 -07:00
linked_list.rs servo: Merge #11930 - Remove some util stuff (from nox:die-util-die); r=SimonSapin 2016-06-29 15:37:42 -05:00
list_item.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
model.rs servo: Merge #17767 - stylo: Fuse ServoStyleContext and ServoComputedValues (from Manishearth:stylo-fuse); r=bholley 2017-07-17 19:44:25 -07:00
multicol.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
opaque_node.rs servo: Merge #11754 - Move ServoLayoutNode and related structs to script (from Ms2ger:wrapper-traits-prep2); r=nox 2016-06-20 12:54:20 -05:00
parallel.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
persistent_list.rs servo: Merge #9713 - Move util::persistent_list to layout (from timvandermeij:move-persistent-list); r=nox 2016-02-20 23:46:19 +05:01
query.rs servo: Merge #17783 - stylo: Bug 1374233 - Clamp interpolated values for properties which need to be restricted (from BorisChiou:stylo/animation/restrictions); r=nox 2017-08-07 11:05:17 -05:00
sequential.rs servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio 2017-08-15 07:31:04 -05:00
table.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
table_caption.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
table_cell.rs servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio 2017-08-15 07:31:04 -05:00
table_colgroup.rs servo: Merge #17923 - Fix fixed position items with parents with CSS clips (from mrobinson:fixed-position-css-clip); r=emilio 2017-08-04 11:17:24 -05:00
table_row.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
table_rowgroup.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
table_wrapper.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
text.rs servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio 2017-08-15 07:31:04 -05:00
traversal.rs servo: Merge #18004 - Clean up and simplify layout traversal code (from mbrubeck:layout-cleanup); r=pcwalton 2017-08-08 14:04:23 -05:00
webrender_helpers.rs servo: Merge #17891 - Improved WebGL architecture (from MortimerGoro:webgl_move); r=glennw,emilio 2017-08-15 16:00:10 -05:00
wrapper.rs servo: Merge #17744 - script: Move the layout_wrapper outside of script (from emilio:ensure-data); r=nox 2017-07-15 07:44:08 -07:00