| Index: cc/blimp/layer_tree_host_remote.cc | 
| diff --git a/cc/blimp/layer_tree_host_remote.cc b/cc/blimp/layer_tree_host_remote.cc | 
| index fb7439b55a69df6fd6009310db856a1e09032537..290a601c111b3b8af3033394ce1dac9118d8f89d 100644 | 
| --- a/cc/blimp/layer_tree_host_remote.cc | 
| +++ b/cc/blimp/layer_tree_host_remote.cc | 
| @@ -515,10 +515,13 @@ void LayerTreeHostRemote::SerializeCurrentState( | 
| inputs_only); | 
|  | 
| // Serialize the dirty layers. | 
| -  for (auto* layer : layer_tree_->LayersThatShouldPushProperties()) | 
| +  std::unordered_set<Layer*> layers_need_push_properties; | 
| +  layers_need_push_properties.swap( | 
| +      layer_tree_->LayersThatShouldPushProperties()); | 
| + | 
| +  for (auto* layer : layers_need_push_properties) | 
| layer->ToLayerPropertiesProto( | 
| layer_tree_host_proto->mutable_layer_updates(), inputs_only); | 
| -  layer_tree_->LayersThatShouldPushProperties().clear(); | 
|  | 
| std::vector<PictureData> pictures = | 
| engine_picture_cache_->CalculateCacheUpdateAndFlush(); | 
|  |