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

Side by Side Diff: services/ui/public/cpp/window_compositor_frame_sink.cc

Issue 2452483002: Move GpuMemoryBufferManager and SharedBitmapManager to CompositorFrameSink (Closed)
Patch Set: rebase Created 4 years, 1 month 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "services/ui/public/cpp/window_compositor_frame_sink.h" 5 #include "services/ui/public/cpp/window_compositor_frame_sink.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "cc/output/compositor_frame.h" 8 #include "cc/output/compositor_frame.h"
9 #include "cc/output/compositor_frame_sink_client.h" 9 #include "cc/output/compositor_frame_sink_client.h"
10 #include "gpu/ipc/client/gpu_channel_host.h" 10 #include "gpu/ipc/client/gpu_channel_host.h"
11 #include "services/ui/public/cpp/gpu_service.h" 11 #include "services/ui/public/cpp/gpu_service.h"
12 12
13 namespace ui { 13 namespace ui {
14 14
15 // static 15 // static
16 std::unique_ptr<WindowCompositorFrameSink> WindowCompositorFrameSink::Create( 16 std::unique_ptr<WindowCompositorFrameSink> WindowCompositorFrameSink::Create(
17 scoped_refptr<cc::ContextProvider> context_provider, 17 scoped_refptr<cc::ContextProvider> context_provider,
18 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
18 std::unique_ptr<WindowCompositorFrameSinkBinding>* 19 std::unique_ptr<WindowCompositorFrameSinkBinding>*
19 compositor_frame_sink_binding) { 20 compositor_frame_sink_binding) {
20 cc::mojom::MojoCompositorFrameSinkPtr compositor_frame_sink; 21 cc::mojom::MojoCompositorFrameSinkPtr compositor_frame_sink;
21 cc::mojom::MojoCompositorFrameSinkClientPtr compositor_frame_sink_client; 22 cc::mojom::MojoCompositorFrameSinkClientPtr compositor_frame_sink_client;
22 cc::mojom::MojoCompositorFrameSinkClientRequest 23 cc::mojom::MojoCompositorFrameSinkClientRequest
23 compositor_frame_sink_client_request = 24 compositor_frame_sink_client_request =
24 GetProxy(&compositor_frame_sink_client); 25 GetProxy(&compositor_frame_sink_client);
25 26
26 compositor_frame_sink_binding->reset(new WindowCompositorFrameSinkBinding( 27 compositor_frame_sink_binding->reset(new WindowCompositorFrameSinkBinding(
27 GetProxy(&compositor_frame_sink), 28 GetProxy(&compositor_frame_sink),
28 compositor_frame_sink_client.PassInterface())); 29 compositor_frame_sink_client.PassInterface()));
29 return base::WrapUnique(new WindowCompositorFrameSink( 30 return base::WrapUnique(new WindowCompositorFrameSink(
30 std::move(context_provider), compositor_frame_sink.PassInterface(), 31 std::move(context_provider), gpu_memory_buffer_manager,
32 compositor_frame_sink.PassInterface(),
31 std::move(compositor_frame_sink_client_request))); 33 std::move(compositor_frame_sink_client_request)));
32 } 34 }
33 35
34 WindowCompositorFrameSink::~WindowCompositorFrameSink() {} 36 WindowCompositorFrameSink::~WindowCompositorFrameSink() {}
35 37
36 bool WindowCompositorFrameSink::BindToClient( 38 bool WindowCompositorFrameSink::BindToClient(
37 cc::CompositorFrameSinkClient* client) { 39 cc::CompositorFrameSinkClient* client) {
38 if (!cc::CompositorFrameSink::BindToClient(client)) 40 if (!cc::CompositorFrameSink::BindToClient(client))
39 return false; 41 return false;
40 42
(...skipping 24 matching lines...) Expand all
65 cc::CompositorFrame frame) { 67 cc::CompositorFrame frame) {
66 DCHECK(thread_checker_); 68 DCHECK(thread_checker_);
67 DCHECK(thread_checker_->CalledOnValidThread()); 69 DCHECK(thread_checker_->CalledOnValidThread());
68 if (!compositor_frame_sink_) 70 if (!compositor_frame_sink_)
69 return; 71 return;
70 compositor_frame_sink_->SubmitCompositorFrame(std::move(frame)); 72 compositor_frame_sink_->SubmitCompositorFrame(std::move(frame));
71 } 73 }
72 74
73 WindowCompositorFrameSink::WindowCompositorFrameSink( 75 WindowCompositorFrameSink::WindowCompositorFrameSink(
74 scoped_refptr<cc::ContextProvider> context_provider, 76 scoped_refptr<cc::ContextProvider> context_provider,
77 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
75 mojo::InterfacePtrInfo<cc::mojom::MojoCompositorFrameSink> 78 mojo::InterfacePtrInfo<cc::mojom::MojoCompositorFrameSink>
76 compositor_frame_sink_info, 79 compositor_frame_sink_info,
77 cc::mojom::MojoCompositorFrameSinkClientRequest client_request) 80 cc::mojom::MojoCompositorFrameSinkClientRequest client_request)
78 : cc::CompositorFrameSink(std::move(context_provider), nullptr), 81 : cc::CompositorFrameSink(std::move(context_provider),
82 nullptr,
83 gpu_memory_buffer_manager,
84 nullptr),
79 compositor_frame_sink_info_(std::move(compositor_frame_sink_info)), 85 compositor_frame_sink_info_(std::move(compositor_frame_sink_info)),
80 client_request_(std::move(client_request)) {} 86 client_request_(std::move(client_request)) {}
81 87
82 void WindowCompositorFrameSink::DidReceiveCompositorFrameAck() { 88 void WindowCompositorFrameSink::DidReceiveCompositorFrameAck() {
83 DCHECK(thread_checker_); 89 DCHECK(thread_checker_);
84 DCHECK(thread_checker_->CalledOnValidThread()); 90 DCHECK(thread_checker_->CalledOnValidThread());
85 if (!client_) 91 if (!client_)
86 return; 92 return;
87 client_->DidReceiveCompositorFrameAck(); 93 client_->DidReceiveCompositorFrameAck();
88 } 94 }
(...skipping 10 matching lines...) Expand all
99 WindowCompositorFrameSinkBinding::~WindowCompositorFrameSinkBinding() {} 105 WindowCompositorFrameSinkBinding::~WindowCompositorFrameSinkBinding() {}
100 106
101 WindowCompositorFrameSinkBinding::WindowCompositorFrameSinkBinding( 107 WindowCompositorFrameSinkBinding::WindowCompositorFrameSinkBinding(
102 cc::mojom::MojoCompositorFrameSinkRequest compositor_frame_sink_request, 108 cc::mojom::MojoCompositorFrameSinkRequest compositor_frame_sink_request,
103 mojo::InterfacePtrInfo<cc::mojom::MojoCompositorFrameSinkClient> 109 mojo::InterfacePtrInfo<cc::mojom::MojoCompositorFrameSinkClient>
104 compositor_frame_sink_client) 110 compositor_frame_sink_client)
105 : compositor_frame_sink_request_(std::move(compositor_frame_sink_request)), 111 : compositor_frame_sink_request_(std::move(compositor_frame_sink_request)),
106 compositor_frame_sink_client_(std::move(compositor_frame_sink_client)) {} 112 compositor_frame_sink_client_(std::move(compositor_frame_sink_client)) {}
107 113
108 } // namespace ui 114 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698