Auto merge of #10993 - pcwalton:fix-animations, r=glennw

compositing: Perform animation-related compositing operations in WebRender.

I accidentally removed this code in #10936.

Fixes transitions.

r? @glennw

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10993)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2016-05-04 16:26:08 -07:00
commit c1252a40d9

View file

@ -633,7 +633,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
debug!("delayed composition timeout!"); debug!("delayed composition timeout!");
if let CompositionRequest::DelayedComposite(this_timestamp) = if let CompositionRequest::DelayedComposite(this_timestamp) =
self.composition_request { self.composition_request {
if timestamp == this_timestamp && !opts::get().use_webrender { if timestamp == this_timestamp {
self.composition_request = CompositionRequest::CompositeNow( self.composition_request = CompositionRequest::CompositeNow(
CompositingReason::DelayedCompositeTimeout) CompositingReason::DelayedCompositeTimeout)
} }
@ -752,7 +752,7 @@ impl<Window: WindowMethods> IOCompositor<Window> {
match animation_state { match animation_state {
AnimationState::AnimationsPresent => { AnimationState::AnimationsPresent => {
self.pipeline_details(pipeline_id).animations_running = true; self.pipeline_details(pipeline_id).animations_running = true;
self.composite_if_necessary_if_not_using_webrender(CompositingReason::Animation); self.composite_if_necessary(CompositingReason::Animation);
} }
AnimationState::AnimationCallbacksPresent => { AnimationState::AnimationCallbacksPresent => {
if !self.pipeline_details(pipeline_id).animation_callbacks_running { if !self.pipeline_details(pipeline_id).animation_callbacks_running {
@ -1668,9 +1668,12 @@ impl<Window: WindowMethods> IOCompositor<Window> {
/// necessary. /// necessary.
fn perform_updates_after_scroll(&mut self) { fn perform_updates_after_scroll(&mut self) {
self.send_updated_display_ports_to_layout(); self.send_updated_display_ports_to_layout();
if opts::get().use_webrender {
return
}
if self.send_buffer_requests_for_all_layers() { if self.send_buffer_requests_for_all_layers() {
self.schedule_delayed_composite_if_necessary(); self.schedule_delayed_composite_if_necessary();
} else if !opts::get().use_webrender { } else {
self.channel_to_self.send(Msg::Recomposite(CompositingReason::ContinueScroll)); self.channel_to_self.send(Msg::Recomposite(CompositingReason::ContinueScroll));
} }
} }