fune/servo/components/script
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
..
docs servo: Merge #15715 - Make #[dom_struct] a proc_macro attribute (from nox:custom-derive); r=SimonSapin 2017-02-24 05:56:30 -08:00
dom servo: Merge #17891 - Improved WebGL architecture (from MortimerGoro:webgl_move); r=glennw,emilio 2017-08-15 16:00:10 -05:00
task_source servo: Merge #17298 - Added Debug implementations (from asajeffrey:script-more-debug-impls); r=mbrubeck 2017-06-13 10:31:25 -07:00
body.rs servo: Merge #17390 - Untry (from servo:untry); r=nox 2017-06-18 05:55:11 -07:00
build.rs servo: Merge #15319 - Fix hardcoded path to link.exe (from UK992:win32); r=emilio,larsbergstrom 2017-02-03 09:59:11 -08:00
Cargo.toml servo: Merge #18025 - Update to cssparser 0.19, count line numbers during tokenization (from servo:line-counting); r=jdm 2017-08-09 16:16:33 -05:00
clipboard_provider.rs servo: Merge #17425 - cleanup embedder/compositor/constellation/script messages (from paulrouget:attach-pipeline-2); r=asajeffrey 2017-08-15 02:20:10 -05:00
CMakeLists.txt
devtools.rs servo: Merge #15536 - Implement setter for document.domain (from asajeffrey:script-document-domain-setter); r=nox 2017-03-15 08:35:41 -07:00
document_loader.rs servo: Merge #15771 - Improve behaviour of image elements that perform multiple requests (from jdm:img-panic); r=nox 2017-03-08 04:28:58 -08:00
fetch.rs servo: Merge #16508 - Properly set origin of fetch requests (from brainlessdeveloper:fetch-set-origin); r=asajeffrey 2017-07-17 08:29:23 -07:00
layout_image.rs servo: Merge #16508 - Properly set origin of fetch requests (from brainlessdeveloper:fetch-set-origin); r=asajeffrey 2017-07-17 08:29:23 -07:00
lib.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
mem.rs
microtask.rs servo: Merge #17614 - Implement custom element reactions (from cbrewster:custom_element_reactions); r=jdm 2017-07-17 22:58:53 -07:00
network_listener.rs
script_runtime.rs servo: Merge #17298 - Added Debug implementations (from asajeffrey:script-more-debug-impls); r=mbrubeck 2017-06-13 10:31:25 -07:00
script_thread.rs servo: Merge #17891 - Improved WebGL architecture (from MortimerGoro:webgl_move); r=glennw,emilio 2017-08-15 16:00:10 -05:00
serviceworker_manager.rs servo: Merge #17749 - Extra space check (from SergeevPavel:extra-space-check); r=jdm 2017-07-19 16:03:51 -07:00
serviceworkerjob.rs servo: Merge #15189 - Implement microtask checkpoints (from jdm:microtasks); r=nox 2017-02-03 07:53:17 -08:00
stylesheet_loader.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
test.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
textinput.rs servo: Merge #17067 - Bring back clipboard support (from est31:master); r=jdm 2017-06-01 10:07:16 -07:00
timers.rs servo: Merge #17672 - Use boxed slice instead of vec for FuntionTimerCallback (from sadmansk:heap_in_box); r=jdm 2017-07-11 18:55:18 -07:00
unpremultiplytable.rs
webdriver_handlers.rs servo: Merge #17950 - Replace downcast with is (from DarkDrek:downcast_to_is); r=jdm 2017-08-02 21:01:12 -05:00