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

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

Issue 1341423006: Removing GL context rate limiting feature and related wrappers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed mojo autogens Created 5 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
« no previous file with comments | « cc/layers/texture_layer.cc ('k') | cc/output/gl_renderer.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/texture_layer.h" 5 #include "cc/layers/texture_layer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetFlipped(false)); 229 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetFlipped(false));
230 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetNearestNeighbor(true)); 230 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetNearestNeighbor(true));
231 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetUV( 231 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetUV(
232 gfx::PointF(0.25f, 0.25f), gfx::PointF(0.75f, 0.75f))); 232 gfx::PointF(0.25f, 0.25f), gfx::PointF(0.75f, 0.75f)));
233 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetVertexOpacity( 233 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetVertexOpacity(
234 0.5f, 0.5f, 0.5f, 0.5f)); 234 0.5f, 0.5f, 0.5f, 0.5f));
235 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetPremultipliedAlpha(false)); 235 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetPremultipliedAlpha(false));
236 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetBlendBackgroundColor(true)); 236 EXPECT_SET_NEEDS_COMMIT(1, test_layer->SetBlendBackgroundColor(true));
237 } 237 }
238 238
239 TEST_F(TextureLayerTest, RateLimiter) {
240 FakeTextureLayerClient client;
241 scoped_refptr<TextureLayer> test_layer =
242 TextureLayer::CreateForMailbox(layer_settings_, &client);
243 test_layer->SetIsDrawable(true);
244 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(AnyNumber());
245 layer_tree_host_->SetRootLayer(test_layer);
246
247 // Don't rate limit until we invalidate.
248 EXPECT_CALL(*layer_tree_host_, StartRateLimiter()).Times(0);
249 test_layer->SetRateLimitContext(true);
250 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
251
252 // Do rate limit after we invalidate.
253 EXPECT_CALL(*layer_tree_host_, StartRateLimiter());
254 test_layer->SetNeedsDisplay();
255 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
256
257 // Stop rate limiter when we don't want it any more.
258 EXPECT_CALL(*layer_tree_host_, StopRateLimiter());
259 test_layer->SetRateLimitContext(false);
260 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
261
262 // Or we clear the client.
263 test_layer->SetRateLimitContext(true);
264 EXPECT_CALL(*layer_tree_host_, StopRateLimiter());
265 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(AnyNumber());
266 test_layer->ClearClient();
267 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
268
269 // Reset to a layer with a client, that started the rate limiter.
270 test_layer = TextureLayer::CreateForMailbox(layer_settings_, &client);
271 test_layer->SetIsDrawable(true);
272 test_layer->SetRateLimitContext(true);
273 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(AnyNumber());
274 layer_tree_host_->SetRootLayer(test_layer);
275 EXPECT_CALL(*layer_tree_host_, StartRateLimiter()).Times(0);
276 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
277 EXPECT_CALL(*layer_tree_host_, StartRateLimiter());
278 test_layer->SetNeedsDisplay();
279 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
280
281 // Stop rate limiter when we're removed from the tree.
282 EXPECT_CALL(*layer_tree_host_, StopRateLimiter());
283 EXPECT_CALL(*layer_tree_host_, SetNeedsCommit()).Times(1);
284 layer_tree_host_->SetRootLayer(nullptr);
285 Mock::VerifyAndClearExpectations(layer_tree_host_.get());
286 }
287
288 class TestMailboxHolder : public TextureLayer::TextureMailboxHolder { 239 class TestMailboxHolder : public TextureLayer::TextureMailboxHolder {
289 public: 240 public:
290 using TextureLayer::TextureMailboxHolder::Create; 241 using TextureLayer::TextureMailboxHolder::Create;
291 242
292 protected: 243 protected:
293 ~TestMailboxHolder() override {} 244 ~TestMailboxHolder() override {}
294 }; 245 };
295 246
296 class TextureLayerWithMailboxTest : public TextureLayerTest { 247 class TextureLayerWithMailboxTest : public TextureLayerTest {
297 protected: 248 protected:
(...skipping 1207 matching lines...) Expand 10 before | Expand all | Expand 10 after
1505 int callback_count_; 1456 int callback_count_;
1506 scoped_refptr<Layer> root_; 1457 scoped_refptr<Layer> root_;
1507 scoped_refptr<TextureLayer> layer_; 1458 scoped_refptr<TextureLayer> layer_;
1508 }; 1459 };
1509 1460
1510 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F( 1461 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(
1511 TextureLayerWithMailboxImplThreadDeleted); 1462 TextureLayerWithMailboxImplThreadDeleted);
1512 1463
1513 } // namespace 1464 } // namespace
1514 } // namespace cc 1465 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/texture_layer.cc ('k') | cc/output/gl_renderer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698