| 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 2962 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |