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

Unified Diff: ui/compositor/test/in_process_context_factory.cc

Issue 2238693002: Plumb SetVisible from ui::Compositor to the DirectRenderer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: setvisible-browser: . Created 4 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 side-by-side diff with in-line comments
Download patch
Index: ui/compositor/test/in_process_context_factory.cc
diff --git a/ui/compositor/test/in_process_context_factory.cc b/ui/compositor/test/in_process_context_factory.cc
index 6e9b9618280d83a65f3feb25c87b83a385ccf9a6..0836ca339689a1543f6914f460f313dad3c935d4 100644
--- a/ui/compositor/test/in_process_context_factory.cc
+++ b/ui/compositor/test/in_process_context_factory.cc
@@ -175,18 +175,21 @@ void InProcessContextFactory::CreateOutputSurface(
std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler(
begin_frame_source.get(), compositor->task_runner().get(),
display_output_surface->capabilities().max_frames_pending));
- per_compositor_data_[compositor.get()] = base::MakeUnique<cc::Display>(
+ auto& data = per_compositor_data_[compositor.get()];
+ data.display = base::MakeUnique<cc::Display>(
GetSharedBitmapManager(), GetGpuMemoryBufferManager(),
compositor->GetRendererSettings(), std::move(begin_frame_source),
std::move(display_output_surface), std::move(scheduler),
base::MakeUnique<cc::TextureMailboxDeleter>(
compositor->task_runner().get()));
+ data.display->Resize(compositor->size());
+ data.display->SetVisible(per_compositor_data_[compositor.get()].visible);
- auto* display = per_compositor_data_[compositor.get()].get();
std::unique_ptr<cc::SurfaceDisplayOutputSurface> surface_output_surface(
new cc::SurfaceDisplayOutputSurface(
- surface_manager_, compositor->surface_id_allocator(), display,
- context_provider, shared_worker_context_provider_));
+ surface_manager_, compositor->surface_id_allocator(),
+ data.display.get(), context_provider,
+ shared_worker_context_provider_));
compositor->SetOutputSurface(std::move(surface_output_surface));
} else {
compositor->SetOutputSurface(std::move(display_output_surface));
@@ -255,11 +258,18 @@ cc::SurfaceManager* InProcessContextFactory::GetSurfaceManager() {
return surface_manager_;
}
+void InProcessContextFactory::SetDisplayVisible(ui::Compositor* compositor,
+ bool visible) {
+ if (!per_compositor_data_.count(compositor))
+ return;
+ per_compositor_data_[compositor].display->SetVisible(visible);
+}
+
void InProcessContextFactory::ResizeDisplay(ui::Compositor* compositor,
const gfx::Size& size) {
if (!per_compositor_data_.count(compositor))
return;
- per_compositor_data_[compositor]->Resize(size);
+ per_compositor_data_[compositor].display->Resize(size);
}
void InProcessContextFactory::AddObserver(ContextFactoryObserver* observer) {
@@ -270,4 +280,12 @@ void InProcessContextFactory::RemoveObserver(ContextFactoryObserver* observer) {
observer_list_.RemoveObserver(observer);
}
+InProcessContextFactory::PerCompositorData::PerCompositorData() = default;
+InProcessContextFactory::PerCompositorData::~PerCompositorData() = default;
+InProcessContextFactory::PerCompositorData::PerCompositorData(
+ PerCompositorData&&) = default;
+InProcessContextFactory::PerCompositorData&
+InProcessContextFactory::PerCompositorData::operator=(PerCompositorData&&) =
+ default;
+
} // namespace ui

Powered by Google App Engine
This is Rietveld 408576698