Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

layout: Fix some particularly bad cases of spurious reflows leading to script thread unresponsiveness. #14418

Merged
merged 5 commits into from Dec 1, 2016
Prev

layout: Minor style cleanup.

  • Loading branch information
pcwalton committed Dec 1, 2016
commit ca3d802f03110c8b572bdc26e102934c037af2e0
@@ -88,7 +88,8 @@ pub fn update_animation_state(constellation_chan: &IpcSender<ConstellationMsg>,

if let Animation::Transition(_, unsafe_node, _, ref frame, _) = running_animation {
script_chan.send(ConstellationControlMsg::TransitionEnd(unsafe_node,
frame.property_animation.property_name(),
frame.property_animation
.property_name(),
frame.duration))
.unwrap();
}
@@ -113,7 +114,7 @@ pub fn update_animation_state(constellation_chan: &IpcSender<ConstellationMsg>,
for new_running_animation in new_running_animations {
running_animations.entry(*new_running_animation.node())
.or_insert_with(Vec::new)
.push(new_running_animation);
.push(new_running_animation)
}

let animation_state = if running_animations.is_empty() {
@@ -122,7 +123,8 @@ pub fn update_animation_state(constellation_chan: &IpcSender<ConstellationMsg>,
AnimationState::AnimationsPresent
};

constellation_chan.send(ConstellationMsg::ChangeRunningAnimationsState(pipeline_id, animation_state))
constellation_chan.send(ConstellationMsg::ChangeRunningAnimationsState(pipeline_id,
animation_state))
.unwrap();
}

@@ -359,7 +359,9 @@ pub fn start_transitions_if_applicable(new_animations_sender: &Sender<Animation>
let mut had_animations = false;
for i in 0..new_style.get_box().transition_property_count() {
// Create any property animations, if applicable.
let property_animations = PropertyAnimation::from_transition(i, old_style, Arc::make_mut(new_style));
let property_animations = PropertyAnimation::from_transition(i,
old_style,
Arc::make_mut(new_style));
for property_animation in property_animations {
// Per [1], don't trigger a new transition if the end state for that transition is
// the same as that of a transition that's already running on the same node.
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.