Auto merge of #8597 - r0e:testing, r=Manishearth

Fix for #8593 'loop..match' should be 'while let'

As per #8593.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8597)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-11-23 08:18:20 +05:30
commit e3eee5a41b
3 changed files with 29 additions and 47 deletions

View file

@ -681,17 +681,11 @@ impl<LTF: LayoutTaskFactory, STF: ScriptTaskFactory> Constellation<LTF, STF> {
self.close_pipeline(pipeline_id, ExitPipelineMode::Force); self.close_pipeline(pipeline_id, ExitPipelineMode::Force);
loop { while let Some(pending_pipeline_id) = self.pending_frames.iter().find(|pending| {
let pending_pipeline_id = self.pending_frames.iter().find(|pending| {
pending.old_pipeline_id == Some(pipeline_id) pending.old_pipeline_id == Some(pipeline_id)
}).map(|frame| frame.new_pipeline_id); }).map(|frame| frame.new_pipeline_id) {
match pending_pipeline_id {
Some(pending_pipeline_id) => {
debug!("removing pending frame change for failed pipeline"); debug!("removing pending frame change for failed pipeline");
self.close_pipeline(pending_pipeline_id, ExitPipelineMode::Force); self.close_pipeline(pending_pipeline_id, ExitPipelineMode::Force);
},
None => break,
}
} }
debug!("creating replacement pipeline for about:failure"); debug!("creating replacement pipeline for about:failure");
@ -1241,20 +1235,14 @@ impl<LTF: LayoutTaskFactory, STF: ScriptTaskFactory> Constellation<LTF, STF> {
// other hand, if no frames can be enabled after looping through all pending // other hand, if no frames can be enabled after looping through all pending
// frames, we can safely exit the loop, knowing that we will need to wait on // frames, we can safely exit the loop, knowing that we will need to wait on
// a dependent pipeline to be ready to paint. // a dependent pipeline to be ready to paint.
loop { while let Some(valid_frame_change) = self.pending_frames.iter().rposition(|frame_change| {
let valid_frame_change = self.pending_frames.iter().rposition(|frame_change| {
let waiting_on_dependency = frame_change.old_pipeline_id.map_or(false, |old_pipeline_id| { let waiting_on_dependency = frame_change.old_pipeline_id.map_or(false, |old_pipeline_id| {
self.pipeline_to_frame_map.get(&old_pipeline_id).is_none() self.pipeline_to_frame_map.get(&old_pipeline_id).is_none()
}); });
frame_change.painter_ready && !waiting_on_dependency frame_change.painter_ready && !waiting_on_dependency
}); }) {
if let Some(valid_frame_change) = valid_frame_change {
let frame_change = self.pending_frames.swap_remove(valid_frame_change); let frame_change = self.pending_frames.swap_remove(valid_frame_change);
self.add_or_replace_pipeline_in_frame_tree(frame_change); self.add_or_replace_pipeline_in_frame_tree(frame_change);
} else {
break;
}
} }
} }

View file

@ -1169,9 +1169,7 @@ impl BlockFlow {
// Can't use `for` because we assign to // Can't use `for` because we assign to
// `candidate_block_size_iterator.candidate_value`. // `candidate_block_size_iterator.candidate_value`.
loop { while let Some(block_size_used_val) = candidate_block_size_iterator.next() {
match candidate_block_size_iterator.next() {
Some(block_size_used_val) => {
solution = Some( solution = Some(
BSizeConstraintSolution::solve_vertical_constraints_abs_nonreplaced( BSizeConstraintSolution::solve_vertical_constraints_abs_nonreplaced(
block_size_used_val, block_size_used_val,
@ -1185,9 +1183,6 @@ impl BlockFlow {
candidate_block_size_iterator.candidate_value candidate_block_size_iterator.candidate_value
= solution.unwrap().block_size; = solution.unwrap().block_size;
} }
None => break,
}
}
} }
} }

View file

@ -524,18 +524,17 @@ pub mod specified {
let mut products = Vec::new(); let mut products = Vec::new();
products.push(try!(CalcLengthOrPercentage::parse_product(input, expected_unit))); products.push(try!(CalcLengthOrPercentage::parse_product(input, expected_unit)));
loop { while let Ok(token) = input.next() {
match input.next() { match token {
Ok(Token::Delim('+')) => { Token::Delim('+') => {
products.push(try!(CalcLengthOrPercentage::parse_product(input, expected_unit))); products.push(try!(CalcLengthOrPercentage::parse_product(input, expected_unit)));
} }
Ok(Token::Delim('-')) => { Token::Delim('-') => {
let mut right = try!(CalcLengthOrPercentage::parse_product(input, expected_unit)); let mut right = try!(CalcLengthOrPercentage::parse_product(input, expected_unit));
right.values.push(CalcValueNode::Number(-1.)); right.values.push(CalcValueNode::Number(-1.));
products.push(right); products.push(right);
} }
Ok(_) => return Err(()), _ => return Err(())
_ => break
} }
} }