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

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

Issue 317013008: Fix LayerTreeHostTestUndrawnLayersDamageLater flakiness (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <algorithm> 7 #include <algorithm>
8 8
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/synchronization/lock.h" 10 #include "base/synchronization/lock.h"
(...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after
567 567
568 gfx::RectF root_damage_rect; 568 gfx::RectF root_damage_rect;
569 if (!frame_data->render_passes.empty()) 569 if (!frame_data->render_passes.empty())
570 root_damage_rect = frame_data->render_passes.back()->damage_rect; 570 root_damage_rect = frame_data->render_passes.back()->damage_rect;
571 571
572 // The first time, the whole view needs be drawn. 572 // The first time, the whole view needs be drawn.
573 // Afterwards, just the opacity of surface_layer1 is changed a few times, 573 // Afterwards, just the opacity of surface_layer1 is changed a few times,
574 // and each damage should be the bounding box of it and its child. If this 574 // and each damage should be the bounding box of it and its child. If this
575 // was working improperly, the damage might not include its childs bounding 575 // was working improperly, the damage might not include its childs bounding
576 // box. 576 // box.
577 // TODO(enne): This compositor thread function is asking for the 577 switch (host_impl->active_tree()->source_frame_number()) {
578 // frame number from the layer tree host on the main thread. :( 578 case 0:
579 switch (layer_tree_host()->source_frame_number()) {
580 case 1:
581 EXPECT_RECT_EQ(gfx::Rect(root_layer_->bounds()), root_damage_rect); 579 EXPECT_RECT_EQ(gfx::Rect(root_layer_->bounds()), root_damage_rect);
582 break; 580 break;
581 case 1:
583 case 2: 582 case 2:
584 case 3: 583 case 3:
585 case 4:
586 EXPECT_RECT_EQ(gfx::Rect(child_layer_->bounds()), root_damage_rect); 584 EXPECT_RECT_EQ(gfx::Rect(child_layer_->bounds()), root_damage_rect);
587 break; 585 break;
588 default: 586 default:
589 NOTREACHED(); 587 NOTREACHED();
590 } 588 }
591 589
592 return draw_result; 590 return draw_result;
593 } 591 }
594 592
595 virtual void DidCommitAndDrawFrame() OVERRIDE { 593 virtual void DidCommitAndDrawFrame() OVERRIDE {
(...skipping 20 matching lines...) Expand all
616 614
617 virtual void AfterTest() OVERRIDE {} 615 virtual void AfterTest() OVERRIDE {}
618 616
619 private: 617 private:
620 FakeContentLayerClient client_; 618 FakeContentLayerClient client_;
621 scoped_refptr<ContentLayer> root_layer_; 619 scoped_refptr<ContentLayer> root_layer_;
622 scoped_refptr<FakeContentLayer> parent_layer_; 620 scoped_refptr<FakeContentLayer> parent_layer_;
623 scoped_refptr<FakeContentLayer> child_layer_; 621 scoped_refptr<FakeContentLayer> child_layer_;
624 }; 622 };
625 623
626 // TODO(enne): http://crbug.com/380895 624 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestUndrawnLayersDamageLater);
627 // SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestUndrawnLayersDamageLater);
628 625
629 // Tests that if a layer is not drawn because of some reason in the parent, 626 // Tests that if a layer is not drawn because of some reason in the parent,
630 // causing its content bounds to not be computed, then when it is later drawn, 627 // causing its content bounds to not be computed, then when it is later drawn,
631 // its content bounds get pushed. 628 // its content bounds get pushed.
632 class LayerTreeHostTestUndrawnLayersPushContentBoundsLater 629 class LayerTreeHostTestUndrawnLayersPushContentBoundsLater
633 : public LayerTreeHostTest { 630 : public LayerTreeHostTest {
634 public: 631 public:
635 LayerTreeHostTestUndrawnLayersPushContentBoundsLater() 632 LayerTreeHostTestUndrawnLayersPushContentBoundsLater()
636 : root_layer_(Layer::Create()) {} 633 : root_layer_(Layer::Create()) {}
637 634
(...skipping 4256 matching lines...) Expand 10 before | Expand all | Expand 10 after
4894 const gfx::Size bounds_; 4891 const gfx::Size bounds_;
4895 FakeContentLayerClient client_; 4892 FakeContentLayerClient client_;
4896 scoped_refptr<ContentLayerWithUpdateTracking> content_layer_; 4893 scoped_refptr<ContentLayerWithUpdateTracking> content_layer_;
4897 scoped_refptr<FakePictureLayer> picture_layer_; 4894 scoped_refptr<FakePictureLayer> picture_layer_;
4898 Layer* child_layer_; 4895 Layer* child_layer_;
4899 }; 4896 };
4900 4897
4901 MULTI_THREAD_TEST_F(LayerTreeHostTestContinuousPainting); 4898 MULTI_THREAD_TEST_F(LayerTreeHostTestContinuousPainting);
4902 4899
4903 } // namespace cc 4900 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698