layout: Implement support for overflow: scroll in WebRender.

Includes a WebRender upgrade.

Improves Twitter.
This commit is contained in:
Patrick Walton 2016-04-19 11:30:38 -07:00
parent bd4b3a66a2
commit 63279c316b
6 changed files with 36 additions and 12 deletions

View file

@ -1294,8 +1294,9 @@ impl FragmentDisplayListBuilding for Fragment {
scroll_policy: ScrollPolicy,
mode: StackingContextCreationMode)
-> Box<StackingContext> {
let use_webrender = opts::get().use_webrender;
let border_box = match mode {
StackingContextCreationMode::InnerScrollWrapper => {
StackingContextCreationMode::InnerScrollWrapper if !use_webrender => {
Rect::new(Point2D::zero(), base_flow.overflow.scroll.size)
}
_ => {
@ -1308,9 +1309,12 @@ impl FragmentDisplayListBuilding for Fragment {
}
};
let overflow = match mode {
StackingContextCreationMode::InnerScrollWrapper => {
StackingContextCreationMode::InnerScrollWrapper if !use_webrender => {
Rect::new(Point2D::zero(), base_flow.overflow.paint.size)
}
StackingContextCreationMode::InnerScrollWrapper if use_webrender => {
Rect::new(Point2D::zero(), base_flow.overflow.scroll.size)
}
StackingContextCreationMode::OuterScrollWrapper => {
Rect::new(Point2D::zero(), border_box.size)
}