Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1594)

Side by Side Diff: cc/trees/layer_tree_host_unittest.cc

Issue 2322943003: cc: Move UI Resource management out of LayerTreeHost. (Closed)
Patch Set: format Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/trees/layer_tree_host.h" 5 #include "cc/trees/layer_tree_host.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 15 matching lines...) Expand all
26 #include "cc/layers/video_layer.h" 26 #include "cc/layers/video_layer.h"
27 #include "cc/output/begin_frame_args.h" 27 #include "cc/output/begin_frame_args.h"
28 #include "cc/output/copy_output_request.h" 28 #include "cc/output/copy_output_request.h"
29 #include "cc/output/copy_output_result.h" 29 #include "cc/output/copy_output_result.h"
30 #include "cc/output/output_surface.h" 30 #include "cc/output/output_surface.h"
31 #include "cc/output/swap_promise.h" 31 #include "cc/output/swap_promise.h"
32 #include "cc/playback/display_item_list_settings.h" 32 #include "cc/playback/display_item_list_settings.h"
33 #include "cc/quads/draw_quad.h" 33 #include "cc/quads/draw_quad.h"
34 #include "cc/quads/render_pass_draw_quad.h" 34 #include "cc/quads/render_pass_draw_quad.h"
35 #include "cc/quads/tile_draw_quad.h" 35 #include "cc/quads/tile_draw_quad.h"
36 #include "cc/resources/ui_resource_manager.h"
36 #include "cc/test/fake_content_layer_client.h" 37 #include "cc/test/fake_content_layer_client.h"
37 #include "cc/test/fake_layer_tree_host_client.h" 38 #include "cc/test/fake_layer_tree_host_client.h"
38 #include "cc/test/fake_output_surface.h" 39 #include "cc/test/fake_output_surface.h"
39 #include "cc/test/fake_painted_scrollbar_layer.h" 40 #include "cc/test/fake_painted_scrollbar_layer.h"
40 #include "cc/test/fake_picture_layer.h" 41 #include "cc/test/fake_picture_layer.h"
41 #include "cc/test/fake_picture_layer_impl.h" 42 #include "cc/test/fake_picture_layer_impl.h"
42 #include "cc/test/fake_proxy.h" 43 #include "cc/test/fake_proxy.h"
43 #include "cc/test/fake_recording_source.h" 44 #include "cc/test/fake_recording_source.h"
44 #include "cc/test/fake_scoped_ui_resource.h" 45 #include "cc/test/fake_scoped_ui_resource.h"
45 #include "cc/test/fake_video_frame_provider.h" 46 #include "cc/test/fake_video_frame_provider.h"
(...skipping 2962 matching lines...) Expand 10 before | Expand all | Expand 10 after
3008 switch (frame) { 3009 switch (frame) {
3009 case 1: 3010 case 1:
3010 CreateResource(); 3011 CreateResource();
3011 CreateResource(); 3012 CreateResource();
3012 PostSetNeedsCommitToMainThread(); 3013 PostSetNeedsCommitToMainThread();
3013 break; 3014 break;
3014 case 2: 3015 case 2:
3015 // Usually ScopedUIResource are deleted from the manager in their 3016 // Usually ScopedUIResource are deleted from the manager in their
3016 // destructor. Here we just want to test that a direct call to 3017 // destructor. Here we just want to test that a direct call to
3017 // DeleteUIResource works. 3018 // DeleteUIResource works.
3018 layer_tree_host()->DeleteUIResource(ui_resources_[0]->id()); 3019 layer_tree_host()->GetUIResourceManager()->DeleteUIResource(
3020 ui_resources_[0]->id());
3019 PostSetNeedsCommitToMainThread(); 3021 PostSetNeedsCommitToMainThread();
3020 break; 3022 break;
3021 case 3: 3023 case 3:
3022 // DeleteUIResource can be called with an invalid id. 3024 // DeleteUIResource can be called with an invalid id.
3023 layer_tree_host()->DeleteUIResource(ui_resources_[0]->id()); 3025 layer_tree_host()->GetUIResourceManager()->DeleteUIResource(
3026 ui_resources_[0]->id());
3024 PostSetNeedsCommitToMainThread(); 3027 PostSetNeedsCommitToMainThread();
3025 break; 3028 break;
3026 case 4: 3029 case 4:
3027 CreateResource(); 3030 CreateResource();
3028 CreateResource(); 3031 CreateResource();
3029 PostSetNeedsCommitToMainThread(); 3032 PostSetNeedsCommitToMainThread();
3030 break; 3033 break;
3031 case 5: 3034 case 5:
3032 ClearResources(); 3035 ClearResources();
3033 EndTest(); 3036 EndTest();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
3070 3073
3071 private: 3074 private:
3072 // Must clear all resources before exiting. 3075 // Must clear all resources before exiting.
3073 void ClearResources() { 3076 void ClearResources() {
3074 for (int i = 0; i < num_ui_resources_; i++) 3077 for (int i = 0; i < num_ui_resources_; i++)
3075 ui_resources_[i] = nullptr; 3078 ui_resources_[i] = nullptr;
3076 } 3079 }
3077 3080
3078 void CreateResource() { 3081 void CreateResource() {
3079 ui_resources_[num_ui_resources_++] = 3082 ui_resources_[num_ui_resources_++] =
3080 FakeScopedUIResource::Create(layer_tree_host()); 3083 FakeScopedUIResource::Create(layer_tree_host()->GetUIResourceManager());
3081 } 3084 }
3082 3085
3083 std::unique_ptr<FakeScopedUIResource> ui_resources_[5]; 3086 std::unique_ptr<FakeScopedUIResource> ui_resources_[5];
3084 int num_ui_resources_; 3087 int num_ui_resources_;
3085 }; 3088 };
3086 3089
3087 MULTI_THREAD_TEST_F(LayerTreeHostTestUIResource); 3090 MULTI_THREAD_TEST_F(LayerTreeHostTestUIResource);
3088 3091
3089 class PushPropertiesCountingLayerImpl : public LayerImpl { 3092 class PushPropertiesCountingLayerImpl : public LayerImpl {
3090 public: 3093 public:
(...skipping 1911 matching lines...) Expand 10 before | Expand all | Expand 10 after
5002 void AfterTest() override {} 5005 void AfterTest() override {}
5003 }; 5006 };
5004 5007
5005 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSimpleSwapPromiseMonitor); 5008 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSimpleSwapPromiseMonitor);
5006 5009
5007 class LayerTreeHostTestHighResRequiredAfterEvictingUIResources 5010 class LayerTreeHostTestHighResRequiredAfterEvictingUIResources
5008 : public LayerTreeHostTest { 5011 : public LayerTreeHostTest {
5009 protected: 5012 protected:
5010 void SetupTree() override { 5013 void SetupTree() override {
5011 LayerTreeHostTest::SetupTree(); 5014 LayerTreeHostTest::SetupTree();
5012 ui_resource_ = FakeScopedUIResource::Create(layer_tree_host()); 5015 ui_resource_ =
5016 FakeScopedUIResource::Create(layer_tree_host()->GetUIResourceManager());
5013 client_.set_bounds(layer_tree()->root_layer()->bounds()); 5017 client_.set_bounds(layer_tree()->root_layer()->bounds());
5014 } 5018 }
5015 5019
5016 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 5020 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
5017 5021
5018 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { 5022 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override {
5019 host_impl->EvictAllUIResources(); 5023 host_impl->EvictAllUIResources();
5020 // Existence of evicted UI resources will trigger NEW_CONTENT_TAKES_PRIORITY 5024 // Existence of evicted UI resources will trigger NEW_CONTENT_TAKES_PRIORITY
5021 // mode. Active tree should require high-res to draw after entering this 5025 // mode. Active tree should require high-res to draw after entering this
5022 // mode to ensure that high-res tiles are also required for a pending tree 5026 // mode to ensure that high-res tiles are also required for a pending tree
(...skipping 2018 matching lines...) Expand 10 before | Expand all | Expand 10 after
7041 private: 7045 private:
7042 FakeContentLayerClient client_; 7046 FakeContentLayerClient client_;
7043 const gfx::Size viewport_size_; 7047 const gfx::Size viewport_size_;
7044 const gfx::Size large_image_size_; 7048 const gfx::Size large_image_size_;
7045 }; 7049 };
7046 7050
7047 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage); 7051 SINGLE_AND_MULTI_THREAD_TEST_F(GpuRasterizationSucceedsWithLargeImage);
7048 7052
7049 } // namespace 7053 } // namespace
7050 } // namespace cc 7054 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698