servo/components/util
Martin Robinson e7019f2721 Flatten display list structure
Instead of producing a tree of stacking contexts, display list
generation now produces a flat list of display items and a tree of
stacking contexts. This will eventually allow display list construction
to produce and modify WebRender vertex buffers directly, removing the
overhead of display list conversion.  This change also moves
layerization of the display list to the paint thread, since it isn't
currently useful for WebRender.

To accomplish this, display list generation now takes three passes of
the flow tree:

        1. Calculation of absolute positions.
        2. Collection of a tree of stacking contexts.
        3. Creation of a list of display items.

After collection of display items, they are sorted based upon the index
of their parent stacking contexts and their position in CSS 2.1
Appendeix E stacking order.

This is a big change, but it actually simplifies display list generation.
2016-03-01 14:50:07 -08:00
..
cache.rs Upgrade to new Hasher API 2016-02-03 20:06:39 +01:00
Cargo.toml Move util::range into its own crate 2016-02-25 21:06:10 -05:00
debug_utils.rs Issue #9042: Report incorrect number of spaces around => in the style checker. 2015-12-23 20:54:26 +01:00
geometry.rs Say farewell to in-tree HeapSizeOf 2016-02-04 22:03:32 +01:00
ipc.rs Update ipc-channel to pick up the improved error reporting. 2015-11-23 16:38:39 -08:00
lib.rs Move util::range into its own crate 2016-02-25 21:06:10 -05:00
linked_list.rs util: Remove the old broken SerializableLinkedList code in favor of 2015-07-31 08:42:29 -07:00
non_geckolib.rs Say farewell to in-tree HeapSizeOf 2016-02-04 22:03:32 +01:00
opts.rs Remove parallel display list construction 2016-02-19 15:53:12 -08:00
prefs.rs Fix a bunch of clippy lints 2016-01-02 23:27:15 +01:00
print_tree.rs Flatten display list structure 2016-03-01 14:50:07 -08:00
resource_files.rs Follow executable symlink to resolve resources directory 2016-02-16 19:12:55 +08:00
str.rs Implement From<DOMString> for Atom 2016-02-24 17:52:17 +01:00
thread.rs task -> thread 2016-01-10 17:58:13 +09:00
thread_state.rs task -> thread 2016-01-10 17:58:13 +09:00
threadpool.rs task -> thread 2016-01-10 17:58:13 +09:00
tid.rs task -> thread 2016-01-10 17:58:13 +09:00
time.rs Use thread::sleep instead of deprecated sleep_ms 2015-11-29 13:41:04 -07:00
vec.rs Remove util::vec::Comparator 2016-03-01 14:28:16 +01:00
workqueue.rs Switch to external deque crate 2016-02-17 11:05:37 -05:00