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

Unified Diff: cc/output/overlay_unittest.cc

Issue 1985973002: Defer compositor context creation to the thread. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: cc/output/overlay_unittest.cc
diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc
index 3e9f5edeeb60aa87d55c85b19de03d379df53ded..52bc0ead68f2c78d7014fd5738634413b1bf32c2 100644
--- a/cc/output/overlay_unittest.cc
+++ b/cc/output/overlay_unittest.cc
@@ -133,8 +133,9 @@ size_t DefaultOverlayProcessor::GetStrategyCount() {
class OverlayOutputSurface : public OutputSurface {
public:
- explicit OverlayOutputSurface(scoped_refptr<ContextProvider> context_provider)
- : OutputSurface(context_provider) {
+ explicit OverlayOutputSurface(
+ std::unique_ptr<ContextProvider::DeferredCreate> context_provider_create)
+ : OutputSurface(std::move(context_provider_create)) {
surface_size_ = kDisplaySize;
device_scale_factor_ = 1;
is_displayed_as_overlay_plane_ = true;
@@ -336,8 +337,8 @@ template <typename OverlayCandidateValidatorType>
class OverlayTest : public testing::Test {
protected:
void SetUp() override {
- provider_ = TestContextProvider::Create();
- output_surface_.reset(new OverlayOutputSurface(provider_));
+ output_surface_.reset(new OverlayOutputSurface(
+ base::MakeUnique<TestContextProvider::DeferredCreate>()));
EXPECT_TRUE(output_surface_->BindToClient(&client_));
output_surface_->SetOverlayCandidateValidator(
new OverlayCandidateValidatorType);
@@ -350,7 +351,6 @@ class OverlayTest : public testing::Test {
overlay_processor_->Initialize();
}
- scoped_refptr<TestContextProvider> provider_;
std::unique_ptr<OverlayOutputSurface> output_surface_;
FakeOutputSurfaceClient client_;
std::unique_ptr<SharedBitmapManager> shared_bitmap_manager_;
@@ -364,8 +364,8 @@ typedef OverlayTest<UnderlayOverlayValidator> UnderlayTest;
typedef OverlayTest<CALayerValidator> CALayerOverlayTest;
TEST(OverlayTest, NoOverlaysByDefault) {
- scoped_refptr<TestContextProvider> provider = TestContextProvider::Create();
- OverlayOutputSurface output_surface(provider);
+ OverlayOutputSurface output_surface(
+ base::MakeUnique<TestContextProvider::DeferredCreate>());
EXPECT_EQ(NULL, output_surface.GetOverlayCandidateValidator());
output_surface.SetOverlayCandidateValidator(new SingleOverlayValidator);
@@ -373,8 +373,8 @@ TEST(OverlayTest, NoOverlaysByDefault) {
}
TEST(OverlayTest, OverlaysProcessorHasStrategy) {
- scoped_refptr<TestContextProvider> provider = TestContextProvider::Create();
- OverlayOutputSurface output_surface(provider);
+ OverlayOutputSurface output_surface(
+ base::MakeUnique<TestContextProvider::DeferredCreate>());
FakeOutputSurfaceClient client;
EXPECT_TRUE(output_surface.BindToClient(&client));
output_surface.SetOverlayCandidateValidator(new SingleOverlayValidator);
@@ -1203,8 +1203,10 @@ class MockOverlayScheduler {
class GLRendererWithOverlaysTest : public testing::Test {
protected:
GLRendererWithOverlaysTest() {
- provider_ = TestContextProvider::Create();
- output_surface_.reset(new OverlayOutputSurface(provider_));
+ std::unique_ptr<TestContextProvider::DeferredCreate> context_create(
+ new TestContextProvider::DeferredCreate);
+ context_create->created_context = &provider_;
piman 2016/05/17 03:41:40 I don't know, this feels a little twisted - I thin
danakj 2016/05/17 19:53:33 After sleeping on it I'm thinking static cast also
+ output_surface_.reset(new OverlayOutputSurface(std::move(context_create)));
CHECK(output_surface_->BindToClient(&output_surface_client_));
resource_provider_ =
FakeResourceProvider::Create(output_surface_.get(), nullptr);
@@ -1237,11 +1239,11 @@ class GLRendererWithOverlaysTest : public testing::Test {
RendererSettings settings_;
FakeOutputSurfaceClient output_surface_client_;
+ TestContextProvider* provider_ = nullptr;
std::unique_ptr<OverlayOutputSurface> output_surface_;
FakeRendererClient renderer_client_;
std::unique_ptr<ResourceProvider> resource_provider_;
std::unique_ptr<OverlayInfoRendererGL> renderer_;
- scoped_refptr<TestContextProvider> provider_;
MockOverlayScheduler scheduler_;
};

Powered by Google App Engine
This is Rietveld 408576698