| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/layers/picture_layer.h" | 5 #include "cc/layers/picture_layer.h" |
| 6 | 6 |
| 7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
| 8 #include "base/trace_event/trace_event.h" | 8 #include "base/trace_event/trace_event.h" |
| 9 #include "cc/layers/content_layer_client.h" | 9 #include "cc/layers/content_layer_client.h" |
| 10 #include "cc/layers/picture_layer_impl.h" | 10 #include "cc/layers/picture_layer_impl.h" |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 DCHECK_EQ(layer_impl->is_mask(), is_mask_); | 53 DCHECK_EQ(layer_impl->is_mask(), is_mask_); |
| 54 DropRecordingSourceContentIfInvalid(); | 54 DropRecordingSourceContentIfInvalid(); |
| 55 | 55 |
| 56 layer_impl->SetNearestNeighbor(picture_layer_inputs_.nearest_neighbor); | 56 layer_impl->SetNearestNeighbor(picture_layer_inputs_.nearest_neighbor); |
| 57 | 57 |
| 58 // Preserve lcd text settings from the current raster source. | 58 // Preserve lcd text settings from the current raster source. |
| 59 bool can_use_lcd_text = layer_impl->RasterSourceUsesLCDText(); | 59 bool can_use_lcd_text = layer_impl->RasterSourceUsesLCDText(); |
| 60 scoped_refptr<RasterSource> raster_source = | 60 scoped_refptr<RasterSource> raster_source = |
| 61 recording_source_->CreateRasterSource(can_use_lcd_text); | 61 recording_source_->CreateRasterSource(can_use_lcd_text); |
| 62 layer_impl->set_gpu_raster_max_texture_size( | 62 layer_impl->set_gpu_raster_max_texture_size( |
| 63 GetLayerTree()->device_viewport_size()); | 63 layer_tree_host()->device_viewport_size()); |
| 64 layer_impl->UpdateRasterSource(raster_source, &last_updated_invalidation_, | 64 layer_impl->UpdateRasterSource(raster_source, &last_updated_invalidation_, |
| 65 nullptr); | 65 nullptr); |
| 66 DCHECK(last_updated_invalidation_.IsEmpty()); | 66 DCHECK(last_updated_invalidation_.IsEmpty()); |
| 67 } | 67 } |
| 68 | 68 |
| 69 void PictureLayer::SetLayerTreeHost(LayerTreeHost* host) { | 69 void PictureLayer::SetLayerTreeHost(LayerTreeHost* host) { |
| 70 Layer::SetLayerTreeHost(host); | 70 Layer::SetLayerTreeHost(host); |
| 71 if (!host) | 71 if (!host) |
| 72 return; | 72 return; |
| 73 | 73 |
| 74 if (!recording_source_) | 74 if (!recording_source_) |
| 75 recording_source_.reset(new RecordingSource); | 75 recording_source_.reset(new RecordingSource); |
| 76 recording_source_->SetSlowdownRasterScaleFactor( | 76 recording_source_->SetSlowdownRasterScaleFactor( |
| 77 host->GetDebugState().slow_down_raster_scale_factor); | 77 host->GetDebugState().slow_down_raster_scale_factor); |
| 78 // If we need to enable image decode tasks, then we have to generate the | 78 // If we need to enable image decode tasks, then we have to generate the |
| 79 // discardable images metadata. | 79 // discardable images metadata. |
| 80 const LayerTreeSettings& settings = layer_tree_host()->GetSettings(); | 80 const LayerTreeSettings& settings = layer_tree_host()->GetSettings(); |
| 81 recording_source_->SetGenerateDiscardableImagesMetadata( | 81 recording_source_->SetGenerateDiscardableImagesMetadata( |
| 82 settings.image_decode_tasks_enabled); | 82 settings.image_decode_tasks_enabled); |
| 83 } | 83 } |
| 84 | 84 |
| 85 void PictureLayer::SetNeedsDisplayRect(const gfx::Rect& layer_rect) { | 85 void PictureLayer::SetNeedsDisplayRect(const gfx::Rect& layer_rect) { |
| 86 DCHECK(!layer_tree_host() || !GetLayerTree()->in_paint_layer_contents()); | 86 DCHECK(!layer_tree_host() || !layer_tree_host()->in_paint_layer_contents()); |
| 87 if (recording_source_) | 87 if (recording_source_) |
| 88 recording_source_->SetNeedsDisplayRect(layer_rect); | 88 recording_source_->SetNeedsDisplayRect(layer_rect); |
| 89 Layer::SetNeedsDisplayRect(layer_rect); | 89 Layer::SetNeedsDisplayRect(layer_rect); |
| 90 } | 90 } |
| 91 | 91 |
| 92 bool PictureLayer::Update() { | 92 bool PictureLayer::Update() { |
| 93 update_source_frame_number_ = layer_tree_host()->SourceFrameNumber(); | 93 update_source_frame_number_ = layer_tree_host()->SourceFrameNumber(); |
| 94 bool updated = Layer::Update(); | 94 bool updated = Layer::Update(); |
| 95 | 95 |
| 96 gfx::Size layer_size = paint_properties().bounds; | 96 gfx::Size layer_size = paint_properties().bounds; |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 picture_layer_inputs_.display_list = nullptr; | 226 picture_layer_inputs_.display_list = nullptr; |
| 227 picture_layer_inputs_.painter_reported_memory_usage = 0; | 227 picture_layer_inputs_.painter_reported_memory_usage = 0; |
| 228 } | 228 } |
| 229 } | 229 } |
| 230 | 230 |
| 231 const DisplayItemList* PictureLayer::GetDisplayItemList() { | 231 const DisplayItemList* PictureLayer::GetDisplayItemList() { |
| 232 return picture_layer_inputs_.display_list.get(); | 232 return picture_layer_inputs_.display_list.get(); |
| 233 } | 233 } |
| 234 | 234 |
| 235 } // namespace cc | 235 } // namespace cc |
| OLD | NEW |