| Index: components/view_manager/native_viewport/onscreen_context_provider.cc
|
| diff --git a/components/view_manager/native_viewport/onscreen_context_provider.cc b/components/view_manager/native_viewport/onscreen_context_provider.cc
|
| deleted file mode 100644
|
| index 46af5d96f0e179e0450a71b16e103000e3c90c07..0000000000000000000000000000000000000000
|
| --- a/components/view_manager/native_viewport/onscreen_context_provider.cc
|
| +++ /dev/null
|
| @@ -1,92 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "components/view_manager/native_viewport/onscreen_context_provider.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "components/view_manager/gles2/command_buffer_driver.h"
|
| -#include "components/view_manager/gles2/command_buffer_impl.h"
|
| -#include "components/view_manager/gles2/gpu_state.h"
|
| -
|
| -namespace native_viewport {
|
| -
|
| -OnscreenContextProvider::OnscreenContextProvider(
|
| - const scoped_refptr<gles2::GpuState>& state)
|
| - : command_buffer_impl_(nullptr),
|
| - state_(state),
|
| - widget_(gfx::kNullAcceleratedWidget),
|
| - binding_(this) {
|
| -}
|
| -
|
| -OnscreenContextProvider::~OnscreenContextProvider() {
|
| - if (command_buffer_impl_)
|
| - command_buffer_impl_->set_observer(nullptr);
|
| - for (const auto& driver : command_buffers_)
|
| - driver->DestroyWindow();
|
| -}
|
| -
|
| -void OnscreenContextProvider::Bind(
|
| - mojo::InterfaceRequest<mojo::ContextProvider> request) {
|
| - binding_.Bind(request.Pass());
|
| -}
|
| -
|
| -void OnscreenContextProvider::SetAcceleratedWidget(
|
| - gfx::AcceleratedWidget widget) {
|
| - widget_ = widget;
|
| -
|
| - if (widget_ == gfx::kNullAcceleratedWidget) {
|
| - if (command_buffer_impl_)
|
| - command_buffer_impl_->DidLoseContext();
|
| - return;
|
| - }
|
| - if (pending_create_callback_.is_null())
|
| - return;
|
| -
|
| - CreateAndReturnCommandBuffer();
|
| -}
|
| -
|
| -void OnscreenContextProvider::Create(
|
| - mojo::ViewportParameterListenerPtr viewport_parameter_listener,
|
| - const CreateCallback& callback) {
|
| - if (!pending_create_callback_.is_null()) {
|
| - DCHECK(!command_buffer_impl_);
|
| - pending_create_callback_.Run(nullptr);
|
| - }
|
| - pending_listener_ = viewport_parameter_listener.Pass();
|
| - pending_create_callback_ = callback;
|
| -
|
| - if (widget_ != gfx::kNullAcceleratedWidget)
|
| - CreateAndReturnCommandBuffer();
|
| -}
|
| -
|
| -void OnscreenContextProvider::OnCommandBufferImplDestroyed() {
|
| - DCHECK(command_buffer_impl_);
|
| - command_buffer_impl_ = nullptr;
|
| -}
|
| -
|
| -void OnscreenContextProvider::CreateAndReturnCommandBuffer() {
|
| - mojo::CommandBufferPtr cb;
|
| - scoped_ptr<gles2::CommandBufferDriver> command_buffer_driver(
|
| - new gles2::CommandBufferDriver(
|
| - widget_, state_,
|
| - base::Bind(&OnscreenContextProvider::CommandBufferDestroyed,
|
| - base::Unretained(this))));
|
| - command_buffers_.insert(command_buffer_driver.get());
|
| -
|
| - if (!command_buffer_impl_) {
|
| - command_buffer_impl_ =
|
| - new gles2::CommandBufferImpl(GetProxy(&cb), pending_listener_.Pass(),
|
| - state_, command_buffer_driver.Pass());
|
| - command_buffer_impl_->set_observer(this);
|
| - }
|
| - pending_create_callback_.Run(cb.Pass());
|
| - pending_create_callback_.reset();
|
| -}
|
| -
|
| -void OnscreenContextProvider::CommandBufferDestroyed(
|
| - gles2::CommandBufferDriver* command_buffer) {
|
| - command_buffers_.erase(command_buffer);
|
| -}
|
| -
|
| -} // namespace mojo
|
|
|