| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |