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

Unified Diff: ui/aura/mus/mus_context_factory.cc

Issue 2586323002: mus: Use ui::ContextProviderCommandBuffer. (Closed)
Patch Set: . Created 4 years 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
« no previous file with comments | « ui/aura/mus/mus_context_factory.h ('k') | ui/views/mus/surface_context_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/aura/mus/mus_context_factory.cc
diff --git a/ui/aura/mus/mus_context_factory.cc b/ui/aura/mus/mus_context_factory.cc
index da0b1263ac75db1db3deed4f305791251d9ea0cd..61dd4d835671cd79bb37f5ff016eb7e7d612ed08 100644
--- a/ui/aura/mus/mus_context_factory.cc
+++ b/ui/aura/mus/mus_context_factory.cc
@@ -5,7 +5,6 @@
#include "ui/aura/mus/mus_context_factory.h"
#include "base/memory/ptr_util.h"
-#include "services/ui/public/cpp/context_provider.h"
#include "services/ui/public/cpp/gpu/gpu.h"
#include "ui/aura/mus/window_port_mus.h"
#include "ui/aura/window_tree_host.h"
@@ -13,24 +12,34 @@
namespace aura {
-MusContextFactory::MusContextFactory(ui::Gpu* gpu) : gpu_(gpu) {}
+MusContextFactory::MusContextFactory(ui::Gpu* gpu)
+ : gpu_(gpu), weak_ptr_factory_(this) {}
MusContextFactory::~MusContextFactory() {}
-void MusContextFactory::CreateCompositorFrameSink(
- base::WeakPtr<ui::Compositor> compositor) {
+void MusContextFactory::OnEstablishedGpuChannel(
+ base::WeakPtr<ui::Compositor> compositor,
+ scoped_refptr<gpu::GpuChannelHost> gpu_channel) {
+ if (!compositor)
+ return;
WindowTreeHost* host =
WindowTreeHost::GetForAcceleratedWidget(compositor->widget());
WindowPortMus* window_port = WindowPortMus::Get(host->window());
DCHECK(window_port);
auto compositor_frame_sink = window_port->RequestCompositorFrameSink(
ui::mojom::CompositorFrameSinkType::DEFAULT,
- make_scoped_refptr(
- new ui::ContextProvider(gpu_->EstablishGpuChannelSync())),
+ gpu_->CreateContextProvider(std::move(gpu_channel)),
gpu_->gpu_memory_buffer_manager());
compositor->SetCompositorFrameSink(std::move(compositor_frame_sink));
}
+void MusContextFactory::CreateCompositorFrameSink(
+ base::WeakPtr<ui::Compositor> compositor) {
+ gpu_->EstablishGpuChannel(
+ base::Bind(&MusContextFactory::OnEstablishedGpuChannel,
+ weak_ptr_factory_.GetWeakPtr(), compositor));
+}
+
scoped_refptr<cc::ContextProvider>
MusContextFactory::SharedMainThreadContextProvider() {
// NOTIMPLEMENTED();
« no previous file with comments | « ui/aura/mus/mus_context_factory.h ('k') | ui/views/mus/surface_context_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698