diff options
author | Patrick Walton <pcwalton@mimiga.net> | 2015-05-13 17:13:59 -0700 |
---|---|---|
committer | Patrick Walton <pcwalton@mimiga.net> | 2015-05-19 16:53:51 -0700 |
commit | 6a197719b30a5731b168b4ca5b6351f3d487d651 (patch) | |
tree | 96e5d1f6f3be89512dabbe055e03cf2409b116a7 /components/script/layout_interface.rs | |
parent | acb9824229bf9e02eaabdb9d924f7db242a1ac85 (diff) | |
download | servo-6a197719b30a5731b168b4ca5b6351f3d487d651.tar.gz servo-6a197719b30a5731b168b4ca5b6351f3d487d651.zip |
compositing: Implement display ports and avoid creating display lists
for items outside it.
This improves Servo's performance on large pages.
Diffstat (limited to 'components/script/layout_interface.rs')
-rw-r--r-- | components/script/layout_interface.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/components/script/layout_interface.rs b/components/script/layout_interface.rs index ad474a0daed..2ebb00d5cf8 100644 --- a/components/script/layout_interface.rs +++ b/components/script/layout_interface.rs @@ -11,6 +11,7 @@ use dom::node::LayoutData; use geom::point::Point2D; use geom::rect::Rect; use libc::uintptr_t; +use msg::compositor_msg::LayerId; use msg::constellation_msg::{PipelineExitType, WindowSizeData}; use msg::compositor_msg::Epoch; use net_traits::PendingAsyncLoad; @@ -47,6 +48,10 @@ pub enum Msg { /// Requests that the layout task render the next frame of all animations. TickAnimations, + /// Updates the layout visible rects, affecting the area that display lists will be constructed + /// for. + SetVisibleRects(Vec<(LayerId, Rect<Au>)>), + /// Destroys layout data associated with a DOM node. /// /// TODO(pcwalton): Maybe think about batching to avoid message traffic. |