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

Side by Side Diff: cc/layers/nine_patch_layer_unittest.cc

Issue 21839004: cc: Push valid property values when CalcDrawProps skips layer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: pushpaintprops: Call SavePaintProps when needed in tests Created 7 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « cc/layers/nine_patch_layer.cc ('k') | cc/layers/paint_properties.h » ('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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/layers/nine_patch_layer.h" 5 #include "cc/layers/nine_patch_layer.h"
6 6
7 #include "cc/debug/overdraw_metrics.h" 7 #include "cc/debug/overdraw_metrics.h"
8 #include "cc/resources/prioritized_resource_manager.h" 8 #include "cc/resources/prioritized_resource_manager.h"
9 #include "cc/resources/resource_provider.h" 9 #include "cc/resources/resource_provider.h"
10 #include "cc/resources/resource_update_queue.h" 10 #include "cc/resources/resource_update_queue.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 Mock::VerifyAndClearExpectations(layer_tree_host_.get()); 64 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
65 EXPECT_EQ(test_layer->layer_tree_host(), layer_tree_host_.get()); 65 EXPECT_EQ(test_layer->layer_tree_host(), layer_tree_host_.get());
66 66
67 layer_tree_host_->InitializeOutputSurfaceIfNeeded(); 67 layer_tree_host_->InitializeOutputSurfaceIfNeeded();
68 68
69 PriorityCalculator calculator; 69 PriorityCalculator calculator;
70 ResourceUpdateQueue queue; 70 ResourceUpdateQueue queue;
71 OcclusionTracker occlusion_tracker(gfx::Rect(), false); 71 OcclusionTracker occlusion_tracker(gfx::Rect(), false);
72 72
73 // No bitmap set should not trigger any uploads. 73 // No bitmap set should not trigger any uploads.
74 test_layer->SavePaintProperties();
74 test_layer->SetTexturePriorities(calculator); 75 test_layer->SetTexturePriorities(calculator);
75 test_layer->Update(&queue, &occlusion_tracker); 76 test_layer->Update(&queue, &occlusion_tracker);
76 EXPECT_EQ(0u, queue.FullUploadSize()); 77 EXPECT_EQ(0u, queue.FullUploadSize());
77 EXPECT_EQ(0u, queue.PartialUploadSize()); 78 EXPECT_EQ(0u, queue.PartialUploadSize());
78 79
79 // Setting a bitmap set should trigger a single full upload. 80 // Setting a bitmap set should trigger a single full upload.
80 SkBitmap bitmap; 81 SkBitmap bitmap;
81 bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 10); 82 bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 10);
82 bitmap.allocPixels(); 83 bitmap.allocPixels();
83 test_layer->SetBitmap(bitmap, gfx::Rect(5, 5, 1, 1)); 84 test_layer->SetBitmap(bitmap, gfx::Rect(5, 5, 1, 1));
85 test_layer->SavePaintProperties();
84 test_layer->SetTexturePriorities(calculator); 86 test_layer->SetTexturePriorities(calculator);
85 test_layer->Update(&queue, &occlusion_tracker); 87 test_layer->Update(&queue, &occlusion_tracker);
86 EXPECT_EQ(1u, queue.FullUploadSize()); 88 EXPECT_EQ(1u, queue.FullUploadSize());
87 EXPECT_EQ(0u, queue.PartialUploadSize()); 89 EXPECT_EQ(0u, queue.PartialUploadSize());
88 ResourceUpdate params = queue.TakeFirstFullUpload(); 90 ResourceUpdate params = queue.TakeFirstFullUpload();
89 EXPECT_TRUE(params.texture != NULL); 91 EXPECT_TRUE(params.texture != NULL);
90 92
91 // Upload the texture. 93 // Upload the texture.
92 layer_tree_host_->contents_texture_manager()->SetMaxMemoryLimitBytes( 94 layer_tree_host_->contents_texture_manager()->SetMaxMemoryLimitBytes(
93 1024 * 1024); 95 1024 * 1024);
94 layer_tree_host_->contents_texture_manager()->PrioritizeTextures(); 96 layer_tree_host_->contents_texture_manager()->PrioritizeTextures();
95 97
96 scoped_ptr<OutputSurface> output_surface; 98 scoped_ptr<OutputSurface> output_surface;
97 scoped_ptr<ResourceProvider> resource_provider; 99 scoped_ptr<ResourceProvider> resource_provider;
98 { 100 {
99 DebugScopedSetImplThread impl_thread(Proxy()); 101 DebugScopedSetImplThread impl_thread(Proxy());
100 DebugScopedSetMainThreadBlocked main_thread_blocked(Proxy()); 102 DebugScopedSetMainThreadBlocked main_thread_blocked(Proxy());
101 output_surface = CreateFakeOutputSurface(); 103 output_surface = CreateFakeOutputSurface();
102 resource_provider = ResourceProvider::Create(output_surface.get(), 0); 104 resource_provider = ResourceProvider::Create(output_surface.get(), 0);
103 params.texture->AcquireBackingTexture(resource_provider.get()); 105 params.texture->AcquireBackingTexture(resource_provider.get());
104 ASSERT_TRUE(params.texture->have_backing_texture()); 106 ASSERT_TRUE(params.texture->have_backing_texture());
105 } 107 }
106 108
107 // Nothing changed, so no repeated upload. 109 // Nothing changed, so no repeated upload.
110 test_layer->SavePaintProperties();
108 test_layer->SetTexturePriorities(calculator); 111 test_layer->SetTexturePriorities(calculator);
109 test_layer->Update(&queue, &occlusion_tracker); 112 test_layer->Update(&queue, &occlusion_tracker);
110 EXPECT_EQ(0u, queue.FullUploadSize()); 113 EXPECT_EQ(0u, queue.FullUploadSize());
111 EXPECT_EQ(0u, queue.PartialUploadSize()); 114 EXPECT_EQ(0u, queue.PartialUploadSize());
112 { 115 {
113 DebugScopedSetImplThread impl_thread(Proxy()); 116 DebugScopedSetImplThread impl_thread(Proxy());
114 DebugScopedSetMainThreadBlocked main_thread_blocked(Proxy()); 117 DebugScopedSetMainThreadBlocked main_thread_blocked(Proxy());
115 layer_tree_host_->contents_texture_manager()->ClearAllMemory( 118 layer_tree_host_->contents_texture_manager()->ClearAllMemory(
116 resource_provider.get()); 119 resource_provider.get());
117 } 120 }
118 121
119 // Reupload after eviction 122 // Reupload after eviction
123 test_layer->SavePaintProperties();
120 test_layer->SetTexturePriorities(calculator); 124 test_layer->SetTexturePriorities(calculator);
121 test_layer->Update(&queue, &occlusion_tracker); 125 test_layer->Update(&queue, &occlusion_tracker);
122 EXPECT_EQ(1u, queue.FullUploadSize()); 126 EXPECT_EQ(1u, queue.FullUploadSize());
123 EXPECT_EQ(0u, queue.PartialUploadSize()); 127 EXPECT_EQ(0u, queue.PartialUploadSize());
124 128
125 // PrioritizedResourceManager clearing 129 // PrioritizedResourceManager clearing
126 layer_tree_host_->contents_texture_manager()->UnregisterTexture( 130 layer_tree_host_->contents_texture_manager()->UnregisterTexture(
127 params.texture); 131 params.texture);
128 EXPECT_EQ(NULL, params.texture->resource_manager()); 132 EXPECT_EQ(NULL, params.texture->resource_manager());
133 test_layer->SavePaintProperties();
129 test_layer->SetTexturePriorities(calculator); 134 test_layer->SetTexturePriorities(calculator);
130 ResourceUpdateQueue queue2; 135 ResourceUpdateQueue queue2;
131 test_layer->Update(&queue2, &occlusion_tracker); 136 test_layer->Update(&queue2, &occlusion_tracker);
132 EXPECT_EQ(1u, queue2.FullUploadSize()); 137 EXPECT_EQ(1u, queue2.FullUploadSize());
133 EXPECT_EQ(0u, queue2.PartialUploadSize()); 138 EXPECT_EQ(0u, queue2.PartialUploadSize());
134 params = queue2.TakeFirstFullUpload(); 139 params = queue2.TakeFirstFullUpload();
135 EXPECT_TRUE(params.texture != NULL); 140 EXPECT_TRUE(params.texture != NULL);
136 EXPECT_EQ(params.texture->resource_manager(), 141 EXPECT_EQ(params.texture->resource_manager(),
137 layer_tree_host_->contents_texture_manager()); 142 layer_tree_host_->contents_texture_manager());
138 } 143 }
139 144
140 } // namespace 145 } // namespace
141 } // namespace cc 146 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/nine_patch_layer.cc ('k') | cc/layers/paint_properties.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698