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_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 2825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2836 layer1->SetExpectation(false, false); | 2836 layer1->SetExpectation(false, false); |
2837 layer1->set_update_rect(gfx::RectF(layer1->content_bounds())); | 2837 layer1->set_update_rect(gfx::RectF(layer1->content_bounds())); |
2838 EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); | 2838 EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); |
2839 host_impl_->DrawLayers(&frame, base::TimeTicks::Now()); | 2839 host_impl_->DrawLayers(&frame, base::TimeTicks::Now()); |
2840 EXPECT_TRUE(layer1->quads_appended()); | 2840 EXPECT_TRUE(layer1->quads_appended()); |
2841 host_impl_->DidDrawAllLayers(frame); | 2841 host_impl_->DidDrawAllLayers(frame); |
2842 } | 2842 } |
2843 | 2843 |
2844 class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest { | 2844 class LayerTreeHostImplViewportCoveredTest : public LayerTreeHostImplTest { |
2845 public: | 2845 public: |
2846 LayerTreeHostImplViewportCoveredTest() : | |
2847 gutter_quad_material_(DrawQuad::SOLID_COLOR), | |
2848 child_(NULL), | |
2849 did_activate_pending_tree_(false) { } | |
enne (OOO)
2013/09/03 23:18:26
style nit: {}. Consider running 'git cl format' o
ccameron
2013/09/04 02:36:47
Done.
| |
2850 | |
2846 void CreateLayerTreeHostImpl(bool always_draw) { | 2851 void CreateLayerTreeHostImpl(bool always_draw) { |
2847 LayerTreeSettings settings; | 2852 LayerTreeSettings settings; |
2848 settings.minimum_occlusion_tracking_size = gfx::Size(); | 2853 settings.minimum_occlusion_tracking_size = gfx::Size(); |
2849 settings.impl_side_painting = true; | 2854 settings.impl_side_painting = true; |
2850 host_impl_ = LayerTreeHostImpl::Create( | 2855 host_impl_ = LayerTreeHostImpl::Create( |
2851 settings, this, &proxy_, &stats_instrumentation_); | 2856 settings, this, &proxy_, &stats_instrumentation_); |
2852 | 2857 |
2853 scoped_ptr<FakeOutputSurface> output_surface; | 2858 scoped_ptr<FakeOutputSurface> output_surface; |
2854 if (always_draw) | 2859 if (always_draw) |
2855 output_surface = FakeOutputSurface::CreateAlwaysDrawAndSwap3d().Pass(); | 2860 output_surface = FakeOutputSurface::CreateAlwaysDrawAndSwap3d().Pass(); |
(...skipping 24 matching lines...) Expand all Loading... | |
2880 child_->SetPosition(layer_rect.origin()); | 2885 child_->SetPosition(layer_rect.origin()); |
2881 child_->SetBounds(layer_rect.size()); | 2886 child_->SetBounds(layer_rect.size()); |
2882 child_->SetContentBounds(layer_rect.size()); | 2887 child_->SetContentBounds(layer_rect.size()); |
2883 child_->SetQuadRect(gfx::Rect(layer_rect.size())); | 2888 child_->SetQuadRect(gfx::Rect(layer_rect.size())); |
2884 child_->SetQuadVisibleRect(gfx::Rect(layer_rect.size())); | 2889 child_->SetQuadVisibleRect(gfx::Rect(layer_rect.size())); |
2885 | 2890 |
2886 LayerTreeHostImpl::FrameData frame; | 2891 LayerTreeHostImpl::FrameData frame; |
2887 EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); | 2892 EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); |
2888 ASSERT_EQ(1u, frame.render_passes.size()); | 2893 ASSERT_EQ(1u, frame.render_passes.size()); |
2889 | 2894 |
2890 size_t num_gutter_quads = 0; | 2895 EXPECT_EQ(0u, CountGutterQuads(frame.render_passes[0]->quad_list)); |
2891 for (size_t i = 0; i < frame.render_passes[0]->quad_list.size(); ++i) | |
2892 num_gutter_quads += (frame.render_passes[0]->quad_list[i]->material == | |
2893 DrawQuad::SOLID_COLOR) ? 1 : 0; | |
2894 EXPECT_EQ(0u, num_gutter_quads); | |
2895 EXPECT_EQ(1u, frame.render_passes[0]->quad_list.size()); | 2896 EXPECT_EQ(1u, frame.render_passes[0]->quad_list.size()); |
2897 ValidateTextureDrawQuads(frame.render_passes[0]->quad_list); | |
2896 | 2898 |
2897 LayerTestCommon::VerifyQuadsExactlyCoverRect( | 2899 LayerTestCommon::VerifyQuadsExactlyCoverRect( |
2898 frame.render_passes[0]->quad_list, gfx::Rect(viewport_size_)); | 2900 frame.render_passes[0]->quad_list, gfx::Rect(viewport_size_)); |
2899 host_impl_->DidDrawAllLayers(frame); | 2901 host_impl_->DidDrawAllLayers(frame); |
2900 } | 2902 } |
2901 | 2903 |
2902 // Expect fullscreen gutter rect. | 2904 // Expect fullscreen gutter rect. |
2903 void TestEmptyLayer() { | 2905 void TestEmptyLayer() { |
2904 gfx::Rect layer_rect(0, 0, 0, 0); | 2906 gfx::Rect layer_rect(0, 0, 0, 0); |
2905 child_->SetPosition(layer_rect.origin()); | 2907 child_->SetPosition(layer_rect.origin()); |
2906 child_->SetBounds(layer_rect.size()); | 2908 child_->SetBounds(layer_rect.size()); |
2907 child_->SetContentBounds(layer_rect.size()); | 2909 child_->SetContentBounds(layer_rect.size()); |
2908 child_->SetQuadRect(gfx::Rect(layer_rect.size())); | 2910 child_->SetQuadRect(gfx::Rect(layer_rect.size())); |
2909 child_->SetQuadVisibleRect(gfx::Rect(layer_rect.size())); | 2911 child_->SetQuadVisibleRect(gfx::Rect(layer_rect.size())); |
2910 | 2912 |
2911 LayerTreeHostImpl::FrameData frame; | 2913 LayerTreeHostImpl::FrameData frame; |
2912 EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); | 2914 EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); |
2913 ASSERT_EQ(1u, frame.render_passes.size()); | 2915 ASSERT_EQ(1u, frame.render_passes.size()); |
2914 | 2916 |
2915 size_t num_gutter_quads = 0; | 2917 EXPECT_EQ(1u, CountGutterQuads(frame.render_passes[0]->quad_list)); |
2916 for (size_t i = 0; i < frame.render_passes[0]->quad_list.size(); ++i) | |
2917 num_gutter_quads += (frame.render_passes[0]->quad_list[i]->material == | |
2918 DrawQuad::SOLID_COLOR) ? 1 : 0; | |
2919 EXPECT_EQ(1u, num_gutter_quads); | |
2920 EXPECT_EQ(1u, frame.render_passes[0]->quad_list.size()); | 2918 EXPECT_EQ(1u, frame.render_passes[0]->quad_list.size()); |
2919 ValidateTextureDrawQuads(frame.render_passes[0]->quad_list); | |
2921 | 2920 |
2922 LayerTestCommon::VerifyQuadsExactlyCoverRect( | 2921 LayerTestCommon::VerifyQuadsExactlyCoverRect( |
2923 frame.render_passes[0]->quad_list, gfx::Rect(viewport_size_)); | 2922 frame.render_passes[0]->quad_list, gfx::Rect(viewport_size_)); |
2924 host_impl_->DidDrawAllLayers(frame); | 2923 host_impl_->DidDrawAllLayers(frame); |
2925 } | 2924 } |
2926 | 2925 |
2927 // Expect four surrounding gutter rects. | 2926 // Expect four surrounding gutter rects. |
2928 void TestLayerInMiddleOfViewport() { | 2927 void TestLayerInMiddleOfViewport() { |
2929 gfx::Rect layer_rect(500, 500, 200, 200); | 2928 gfx::Rect layer_rect(500, 500, 200, 200); |
2930 child_->SetPosition(layer_rect.origin()); | 2929 child_->SetPosition(layer_rect.origin()); |
2931 child_->SetBounds(layer_rect.size()); | 2930 child_->SetBounds(layer_rect.size()); |
2932 child_->SetContentBounds(layer_rect.size()); | 2931 child_->SetContentBounds(layer_rect.size()); |
2933 child_->SetQuadRect(gfx::Rect(layer_rect.size())); | 2932 child_->SetQuadRect(gfx::Rect(layer_rect.size())); |
2934 child_->SetQuadVisibleRect(gfx::Rect(layer_rect.size())); | 2933 child_->SetQuadVisibleRect(gfx::Rect(layer_rect.size())); |
2935 | 2934 |
2936 LayerTreeHostImpl::FrameData frame; | 2935 LayerTreeHostImpl::FrameData frame; |
2937 EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); | 2936 EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); |
2938 ASSERT_EQ(1u, frame.render_passes.size()); | 2937 ASSERT_EQ(1u, frame.render_passes.size()); |
2939 | 2938 |
2940 size_t num_gutter_quads = 0; | 2939 EXPECT_EQ(4u, CountGutterQuads(frame.render_passes[0]->quad_list)); |
2941 for (size_t i = 0; i < frame.render_passes[0]->quad_list.size(); ++i) | |
2942 num_gutter_quads += (frame.render_passes[0]->quad_list[i]->material == | |
2943 DrawQuad::SOLID_COLOR) ? 1 : 0; | |
2944 EXPECT_EQ(4u, num_gutter_quads); | |
2945 EXPECT_EQ(5u, frame.render_passes[0]->quad_list.size()); | 2940 EXPECT_EQ(5u, frame.render_passes[0]->quad_list.size()); |
2941 ValidateTextureDrawQuads(frame.render_passes[0]->quad_list); | |
2946 | 2942 |
2947 LayerTestCommon::VerifyQuadsExactlyCoverRect( | 2943 LayerTestCommon::VerifyQuadsExactlyCoverRect( |
2948 frame.render_passes[0]->quad_list, gfx::Rect(viewport_size_)); | 2944 frame.render_passes[0]->quad_list, gfx::Rect(viewport_size_)); |
2949 host_impl_->DidDrawAllLayers(frame); | 2945 host_impl_->DidDrawAllLayers(frame); |
2950 } | 2946 } |
2951 | 2947 |
2952 // Expect no gutter rects. | 2948 // Expect no gutter rects. |
2953 void TestLayerIsLargerThanViewport() { | 2949 void TestLayerIsLargerThanViewport() { |
2954 gfx::Rect layer_rect(viewport_size_.width() + 10, | 2950 gfx::Rect layer_rect(viewport_size_.width() + 10, |
2955 viewport_size_.height() + 10); | 2951 viewport_size_.height() + 10); |
2956 child_->SetPosition(layer_rect.origin()); | 2952 child_->SetPosition(layer_rect.origin()); |
2957 child_->SetBounds(layer_rect.size()); | 2953 child_->SetBounds(layer_rect.size()); |
2958 child_->SetContentBounds(layer_rect.size()); | 2954 child_->SetContentBounds(layer_rect.size()); |
2959 child_->SetQuadRect(gfx::Rect(layer_rect.size())); | 2955 child_->SetQuadRect(gfx::Rect(layer_rect.size())); |
2960 child_->SetQuadVisibleRect(gfx::Rect(layer_rect.size())); | 2956 child_->SetQuadVisibleRect(gfx::Rect(layer_rect.size())); |
2961 | 2957 |
2962 LayerTreeHostImpl::FrameData frame; | 2958 LayerTreeHostImpl::FrameData frame; |
2963 EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); | 2959 EXPECT_TRUE(host_impl_->PrepareToDraw(&frame, gfx::Rect())); |
2964 ASSERT_EQ(1u, frame.render_passes.size()); | 2960 ASSERT_EQ(1u, frame.render_passes.size()); |
2965 | 2961 |
2966 size_t num_gutter_quads = 0; | 2962 EXPECT_EQ(0u, CountGutterQuads(frame.render_passes[0]->quad_list)); |
2967 for (size_t i = 0; i < frame.render_passes[0]->quad_list.size(); ++i) | |
2968 num_gutter_quads += (frame.render_passes[0]->quad_list[i]->material == | |
2969 DrawQuad::SOLID_COLOR) ? 1 : 0; | |
2970 EXPECT_EQ(0u, num_gutter_quads); | |
2971 EXPECT_EQ(1u, frame.render_passes[0]->quad_list.size()); | 2963 EXPECT_EQ(1u, frame.render_passes[0]->quad_list.size()); |
2964 ValidateTextureDrawQuads(frame.render_passes[0]->quad_list); | |
2972 | 2965 |
2973 host_impl_->DidDrawAllLayers(frame); | 2966 host_impl_->DidDrawAllLayers(frame); |
2974 } | 2967 } |
2975 | 2968 |
2976 virtual void DidActivatePendingTree() OVERRIDE { | 2969 virtual void DidActivatePendingTree() OVERRIDE { |
2977 did_activate_pending_tree_ = true; | 2970 did_activate_pending_tree_ = true; |
2978 } | 2971 } |
2979 | 2972 |
2973 void set_gutter_quad_material(DrawQuad::Material material) { | |
2974 gutter_quad_material_ = material; | |
2975 } | |
2976 void set_gutter_texture_size(gfx::Size gutter_texture_size) { | |
2977 gutter_texture_size_ = gutter_texture_size; | |
2978 } | |
2979 | |
2980 protected: | 2980 protected: |
2981 size_t CountGutterQuads(const QuadList& quad_list) { | |
2982 size_t num_gutter_quads = 0; | |
2983 for (size_t i = 0; i < quad_list.size(); ++i) { | |
2984 num_gutter_quads += (quad_list[i]->material == | |
2985 gutter_quad_material_) ? 1 : 0; | |
2986 } | |
2987 return num_gutter_quads; | |
2988 } | |
2989 | |
2990 // Make sure that the texture coordinates match their expectations. | |
2991 void ValidateTextureDrawQuads(const QuadList& quad_list) { | |
2992 for (size_t i = 0; i < quad_list.size(); ++i) { | |
2993 if (quad_list[i]->material == DrawQuad::TEXTURE_CONTENT) { | |
enne (OOO)
2013/09/03 23:18:26
style nit: early-out with a continue here, rather
ccameron
2013/09/04 02:36:47
Done.
| |
2994 TextureDrawQuad* quad = reinterpret_cast<TextureDrawQuad*>( | |
enne (OOO)
2013/09/03 23:18:26
TextureDrawQuad::MaterialCast(quad_list[i])
ccameron
2013/09/04 02:36:47
Done.
| |
2995 quad_list[i]); | |
2996 EXPECT_EQ(quad->uv_top_left.x(), | |
2997 quad->rect.x() / | |
2998 static_cast<float>(gutter_texture_size_.width())); | |
2999 EXPECT_EQ(quad->uv_top_left.y(), | |
3000 quad->rect.y() / | |
3001 static_cast<float>(gutter_texture_size_.height())); | |
3002 EXPECT_EQ(quad->uv_bottom_right.x(), | |
3003 (quad->rect.x() + quad->rect.width()) / | |
enne (OOO)
2013/09/03 23:18:26
quad->rect.right()
ccameron
2013/09/04 02:36:47
Done.
| |
3004 static_cast<float>(gutter_texture_size_.width())); | |
3005 EXPECT_EQ(quad->uv_bottom_right.y(), | |
3006 (quad->rect.y() + quad->rect.height()) / | |
3007 static_cast<float>(gutter_texture_size_.height())); | |
3008 } | |
3009 } | |
3010 } | |
3011 | |
3012 DrawQuad::Material gutter_quad_material_; | |
3013 gfx::Size gutter_texture_size_; | |
2981 gfx::Size viewport_size_; | 3014 gfx::Size viewport_size_; |
2982 BlendStateCheckLayer* child_; | 3015 BlendStateCheckLayer* child_; |
2983 bool did_activate_pending_tree_; | 3016 bool did_activate_pending_tree_; |
2984 }; | 3017 }; |
2985 | 3018 |
2986 TEST_F(LayerTreeHostImplViewportCoveredTest, ViewportCovered) { | 3019 TEST_F(LayerTreeHostImplViewportCoveredTest, ViewportCovered) { |
2987 bool always_draw = false; | 3020 bool always_draw = false; |
2988 CreateLayerTreeHostImpl(always_draw); | 3021 CreateLayerTreeHostImpl(always_draw); |
2989 | 3022 |
2990 host_impl_->SetViewportSize(viewport_size_); | 3023 host_impl_->SetViewportSize(viewport_size_); |
2991 SetupActiveTreeLayers(); | 3024 SetupActiveTreeLayers(); |
2992 TestLayerCoversFullViewport(); | 3025 TestLayerCoversFullViewport(); |
2993 TestEmptyLayer(); | 3026 TestEmptyLayer(); |
2994 TestLayerInMiddleOfViewport(); | 3027 TestLayerInMiddleOfViewport(); |
2995 TestLayerIsLargerThanViewport(); | 3028 TestLayerIsLargerThanViewport(); |
2996 } | 3029 } |
2997 | 3030 |
3031 TEST_F(LayerTreeHostImplViewportCoveredTest, ViewportCoveredOverhangBitmap) { | |
3032 bool always_draw = false; | |
3033 CreateLayerTreeHostImpl(always_draw); | |
3034 | |
3035 host_impl_->SetViewportSize(viewport_size_); | |
3036 SetupActiveTreeLayers(); | |
3037 | |
3038 // Specify an overhang bitmap to use. | |
3039 scoped_refptr<UIResourceBitmap> ui_resource_bitmap(UIResourceBitmap::Create( | |
3040 new uint8_t[4], UIResourceBitmap::RGBA8, gfx::Size(1, 1))); | |
3041 UIResourceId ui_resource_id = 12345; | |
3042 host_impl_->CreateUIResource(ui_resource_id, ui_resource_bitmap); | |
3043 host_impl_->SetOverhangUIResource(ui_resource_id, gfx::Size(32, 32)); | |
3044 set_gutter_quad_material(DrawQuad::TEXTURE_CONTENT); | |
3045 set_gutter_texture_size(gfx::Size(32, 32)); | |
3046 | |
3047 TestLayerCoversFullViewport(); | |
3048 TestEmptyLayer(); | |
3049 TestLayerInMiddleOfViewport(); | |
3050 TestLayerIsLargerThanViewport(); | |
3051 | |
3052 // Change the resource size. | |
3053 host_impl_->SetOverhangUIResource(ui_resource_id, gfx::Size(128, 16)); | |
3054 set_gutter_texture_size(gfx::Size(128, 16)); | |
3055 | |
3056 TestLayerCoversFullViewport(); | |
3057 TestEmptyLayer(); | |
3058 TestLayerInMiddleOfViewport(); | |
3059 TestLayerIsLargerThanViewport(); | |
3060 } | |
3061 | |
2998 TEST_F(LayerTreeHostImplViewportCoveredTest, ActiveTreeGrowViewportInvalid) { | 3062 TEST_F(LayerTreeHostImplViewportCoveredTest, ActiveTreeGrowViewportInvalid) { |
2999 bool always_draw = true; | 3063 bool always_draw = true; |
3000 CreateLayerTreeHostImpl(always_draw); | 3064 CreateLayerTreeHostImpl(always_draw); |
3001 | 3065 |
3002 // Pending tree to force active_tree size invalid. Not used otherwise. | 3066 // Pending tree to force active_tree size invalid. Not used otherwise. |
3003 host_impl_->CreatePendingTree(); | 3067 host_impl_->CreatePendingTree(); |
3004 host_impl_->SetViewportSize(viewport_size_); | 3068 host_impl_->SetViewportSize(viewport_size_); |
3005 EXPECT_TRUE(host_impl_->active_tree()->ViewportSizeInvalid()); | 3069 EXPECT_TRUE(host_impl_->active_tree()->ViewportSizeInvalid()); |
3006 | 3070 |
3007 SetupActiveTreeLayers(); | 3071 SetupActiveTreeLayers(); |
3008 TestEmptyLayer(); | 3072 TestEmptyLayer(); |
3009 TestLayerInMiddleOfViewport(); | 3073 TestLayerInMiddleOfViewport(); |
3010 TestLayerIsLargerThanViewport(); | 3074 TestLayerIsLargerThanViewport(); |
3011 } | 3075 } |
3012 | 3076 |
3013 TEST_F(LayerTreeHostImplViewportCoveredTest, ActiveTreeShrinkViewportInvalid) { | 3077 TEST_F(LayerTreeHostImplViewportCoveredTest, ActiveTreeShrinkViewportInvalid) { |
3014 bool always_draw = true; | 3078 bool always_draw = true; |
3015 CreateLayerTreeHostImpl(always_draw); | 3079 CreateLayerTreeHostImpl(always_draw); |
3016 | 3080 |
3017 // Set larger viewport and activate it to active tree. | 3081 // Set larger viewport and activate it to active tree. |
3018 host_impl_->CreatePendingTree(); | 3082 host_impl_->CreatePendingTree(); |
3019 gfx::Size larger_viewport(viewport_size_.width() + 100, | 3083 gfx::Size larger_viewport(viewport_size_.width() + 100, |
3020 viewport_size_.height() + 100); | 3084 viewport_size_.height() + 100); |
3021 host_impl_->SetViewportSize(larger_viewport); | 3085 host_impl_->SetViewportSize(larger_viewport); |
3022 EXPECT_TRUE(host_impl_->active_tree()->ViewportSizeInvalid()); | 3086 EXPECT_TRUE(host_impl_->active_tree()->ViewportSizeInvalid()); |
3023 did_activate_pending_tree_ = false; | |
3024 host_impl_->ActivatePendingTree(); | 3087 host_impl_->ActivatePendingTree(); |
3025 EXPECT_TRUE(did_activate_pending_tree_); | 3088 EXPECT_TRUE(did_activate_pending_tree_); |
3026 EXPECT_FALSE(host_impl_->active_tree()->ViewportSizeInvalid()); | 3089 EXPECT_FALSE(host_impl_->active_tree()->ViewportSizeInvalid()); |
3027 | 3090 |
3028 // Shrink pending tree viewport without activating. | 3091 // Shrink pending tree viewport without activating. |
3029 host_impl_->CreatePendingTree(); | 3092 host_impl_->CreatePendingTree(); |
3030 host_impl_->SetViewportSize(viewport_size_); | 3093 host_impl_->SetViewportSize(viewport_size_); |
3031 EXPECT_TRUE(host_impl_->active_tree()->ViewportSizeInvalid()); | 3094 EXPECT_TRUE(host_impl_->active_tree()->ViewportSizeInvalid()); |
3032 | 3095 |
3033 SetupActiveTreeLayers(); | 3096 SetupActiveTreeLayers(); |
(...skipping 3342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6376 EXPECT_EQ(0u, host_impl_->ResourceIdForUIResource(ui_resource_id)); | 6439 EXPECT_EQ(0u, host_impl_->ResourceIdForUIResource(ui_resource_id)); |
6377 EXPECT_EQ(0u, context3d->NumTextures()); | 6440 EXPECT_EQ(0u, context3d->NumTextures()); |
6378 | 6441 |
6379 // Should not change state for multiple deletion on one UIResourceId | 6442 // Should not change state for multiple deletion on one UIResourceId |
6380 host_impl_->DeleteUIResource(ui_resource_id); | 6443 host_impl_->DeleteUIResource(ui_resource_id); |
6381 EXPECT_EQ(0u, context3d->NumTextures()); | 6444 EXPECT_EQ(0u, context3d->NumTextures()); |
6382 } | 6445 } |
6383 | 6446 |
6384 } // namespace | 6447 } // namespace |
6385 } // namespace cc | 6448 } // namespace cc |
OLD | NEW |