OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
(...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 host_impl()->pending_tree(), layer_id() + 1, pending_raster_source); | 564 host_impl()->pending_tree(), layer_id() + 1, pending_raster_source); |
565 FakePictureLayerImpl* pending_child_raw = pending_child.get(); | 565 FakePictureLayerImpl* pending_child_raw = pending_child.get(); |
566 pending_child_raw->SetDrawsContent(true); | 566 pending_child_raw->SetDrawsContent(true); |
567 pending_layer()->AddChild(std::move(pending_child)); | 567 pending_layer()->AddChild(std::move(pending_child)); |
568 | 568 |
569 // Set a small viewport, so we have soon and eventually tiles. | 569 // Set a small viewport, so we have soon and eventually tiles. |
570 host_impl()->SetViewportSize(gfx::Size(200, 200)); | 570 host_impl()->SetViewportSize(gfx::Size(200, 200)); |
571 host_impl()->AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); | 571 host_impl()->AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); |
572 bool update_lcd_text = false; | 572 bool update_lcd_text = false; |
573 host_impl()->pending_tree()->property_trees()->needs_rebuild = true; | 573 host_impl()->pending_tree()->property_trees()->needs_rebuild = true; |
574 host_impl()->pending_tree()->BuildPropertyTreesForTesting(); | 574 host_impl()->pending_tree()->BuildLayerListAndPropertyTreesForTesting(); |
575 host_impl()->pending_tree()->UpdateDrawProperties(update_lcd_text); | 575 host_impl()->pending_tree()->UpdateDrawProperties(update_lcd_text); |
576 | 576 |
577 host_impl()->SetRequiresHighResToDraw(); | 577 host_impl()->SetRequiresHighResToDraw(); |
578 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( | 578 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( |
579 SMOOTHNESS_TAKES_PRIORITY, RasterTilePriorityQueue::Type::ALL)); | 579 SMOOTHNESS_TAKES_PRIORITY, RasterTilePriorityQueue::Type::ALL)); |
580 EXPECT_FALSE(queue->IsEmpty()); | 580 EXPECT_FALSE(queue->IsEmpty()); |
581 | 581 |
582 // Get all the tiles that are NOW or SOON and make sure they are ready to | 582 // Get all the tiles that are NOW or SOON and make sure they are ready to |
583 // draw. | 583 // draw. |
584 std::vector<Tile*> all_tiles; | 584 std::vector<Tile*> all_tiles; |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
786 2, pending_raster_source); | 786 2, pending_raster_source); |
787 pending_layer()->AddChild(std::move(pending_child)); | 787 pending_layer()->AddChild(std::move(pending_child)); |
788 | 788 |
789 FakePictureLayerImpl* pending_child_layer = | 789 FakePictureLayerImpl* pending_child_layer = |
790 static_cast<FakePictureLayerImpl*>(pending_layer()->children()[0]); | 790 static_cast<FakePictureLayerImpl*>(pending_layer()->children()[0]); |
791 pending_child_layer->SetDrawsContent(true); | 791 pending_child_layer->SetDrawsContent(true); |
792 | 792 |
793 host_impl()->AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); | 793 host_impl()->AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); |
794 bool update_lcd_text = false; | 794 bool update_lcd_text = false; |
795 host_impl()->pending_tree()->property_trees()->needs_rebuild = true; | 795 host_impl()->pending_tree()->property_trees()->needs_rebuild = true; |
796 host_impl()->pending_tree()->BuildPropertyTreesForTesting(); | 796 host_impl()->pending_tree()->BuildLayerListAndPropertyTreesForTesting(); |
797 host_impl()->pending_tree()->UpdateDrawProperties(update_lcd_text); | 797 host_impl()->pending_tree()->UpdateDrawProperties(update_lcd_text); |
798 | 798 |
799 ActivateTree(); | 799 ActivateTree(); |
800 SetupPendingTree(pending_raster_source); | 800 SetupPendingTree(pending_raster_source); |
801 | 801 |
802 FakePictureLayerImpl* active_child_layer = | 802 FakePictureLayerImpl* active_child_layer = |
803 static_cast<FakePictureLayerImpl*>(active_layer()->children()[0]); | 803 static_cast<FakePictureLayerImpl*>(active_layer()->children()[0]); |
804 | 804 |
805 std::set<Tile*> all_tiles; | 805 std::set<Tile*> all_tiles; |
806 size_t tile_count = 0; | 806 size_t tile_count = 0; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
901 pending_layer()->AddChild(std::move(pending_child)); | 901 pending_layer()->AddChild(std::move(pending_child)); |
902 | 902 |
903 // Create a fully transparent child layer so that its tile priorities are not | 903 // Create a fully transparent child layer so that its tile priorities are not |
904 // considered to be valid. | 904 // considered to be valid. |
905 pending_child_layer->SetDrawsContent(true); | 905 pending_child_layer->SetDrawsContent(true); |
906 pending_child_layer->test_properties()->force_render_surface = true; | 906 pending_child_layer->test_properties()->force_render_surface = true; |
907 | 907 |
908 host_impl()->AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); | 908 host_impl()->AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); |
909 bool update_lcd_text = false; | 909 bool update_lcd_text = false; |
910 host_impl()->pending_tree()->property_trees()->needs_rebuild = true; | 910 host_impl()->pending_tree()->property_trees()->needs_rebuild = true; |
911 host_impl()->pending_tree()->BuildPropertyTreesForTesting(); | 911 host_impl()->pending_tree()->BuildLayerListAndPropertyTreesForTesting(); |
912 host_impl()->pending_tree()->UpdateDrawProperties(update_lcd_text); | 912 host_impl()->pending_tree()->UpdateDrawProperties(update_lcd_text); |
913 | 913 |
914 pending_child_layer->OnOpacityAnimated(0.0); | 914 pending_child_layer->OnOpacityAnimated(0.0); |
915 | 915 |
916 host_impl()->AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); | 916 host_impl()->AdvanceToNextFrame(base::TimeDelta::FromMilliseconds(1)); |
917 host_impl()->pending_tree()->UpdateDrawProperties(update_lcd_text); | 917 host_impl()->pending_tree()->UpdateDrawProperties(update_lcd_text); |
918 | 918 |
919 // Renew all of the tile priorities. | 919 // Renew all of the tile priorities. |
920 gfx::Rect viewport(layer_bounds); | 920 gfx::Rect viewport(layer_bounds); |
921 pending_layer()->picture_layer_tiling_set()->UpdateTilePriorities( | 921 pending_layer()->picture_layer_tiling_set()->UpdateTilePriorities( |
(...skipping 830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1752 FakePictureLayerImpl::CreateWithRasterSource(pending_tree, kLayerId, | 1752 FakePictureLayerImpl::CreateWithRasterSource(pending_tree, kLayerId, |
1753 pending_raster_source); | 1753 pending_raster_source); |
1754 pending_layer->SetDrawsContent(true); | 1754 pending_layer->SetDrawsContent(true); |
1755 pending_layer->SetHasRenderSurface(true); | 1755 pending_layer->SetHasRenderSurface(true); |
1756 | 1756 |
1757 // The bounds() just mirror the raster source size. | 1757 // The bounds() just mirror the raster source size. |
1758 pending_layer->SetBounds(pending_layer->raster_source()->GetSize()); | 1758 pending_layer->SetBounds(pending_layer->raster_source()->GetSize()); |
1759 pending_tree->SetRootLayer(std::move(pending_layer)); | 1759 pending_tree->SetRootLayer(std::move(pending_layer)); |
1760 | 1760 |
1761 // Add tilings/tiles for the layer. | 1761 // Add tilings/tiles for the layer. |
1762 host_impl()->pending_tree()->BuildPropertyTreesForTesting(); | 1762 host_impl()->pending_tree()->BuildLayerListAndPropertyTreesForTesting(); |
1763 host_impl()->pending_tree()->UpdateDrawProperties( | 1763 host_impl()->pending_tree()->UpdateDrawProperties( |
1764 false /* update_lcd_text */); | 1764 false /* update_lcd_text */); |
1765 | 1765 |
1766 // Build the raster queue and invalidate the top tile. | 1766 // Build the raster queue and invalidate the top tile. |
1767 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( | 1767 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl()->BuildRasterQueue( |
1768 SAME_PRIORITY_FOR_BOTH_TREES, RasterTilePriorityQueue::Type::ALL)); | 1768 SAME_PRIORITY_FOR_BOTH_TREES, RasterTilePriorityQueue::Type::ALL)); |
1769 EXPECT_FALSE(queue->IsEmpty()); | 1769 EXPECT_FALSE(queue->IsEmpty()); |
1770 queue->Top().tile()->SetInvalidated(gfx::Rect(), kInvalidatedId); | 1770 queue->Top().tile()->SetInvalidated(gfx::Rect(), kInvalidatedId); |
1771 | 1771 |
1772 // PrepareTiles to schedule tasks. Due to the FakeTileTaskManagerImpl, | 1772 // PrepareTiles to schedule tasks. Due to the FakeTileTaskManagerImpl, |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1849 FakePictureLayerImpl::CreateWithRasterSource(pending_tree, kLayerId, | 1849 FakePictureLayerImpl::CreateWithRasterSource(pending_tree, kLayerId, |
1850 pending_raster_source); | 1850 pending_raster_source); |
1851 pending_layer->SetDrawsContent(true); | 1851 pending_layer->SetDrawsContent(true); |
1852 pending_layer->SetHasRenderSurface(true); | 1852 pending_layer->SetHasRenderSurface(true); |
1853 | 1853 |
1854 // The bounds() just mirror the raster source size. | 1854 // The bounds() just mirror the raster source size. |
1855 pending_layer->SetBounds(pending_layer->raster_source()->GetSize()); | 1855 pending_layer->SetBounds(pending_layer->raster_source()->GetSize()); |
1856 pending_tree->SetRootLayer(std::move(pending_layer)); | 1856 pending_tree->SetRootLayer(std::move(pending_layer)); |
1857 | 1857 |
1858 // Add tilings/tiles for the layer. | 1858 // Add tilings/tiles for the layer. |
1859 host_impl->pending_tree()->BuildPropertyTreesForTesting(); | 1859 host_impl->pending_tree()->BuildLayerListAndPropertyTreesForTesting(); |
1860 host_impl->pending_tree()->UpdateDrawProperties(false /* update_lcd_text */); | 1860 host_impl->pending_tree()->UpdateDrawProperties(false /* update_lcd_text */); |
1861 | 1861 |
1862 // Build the raster queue and invalidate the top tile. | 1862 // Build the raster queue and invalidate the top tile. |
1863 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl->BuildRasterQueue( | 1863 std::unique_ptr<RasterTilePriorityQueue> queue(host_impl->BuildRasterQueue( |
1864 SAME_PRIORITY_FOR_BOTH_TREES, RasterTilePriorityQueue::Type::ALL)); | 1864 SAME_PRIORITY_FOR_BOTH_TREES, RasterTilePriorityQueue::Type::ALL)); |
1865 EXPECT_FALSE(queue->IsEmpty()); | 1865 EXPECT_FALSE(queue->IsEmpty()); |
1866 queue->Top().tile()->SetInvalidated(gfx::Rect(), kInvalidatedId); | 1866 queue->Top().tile()->SetInvalidated(gfx::Rect(), kInvalidatedId); |
1867 | 1867 |
1868 // PrepareTiles to schedule tasks. Due to the | 1868 // PrepareTiles to schedule tasks. Due to the |
1869 // VerifyPreviousContentRasterBufferProvider, these tasks will verified and | 1869 // VerifyPreviousContentRasterBufferProvider, these tasks will verified and |
(...skipping 12 matching lines...) Expand all Loading... |
1882 } | 1882 } |
1883 | 1883 |
1884 // Ensures that the tile manager does not attempt to reuse tiles when partial | 1884 // Ensures that the tile manager does not attempt to reuse tiles when partial |
1885 // raster is disabled. | 1885 // raster is disabled. |
1886 TEST_F(TileManagerTest, PartialRasterSuccessfullyDisabled) { | 1886 TEST_F(TileManagerTest, PartialRasterSuccessfullyDisabled) { |
1887 RunPartialRasterCheck(TakeHostImpl(), false /* partial_raster_enabled */); | 1887 RunPartialRasterCheck(TakeHostImpl(), false /* partial_raster_enabled */); |
1888 } | 1888 } |
1889 | 1889 |
1890 } // namespace | 1890 } // namespace |
1891 } // namespace cc | 1891 } // namespace cc |
OLD | NEW |