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

Side by Side Diff: services/native_viewport/onscreen_context_provider.cc

Issue 1682113003: Mojo C++ bindings: Generate InterfaceHandle<> instead of InterfacePtr<>. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: rebase ontop of master, address trung's comments Created 4 years, 10 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/native_viewport/onscreen_context_provider.h" 5 #include "services/native_viewport/onscreen_context_provider.h"
6 6
7 #include "services/gles2/command_buffer_driver.h" 7 #include "services/gles2/command_buffer_driver.h"
8 #include "services/gles2/gpu_state.h" 8 #include "services/gles2/gpu_state.h"
9 9
10 namespace native_viewport { 10 namespace native_viewport {
(...skipping 28 matching lines...) Expand all
39 return; 39 return;
40 } 40 }
41 41
42 if (pending_create_callback_.is_null()) 42 if (pending_create_callback_.is_null())
43 return; 43 return;
44 44
45 CreateAndReturnCommandBuffer(); 45 CreateAndReturnCommandBuffer();
46 } 46 }
47 47
48 void OnscreenContextProvider::Create( 48 void OnscreenContextProvider::Create(
49 mojo::ViewportParameterListenerPtr viewport_parameter_listener, 49 mojo::InterfaceHandle<mojo::ViewportParameterListener>
50 viewport_parameter_listener,
50 const CreateCallback& callback) { 51 const CreateCallback& callback) {
51 if (!pending_create_callback_.is_null()) { 52 if (!pending_create_callback_.is_null()) {
52 DCHECK(!command_buffer_impl_); 53 DCHECK(!command_buffer_impl_);
53 pending_create_callback_.Run(nullptr); 54 pending_create_callback_.Run(nullptr);
54 } 55 }
55 56
56 pending_listener_ = viewport_parameter_listener.Pass(); 57 pending_listener_ = mojo::ViewportParameterListenerPtr::Create(
58 std::move(viewport_parameter_listener));
57 pending_create_callback_ = callback; 59 pending_create_callback_ = callback;
58 60
59 if (widget_ != gfx::kNullAcceleratedWidget) 61 if (widget_ != gfx::kNullAcceleratedWidget)
60 CreateAndReturnCommandBuffer(); 62 CreateAndReturnCommandBuffer();
61 } 63 }
62 64
63 void OnscreenContextProvider::OnCommandBufferImplDestroyed() { 65 void OnscreenContextProvider::OnCommandBufferImplDestroyed() {
64 DCHECK(command_buffer_impl_); 66 DCHECK(command_buffer_impl_);
65 command_buffer_impl_ = nullptr; 67 command_buffer_impl_ = nullptr;
66 } 68 }
67 69
68 void OnscreenContextProvider::CreateAndReturnCommandBuffer() { 70 void OnscreenContextProvider::CreateAndReturnCommandBuffer() {
69 mojo::CommandBufferPtr cb; 71 mojo::CommandBufferPtr cb;
70 command_buffer_impl_ = new gles2::CommandBufferImpl( 72 command_buffer_impl_ = new gles2::CommandBufferImpl(
71 GetProxy(&cb), pending_listener_.Pass(), state_->control_task_runner(), 73 GetProxy(&cb), pending_listener_.Pass(), state_->control_task_runner(),
72 state_->sync_point_manager(), 74 state_->sync_point_manager(),
73 make_scoped_ptr(new gles2::CommandBufferDriver( 75 make_scoped_ptr(new gles2::CommandBufferDriver(
74 widget_, state_->share_group(), state_->mailbox_manager(), 76 widget_, state_->share_group(), state_->mailbox_manager(),
75 state_->sync_point_manager(), requested_configuration_))); 77 state_->sync_point_manager(), requested_configuration_)));
76 command_buffer_impl_->set_observer(this); 78 command_buffer_impl_->set_observer(this);
77 pending_create_callback_.Run(cb.Pass()); 79 pending_create_callback_.Run(cb.Pass());
78 pending_create_callback_.reset(); 80 pending_create_callback_.reset();
79 } 81 }
80 82
81 } // namespace mojo 83 } // namespace mojo
OLDNEW
« no previous file with comments | « services/native_viewport/onscreen_context_provider.h ('k') | services/ui/input_manager/input_associate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698