Chromium Code Reviews| Index: cc/layers/picture_layer_impl.cc |
| diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
| index eb90e955d9e699b613001cf3552de27af76fdc81..6905d2abeb2aab6c0f05ca325de40cfc17f232c4 100644 |
| --- a/cc/layers/picture_layer_impl.cc |
| +++ b/cc/layers/picture_layer_impl.cc |
| @@ -88,7 +88,8 @@ PictureLayerImpl::PictureLayerImpl(LayerTreeImpl* tree_impl, int id) |
| needs_post_commit_initialization_(true), |
| should_update_tile_priorities_(false), |
| only_used_low_res_last_append_quads_(false), |
| - is_mask_(false) { |
| + is_mask_(false), |
| + nearest_neighbor_(false) { |
| layer_tree_impl()->RegisterPictureLayerImpl(this); |
| } |
| @@ -134,6 +135,7 @@ void PictureLayerImpl::PushPropertiesTo(LayerImpl* base_layer) { |
| layer_impl->twin_layer_ = this; |
| layer_impl->set_is_mask(is_mask_); |
| + layer_impl->SetNearestNeighbor(nearest_neighbor_); |
| layer_impl->UpdateRasterSource(raster_source_); |
| DCHECK_IMPLIES(raster_source_->IsSolidColor(), tilings_->num_tilings() == 0); |
| @@ -250,8 +252,9 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
| PictureDrawQuad* quad = |
| render_pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| quad->SetNew(shared_quad_state, geometry_rect, opaque_rect, |
| - visible_geometry_rect, texture_rect, texture_size, RGBA_8888, |
| - quad_content_rect, max_contents_scale, raster_source_); |
| + visible_geometry_rect, texture_rect, texture_size, |
| + nearest_neighbor_, RGBA_8888, quad_content_rect, |
| + max_contents_scale, raster_source_); |
| return; |
| } |
| @@ -363,7 +366,8 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
| draw_info.get_resource_id(), |
| texture_rect, |
| iter.texture_size(), |
| - draw_info.contents_swizzled()); |
| + draw_info.contents_swizzled(), |
| + nearest_neighbor_); |
| has_draw_quad = true; |
| break; |
| } |
| @@ -385,8 +389,8 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
| render_pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| quad->SetNew(shared_quad_state, geometry_rect, opaque_rect, |
| visible_geometry_rect, texture_rect, iter.texture_size(), |
| - format, iter->content_rect(), iter->contents_scale(), |
| - raster_source_); |
| + nearest_neighbor_, format, iter->content_rect(), |
| + iter->contents_scale(), raster_source_); |
| has_draw_quad = true; |
| break; |
| } |
| @@ -861,6 +865,13 @@ void PictureLayerImpl::GetContentsResourceId( |
| *resource_size = iter.texture_size(); |
| } |
| +void PictureLayerImpl::SetNearestNeighbor(bool nearest_neighbor) { |
| + if (nearest_neighbor_ != nearest_neighbor) { |
|
danakj
2014/12/09 19:44:45
if == return
jackhou1
2014/12/10 01:04:15
Done.
|
| + nearest_neighbor_ = nearest_neighbor; |
| + SetNeedsPushProperties(); |
|
danakj
2014/12/09 19:44:45
NoteLayerPropertyChanged instead
jackhou1
2014/12/10 01:04:15
Done.
|
| + } |
| +} |
| + |
| void PictureLayerImpl::DoPostCommitInitialization() { |
| DCHECK(needs_post_commit_initialization_); |
| DCHECK(layer_tree_impl()->IsPendingTree()); |