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

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

Issue 640203002: [C++11 Allowed Features] Declares a type-safe null pointer converting from NULL to nullptr [part-… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 RenderPass* root_pass = frame_data->render_pass_list.back(); 268 RenderPass* root_pass = frame_data->render_pass_list.back();
269 gfx::Size frame_size = root_pass->output_rect.size(); 269 gfx::Size frame_size = root_pass->output_rect.size();
270 270
271 if (frame_provider_.get() && frame_size == frame_provider_->frame_size()) { 271 if (frame_provider_.get() && frame_size == frame_provider_->frame_size()) {
272 frame_provider_->SetFrameData(frame_data.Pass()); 272 frame_provider_->SetFrameData(frame_data.Pass());
273 return; 273 return;
274 } 274 }
275 275
276 if (delegated_.get()) { 276 if (delegated_.get()) {
277 delegated_->RemoveFromParent(); 277 delegated_->RemoveFromParent();
278 delegated_ = NULL; 278 delegated_ = nullptr;
279 frame_provider_ = NULL; 279 frame_provider_ = nullptr;
280 } 280 }
281 281
282 frame_provider_ = new DelegatedFrameProvider(resource_collection_.get(), 282 frame_provider_ = new DelegatedFrameProvider(resource_collection_.get(),
283 frame_data.Pass()); 283 frame_data.Pass());
284 284
285 delegated_ = CreateDelegatedLayer(frame_provider_.get()); 285 delegated_ = CreateDelegatedLayer(frame_provider_.get());
286 } 286 }
287 287
288 scoped_refptr<DelegatedRendererLayer> CreateDelegatedLayer( 288 scoped_refptr<DelegatedRendererLayer> CreateDelegatedLayer(
289 DelegatedFrameProvider* frame_provider) { 289 DelegatedFrameProvider* frame_provider) {
290 scoped_refptr<DelegatedRendererLayer> delegated = 290 scoped_refptr<DelegatedRendererLayer> delegated =
291 FakeDelegatedRendererLayer::Create(frame_provider); 291 FakeDelegatedRendererLayer::Create(frame_provider);
292 delegated->SetBounds(gfx::Size(10, 10)); 292 delegated->SetBounds(gfx::Size(10, 10));
293 delegated->SetIsDrawable(true); 293 delegated->SetIsDrawable(true);
294 294
295 root_->AddChild(delegated); 295 root_->AddChild(delegated);
296 return delegated; 296 return delegated;
297 } 297 }
298 298
299 virtual void AfterTest() override { resource_collection_->SetClient(NULL); } 299 virtual void AfterTest() override { resource_collection_->SetClient(nullptr); }
danakj 2014/10/09 16:00:53 and here
300 300
301 // DelegatedFrameProviderClient implementation. 301 // DelegatedFrameProviderClient implementation.
302 virtual void UnusedResourcesAreAvailable() override { available_ = true; } 302 virtual void UnusedResourcesAreAvailable() override { available_ = true; }
303 303
304 bool TestAndResetAvailable() { 304 bool TestAndResetAvailable() {
305 bool available = available_; 305 bool available = available_;
306 available_ = false; 306 available_ = false;
307 return available; 307 return available;
308 } 308 }
309 309
(...skipping 1580 matching lines...) Expand 10 before | Expand all | Expand 10 after
1890 1890
1891 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1)); 1891 frame = CreateFrameData(gfx::Rect(0, 0, 1, 1), gfx::Rect(0, 0, 1, 1));
1892 AddTextureQuad(frame.get(), 999); 1892 AddTextureQuad(frame.get(), 999);
1893 AddTransferableResource(frame.get(), 999); 1893 AddTransferableResource(frame.get(), 999);
1894 AddTextureQuad(frame.get(), 555); 1894 AddTextureQuad(frame.get(), 555);
1895 AddTransferableResource(frame.get(), 555); 1895 AddTransferableResource(frame.get(), 555);
1896 1896
1897 // Remove the delegated layer and replace it with a new one. Make a new 1897 // Remove the delegated layer and replace it with a new one. Make a new
1898 // frame but with the same resources for it. 1898 // frame but with the same resources for it.
1899 delegated_->RemoveFromParent(); 1899 delegated_->RemoveFromParent();
1900 delegated_ = NULL; 1900 delegated_ = nullptr;
1901 1901
1902 frame_provider_->SetFrameData(frame.Pass()); 1902 frame_provider_->SetFrameData(frame.Pass());
1903 delegated_ = CreateDelegatedLayer(frame_provider_.get()); 1903 delegated_ = CreateDelegatedLayer(frame_provider_.get());
1904 break; 1904 break;
1905 case 3: 1905 case 3:
1906 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 1906 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
1907 EXPECT_EQ(0u, resources.size()); 1907 EXPECT_EQ(0u, resources.size());
1908 EXPECT_FALSE(TestAndResetAvailable()); 1908 EXPECT_FALSE(TestAndResetAvailable());
1909 1909
1910 // Use a frame with no resources in it. 1910 // Use a frame with no resources in it.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1955 // Create a DelegatedRendererLayer using the frame. 1955 // Create a DelegatedRendererLayer using the frame.
1956 SetFrameData(frame.Pass()); 1956 SetFrameData(frame.Pass());
1957 break; 1957 break;
1958 case 2: 1958 case 2:
1959 // Create a second DelegatedRendererLayer using the same frame provider. 1959 // Create a second DelegatedRendererLayer using the same frame provider.
1960 delegated_thief_ = CreateDelegatedLayer(frame_provider_.get()); 1960 delegated_thief_ = CreateDelegatedLayer(frame_provider_.get());
1961 root_->AddChild(delegated_thief_); 1961 root_->AddChild(delegated_thief_);
1962 1962
1963 // And drop our ref on the frame provider so only the layers keep it 1963 // And drop our ref on the frame provider so only the layers keep it
1964 // alive. 1964 // alive.
1965 frame_provider_ = NULL; 1965 frame_provider_ = nullptr;
1966 break; 1966 break;
1967 case 3: 1967 case 3:
1968 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 1968 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
1969 EXPECT_EQ(0u, resources.size()); 1969 EXPECT_EQ(0u, resources.size());
1970 EXPECT_FALSE(TestAndResetAvailable()); 1970 EXPECT_FALSE(TestAndResetAvailable());
1971 1971
1972 // Remove one delegated layer from the tree. No resources should be 1972 // Remove one delegated layer from the tree. No resources should be
1973 // returned yet. 1973 // returned yet.
1974 delegated_->RemoveFromParent(); 1974 delegated_->RemoveFromParent();
1975 break; 1975 break;
1976 case 4: 1976 case 4:
1977 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 1977 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
1978 EXPECT_EQ(0u, resources.size()); 1978 EXPECT_EQ(0u, resources.size());
1979 EXPECT_FALSE(TestAndResetAvailable()); 1979 EXPECT_FALSE(TestAndResetAvailable());
1980 1980
1981 // Put the first layer back, and remove the other layer and destroy it. 1981 // Put the first layer back, and remove the other layer and destroy it.
1982 // No resources should be returned yet. 1982 // No resources should be returned yet.
1983 root_->AddChild(delegated_); 1983 root_->AddChild(delegated_);
1984 delegated_thief_->RemoveFromParent(); 1984 delegated_thief_->RemoveFromParent();
1985 delegated_thief_ = NULL; 1985 delegated_thief_ = nullptr;
1986 break; 1986 break;
1987 case 5: 1987 case 5:
1988 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 1988 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
1989 EXPECT_EQ(0u, resources.size()); 1989 EXPECT_EQ(0u, resources.size());
1990 EXPECT_FALSE(TestAndResetAvailable()); 1990 EXPECT_FALSE(TestAndResetAvailable());
1991 1991
1992 // Remove the first layer from the tree again. The resources are still 1992 // Remove the first layer from the tree again. The resources are still
1993 // held by the main thread layer. 1993 // held by the main thread layer.
1994 delegated_->RemoveFromParent(); 1994 delegated_->RemoveFromParent();
1995 break; 1995 break;
1996 case 6: 1996 case 6:
1997 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 1997 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
1998 EXPECT_EQ(0u, resources.size()); 1998 EXPECT_EQ(0u, resources.size());
1999 EXPECT_FALSE(TestAndResetAvailable()); 1999 EXPECT_FALSE(TestAndResetAvailable());
2000 2000
2001 // Destroy the layer and the resources should be returned immediately. 2001 // Destroy the layer and the resources should be returned immediately.
2002 delegated_ = NULL; 2002 delegated_ = nullptr;
2003 2003
2004 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 2004 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
2005 { 2005 {
2006 unsigned expected[] = {555, 999}; 2006 unsigned expected[] = {555, 999};
2007 EXPECT_RESOURCES(expected, resources); 2007 EXPECT_RESOURCES(expected, resources);
2008 EXPECT_TRUE(TestAndResetAvailable()); 2008 EXPECT_TRUE(TestAndResetAvailable());
2009 } 2009 }
2010 EndTest(); 2010 EndTest();
2011 break; 2011 break;
2012 } 2012 }
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
2076 case 5: 2076 case 5:
2077 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 2077 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
2078 { 2078 {
2079 unsigned expected[] = {555, 999}; 2079 unsigned expected[] = {555, 999};
2080 EXPECT_RESOURCES(expected, resources); 2080 EXPECT_RESOURCES(expected, resources);
2081 EXPECT_TRUE(TestAndResetAvailable()); 2081 EXPECT_TRUE(TestAndResetAvailable());
2082 } 2082 }
2083 2083
2084 // Destroy the layer. 2084 // Destroy the layer.
2085 delegated_->RemoveFromParent(); 2085 delegated_->RemoveFromParent();
2086 delegated_ = NULL; 2086 delegated_ = nullptr;
2087 break; 2087 break;
2088 case 6: 2088 case 6:
2089 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 2089 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
2090 EXPECT_EQ(0u, resources.size()); 2090 EXPECT_EQ(0u, resources.size());
2091 EXPECT_FALSE(TestAndResetAvailable()); 2091 EXPECT_FALSE(TestAndResetAvailable());
2092 2092
2093 // Destroy the frame provider. Resources should be returned. 2093 // Destroy the frame provider. Resources should be returned.
2094 frame_provider_ = NULL; 2094 frame_provider_ = nullptr;
2095 2095
2096 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 2096 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
2097 { 2097 {
2098 unsigned expected[] = {777, 888}; 2098 unsigned expected[] = {777, 888};
2099 EXPECT_RESOURCES(expected, resources); 2099 EXPECT_RESOURCES(expected, resources);
2100 EXPECT_TRUE(TestAndResetAvailable()); 2100 EXPECT_TRUE(TestAndResetAvailable());
2101 } 2101 }
2102 EndTest(); 2102 EndTest();
2103 break; 2103 break;
2104 } 2104 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
2159 2159
2160 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 2160 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
2161 { 2161 {
2162 unsigned expected[] = {555, 999}; 2162 unsigned expected[] = {555, 999};
2163 EXPECT_RESOURCES(expected, resources); 2163 EXPECT_RESOURCES(expected, resources);
2164 EXPECT_TRUE(TestAndResetAvailable()); 2164 EXPECT_TRUE(TestAndResetAvailable());
2165 resources.clear(); 2165 resources.clear();
2166 } 2166 }
2167 2167
2168 // Destroy the frame provider. 2168 // Destroy the frame provider.
2169 frame_provider_ = NULL; 2169 frame_provider_ = nullptr;
2170 2170
2171 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 2171 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
2172 EXPECT_EQ(0u, resources.size()); 2172 EXPECT_EQ(0u, resources.size());
2173 EXPECT_FALSE(TestAndResetAvailable()); 2173 EXPECT_FALSE(TestAndResetAvailable());
2174 2174
2175 // Destroy the layer. Resources should be returned. 2175 // Destroy the layer. Resources should be returned.
2176 delegated_ = NULL; 2176 delegated_ = nullptr;
2177 2177
2178 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources); 2178 resource_collection_->TakeUnusedResourcesForChildCompositor(&resources);
2179 { 2179 {
2180 unsigned expected[] = {777, 888}; 2180 unsigned expected[] = {777, 888};
2181 EXPECT_RESOURCES(expected, resources); 2181 EXPECT_RESOURCES(expected, resources);
2182 EXPECT_TRUE(TestAndResetAvailable()); 2182 EXPECT_TRUE(TestAndResetAvailable());
2183 } 2183 }
2184 EndTest(); 2184 EndTest();
2185 break; 2185 break;
2186 } 2186 }
2187 } 2187 }
2188 2188
2189 virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, 2189 virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl,
2190 bool result) override { 2190 bool result) override {
2191 ReturnUnusedResourcesFromParent(host_impl); 2191 ReturnUnusedResourcesFromParent(host_impl);
2192 } 2192 }
2193 2193
2194 scoped_refptr<DelegatedRendererLayer> delegated_thief_; 2194 scoped_refptr<DelegatedRendererLayer> delegated_thief_;
2195 }; 2195 };
2196 2196
2197 SINGLE_AND_MULTI_THREAD_TEST_F( 2197 SINGLE_AND_MULTI_THREAD_TEST_F(
2198 LayerTreeHostDelegatedTestRemoveAndChangeResources); 2198 LayerTreeHostDelegatedTestRemoveAndChangeResources);
2199 2199
2200 } // namespace 2200 } // namespace
2201 } // namespace cc 2201 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698