| Index: mojo/services/native_viewport/native_viewport_service.cc
|
| diff --git a/mojo/services/native_viewport/native_viewport_service.cc b/mojo/services/native_viewport/native_viewport_service.cc
|
| index 96d9ec50ca42bc12ecd19b55e71278971e0b8fdc..336f497162f019814ab8b5df9813ead2954b65d1 100644
|
| --- a/mojo/services/native_viewport/native_viewport_service.cc
|
| +++ b/mojo/services/native_viewport/native_viewport_service.cc
|
| @@ -66,16 +66,13 @@ class NativeViewportImpl
|
| native_viewport_->SetBounds(bounds.To<gfx::Rect>());
|
| }
|
|
|
| - virtual void CreateGLES2Context(ScopedMessagePipeHandle client_handle)
|
| - OVERRIDE {
|
| - if (command_buffer_.get() || command_buffer_handle_.is_valid()) {
|
| + virtual void CreateGLES2Context(
|
| + InterfaceRequest<CommandBuffer> command_buffer_request) OVERRIDE {
|
| + if (command_buffer_.get() || command_buffer_request_.is_pending()) {
|
| LOG(ERROR) << "Can't create multiple contexts on a NativeViewport";
|
| return;
|
| }
|
| -
|
| - // TODO(darin): CreateGLES2Context should accept a |CommandBufferPtr*|.
|
| - command_buffer_handle_ = client_handle.Pass();
|
| -
|
| + command_buffer_request_ = command_buffer_request.Pass();
|
| CreateCommandBufferIfNeeded();
|
| }
|
|
|
| @@ -84,7 +81,7 @@ class NativeViewportImpl
|
| }
|
|
|
| void CreateCommandBufferIfNeeded() {
|
| - if (!command_buffer_handle_.is_valid())
|
| + if (!command_buffer_request_.is_pending())
|
| return;
|
| DCHECK(!command_buffer_.get());
|
| if (widget_ == gfx::kNullAcceleratedWidget)
|
| @@ -93,8 +90,8 @@ class NativeViewportImpl
|
| if (size.IsEmpty())
|
| return;
|
| command_buffer_.reset(
|
| - BindToPipe(new CommandBufferImpl(widget_, native_viewport_->GetSize()),
|
| - command_buffer_handle_.Pass()));
|
| + new CommandBufferImpl(widget_, native_viewport_->GetSize()));
|
| + BindToRequest(command_buffer_.get(), &command_buffer_request_);
|
| }
|
|
|
| virtual bool OnEvent(ui::Event* ui_event) OVERRIDE {
|
| @@ -167,7 +164,7 @@ class NativeViewportImpl
|
| shell::Context* context_;
|
| gfx::AcceleratedWidget widget_;
|
| scoped_ptr<services::NativeViewport> native_viewport_;
|
| - ScopedMessagePipeHandle command_buffer_handle_;
|
| + InterfaceRequest<CommandBuffer> command_buffer_request_;
|
| scoped_ptr<CommandBufferImpl> command_buffer_;
|
| bool waiting_for_event_ack_;
|
| };
|
|
|