servo/components
bors-servo d43e191449
Auto merge of #25945 - mrobinson:track-hoisted, r=nox
layout_2020: Paint hoisted positioned fragments in tree order

Instead of painting hoisted position fragments in the order to which
they are hoisted, paint them in tree order and properly incorporate them
into the stacking context.

We do this by creating a placeholder fragment in the original tree position
of hoisted fragments. The ghost fragment contains an atomic id which
links back to the hoisted fragment in the containing block.

While building the stacking context, we keep track of containing blocks
and their children. When encountering a placeholder fragment we look at
the containing block's hoisted children in order to properly paint the
hoisted fragment.

One notable design modification in this change is that hoisted fragments
no longer need an AnonymousFragment as their parent. Instead they are
now direct children of the fragment that establishes their containing block.

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

<!-- 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. -->
2020-03-13 19:15:08 -04:00
..
allocator Update jemalloc-sys to 0.3.2 2019-11-20 00:00:00 +00:00
atoms Selection interface working for synthetic operations 2020-02-13 20:09:27 -05:00
background_hang_monitor Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
bluetooth Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
bluetooth_traits Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
canvas Add support for some more WebGL2 renderbuffer functions 2020-03-13 13:43:30 -04:00
canvas_traits Add support for some more WebGL2 renderbuffer functions 2020-03-13 13:43:30 -04:00
compositing Auto merge of #25855 - jdm:surface-inversion, r=Manishearth,asajeffrey 2020-03-09 19:58:21 -04:00
config Auto merge of #25923 - iulianR:issue-22312, r=jdm 2020-03-09 17:33:15 -04:00
config_plugins Upgrade to rustc 1.42.0-nightly (3291ae339 2020-01-15) 2020-01-16 08:46:41 +01:00
constellation Fixing some style related issues in WebGPU. 2020-02-27 15:10:24 +01:00
debugger Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
deny_public_fields Upgrade to rustc 1.42.0-nightly (3291ae339 2020-01-15) 2020-01-16 08:46:41 +01:00
derive_common derive_common: Fix example in documentation 2019-11-07 18:52:30 -06:00
devtools Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
devtools_traits Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
dom_struct Use #![register_tool] instead of #![register_attr] 2019-11-15 17:24:42 +01:00
domobject_derive Introduce a new type MaybeUnreflectedDom<T> (fixes #25701) 2020-02-17 10:17:47 +01:00
embedder_traits Auto merge of #25863 - servo:synup, r=jdm 2020-03-05 10:03:48 -05:00
fallible style: Update smallvec to 1.0. 2019-12-16 14:23:56 +01:00
geometry Fix some warnings new in Rust Nightly 2019-11-08 11:45:16 +01:00
gfx Remove azure canvas backend 2020-02-25 00:14:24 -05:00
gfx_traits
hashglobe Fix some warnings new in Rust Nightly 2019-11-08 11:45:16 +01:00
jstraceable_derive Bump all in-tree components to syn 1 2019-09-27 13:29:55 +02:00
layout Remove syn 0.15 from our crate graph (fixes #24421) 2020-03-05 13:01:13 +01:00
layout_2020 layout_2020: Paint hoisted positioned fragments in tree order 2020-03-11 12:47:06 +01:00
layout_thread Remove unnecessary .clone() calls 2020-03-04 20:09:56 +02:00
layout_thread_2020 Remove syn 0.15 from our crate graph (fixes #24421) 2020-03-05 13:01:13 +01:00
layout_traits Make Background Hang Monitor Optional 2020-02-23 01:45:52 +05:30
malloc_size_of Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
media Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
metrics Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
msg implement broadcastchannel 2020-02-25 14:17:48 +08:00
net Remove syn 0.15 from our crate graph (fixes #24421) 2020-03-05 13:01:13 +01:00
net_traits Remove syn 0.15 from our crate graph (fixes #24421) 2020-03-05 13:01:13 +01:00
pixels Addresses issues raised in #24465; removes redundancy in set_bitmap_dimensions 2019-11-10 18:37:14 -05:00
profile Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
profile_traits Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00
rand Update rand to 0.7 (fixes #24448) 2019-10-23 15:34:48 +02:00
range
remutex
script Auto merge of #25940 - pylbrecht:image.handling, r=jdm 2020-03-13 18:01:32 -04:00
script_layout_interface Make Background Hang Monitor Optional 2020-02-23 01:45:52 +05:30
script_plugins Update to 3/4 nightly rustc. 2020-03-10 10:09:07 -04:00
script_traits implement broadcastchannel 2020-02-25 14:17:48 +08:00
selectors Use the matches! macro from the standard library 2020-02-12 10:08:31 +01:00
servo Integrate swapchain surface provider changes into webgl and webxr implementations. 2020-03-09 17:50:54 -04:00
servo_arc style: Simplify code for keeping alive shared memory until all sheets go away. 2019-11-30 20:44:56 +01:00
size_of_test
std_test_override
style Update SpiderMonkey 2020-03-06 11:13:28 +01:00
style_derive style: Make rust generate better code for derive(Animate) and derive(ComputeSquaredDistance). 2020-02-12 02:43:21 +01:00
style_traits style: Miscellaneous Servo build fixes. 2020-02-12 02:43:23 +01:00
to_shmem style: Update smallvec to 1.0. 2019-12-16 14:23:56 +01:00
to_shmem_derive Bump all in-tree components to syn 1 2019-09-27 13:29:55 +02:00
url Update rand to 0.7 (fixes #24448) 2019-10-23 15:34:48 +02:00
webdriver_server Remove syn 0.15 from our crate graph (fixes #24421) 2020-03-05 13:01:13 +01:00
webgpu Fixing some style related issues in WebGPU. 2020-02-27 15:10:24 +01:00
webrender_traits Use non-IPC webrender API over explicit IPC channels. 2019-11-27 20:47:53 -05:00
webvr Update SpiderMonkey 2020-03-06 11:13:28 +01:00
webvr_traits Update ipc-channel and crossbeam-channel. 2020-02-20 11:15:13 -05:00