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

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

Issue 2322943003: cc: Move UI Resource management out of LayerTreeHost. (Closed)
Patch Set: virtual dtor 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
« no previous file with comments | « cc/trees/layer_tree_host_interface.h ('k') | cc/trees/layer_tree_host_unittest_context.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2963 matching lines...) Expand 10 before | Expand all | Expand 10 after
3009 switch (frame) { 3010 switch (frame) {
3010 case 1: 3011 case 1:
3011 CreateResource(); 3012 CreateResource();
3012 CreateResource(); 3013 CreateResource();
3013 PostSetNeedsCommitToMainThread(); 3014 PostSetNeedsCommitToMainThread();
3014 break; 3015 break;
3015 case 2: 3016 case 2:
3016 // Usually ScopedUIResource are deleted from the manager in their 3017 // Usually ScopedUIResource are deleted from the manager in their
3017 // destructor. Here we just want to test that a direct call to 3018 // destructor. Here we just want to test that a direct call to
3018 // DeleteUIResource works. 3019 // DeleteUIResource works.
3019 layer_tree_host()->DeleteUIResource(ui_resources_[0]->id()); 3020 layer_tree_host()->GetUIResourceManager()->DeleteUIResource(
3021 ui_resources_[0]->id());
3020 PostSetNeedsCommitToMainThread(); 3022 PostSetNeedsCommitToMainThread();
3021 break; 3023 break;
3022 case 3: 3024 case 3:
3023 // DeleteUIResource can be called with an invalid id. 3025 // DeleteUIResource can be called with an invalid id.
3024 layer_tree_host()->DeleteUIResource(ui_resources_[0]->id()); 3026 layer_tree_host()->GetUIResourceManager()->DeleteUIResource(
3027 ui_resources_[0]->id());
3025 PostSetNeedsCommitToMainThread(); 3028 PostSetNeedsCommitToMainThread();
3026 break; 3029 break;
3027 case 4: 3030 case 4:
3028 CreateResource(); 3031 CreateResource();
3029 CreateResource(); 3032 CreateResource();
3030 PostSetNeedsCommitToMainThread(); 3033 PostSetNeedsCommitToMainThread();
3031 break; 3034 break;
3032 case 5: 3035 case 5:
3033 ClearResources(); 3036 ClearResources();
3034 EndTest(); 3037 EndTest();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
3071 3074
3072 private: 3075 private:
3073 // Must clear all resources before exiting. 3076 // Must clear all resources before exiting.
3074 void ClearResources() { 3077 void ClearResources() {
3075 for (int i = 0; i < num_ui_resources_; i++) 3078 for (int i = 0; i < num_ui_resources_; i++)
3076 ui_resources_[i] = nullptr; 3079 ui_resources_[i] = nullptr;
3077 } 3080 }
3078 3081
3079 void CreateResource() { 3082 void CreateResource() {
3080 ui_resources_[num_ui_resources_++] = 3083 ui_resources_[num_ui_resources_++] =
3081 FakeScopedUIResource::Create(layer_tree_host()); 3084 FakeScopedUIResource::Create(layer_tree_host()->GetUIResourceManager());
3082 } 3085 }
3083 3086
3084 std::unique_ptr<FakeScopedUIResource> ui_resources_[5]; 3087 std::unique_ptr<FakeScopedUIResource> ui_resources_[5];
3085 int num_ui_resources_; 3088 int num_ui_resources_;
3086 }; 3089 };
3087 3090
3088 MULTI_THREAD_TEST_F(LayerTreeHostTestUIResource); 3091 MULTI_THREAD_TEST_F(LayerTreeHostTestUIResource);
3089 3092
3090 class PushPropertiesCountingLayerImpl : public LayerImpl { 3093 class PushPropertiesCountingLayerImpl : public LayerImpl {
3091 public: 3094 public:
(...skipping 1911 matching lines...) Expand 10 before | Expand all | Expand 10 after
5003 void AfterTest() override {} 5006 void AfterTest() override {}
5004 }; 5007 };
5005 5008
5006 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSimpleSwapPromiseMonitor); 5009 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSimpleSwapPromiseMonitor);
5007 5010
5008 class LayerTreeHostTestHighResRequiredAfterEvictingUIResources 5011 class LayerTreeHostTestHighResRequiredAfterEvictingUIResources
5009 : public LayerTreeHostTest { 5012 : public LayerTreeHostTest {
5010 protected: 5013 protected:
5011 void SetupTree() override { 5014 void SetupTree() override {
5012 LayerTreeHostTest::SetupTree(); 5015 LayerTreeHostTest::SetupTree();
5013 ui_resource_ = FakeScopedUIResource::Create(layer_tree_host()); 5016 ui_resource_ =
5017 FakeScopedUIResource::Create(layer_tree_host()->GetUIResourceManager());
5014 client_.set_bounds(layer_tree()->root_layer()->bounds()); 5018 client_.set_bounds(layer_tree()->root_layer()->bounds());
5015 } 5019 }
5016 5020
5017 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 5021 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
5018 5022
5019 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override { 5023 void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) override {
5020 host_impl->EvictAllUIResources(); 5024 host_impl->EvictAllUIResources();
5021 // Existence of evicted UI resources will trigger NEW_CONTENT_TAKES_PRIORITY 5025 // Existence of evicted UI resources will trigger NEW_CONTENT_TAKES_PRIORITY
5022 // mode. Active tree should require high-res to draw after entering this 5026 // mode. Active tree should require high-res to draw after entering this
5023 // mode to ensure that high-res tiles are also required for a pending tree 5027 // mode to ensure that high-res tiles are also required for a pending tree
(...skipping 2103 matching lines...) Expand 10 before | Expand all | Expand 10 after
7127 EndTest(); 7131 EndTest();
7128 } 7132 }
7129 7133
7130 void AfterTest() override {} 7134 void AfterTest() override {}
7131 }; 7135 };
7132 7136
7133 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSubmitFrameResources); 7137 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestSubmitFrameResources);
7134 7138
7135 } // namespace 7139 } // namespace
7136 } // namespace cc 7140 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_interface.h ('k') | cc/trees/layer_tree_host_unittest_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698