| Index: services/native_viewport/viewport_surface.cc
|
| diff --git a/services/native_viewport/viewport_surface.cc b/services/native_viewport/viewport_surface.cc
|
| deleted file mode 100644
|
| index 5cee11b47f1bfbba29e7d0984baa3cf54c99dcc3..0000000000000000000000000000000000000000
|
| --- a/services/native_viewport/viewport_surface.cc
|
| +++ /dev/null
|
| @@ -1,106 +0,0 @@
|
| -// Copyright 2014 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 "services/native_viewport/viewport_surface.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "mojo/converters/geometry/geometry_type_converters.h"
|
| -#include "mojo/converters/surfaces/surfaces_type_converters.h"
|
| -#include "mojo/services/surfaces/public/cpp/surfaces_utils.h"
|
| -#include "ui/gfx/transform.h"
|
| -
|
| -using mojo::Size;
|
| -using mojo::SurfaceId;
|
| -
|
| -static uint32_t kGLES2BoundSurfaceLocalId = 1u;
|
| -
|
| -namespace native_viewport {
|
| -
|
| -ViewportSurface::ViewportSurface(mojo::SurfacePtr surface,
|
| - mojo::Gpu* gpu_service,
|
| - const gfx::Size& size,
|
| - cc::SurfaceId child_id)
|
| - : surface_(surface.Pass()),
|
| - gpu_service_(gpu_service),
|
| - widget_id_(0u),
|
| - size_(size),
|
| - gles2_bound_surface_created_(false),
|
| - child_id_(child_id),
|
| - weak_factory_(this) {
|
| -}
|
| -
|
| -ViewportSurface::~ViewportSurface() {
|
| -}
|
| -
|
| -void ViewportSurface::SetWidgetId(uint64_t widget_id) {
|
| - widget_id_ = widget_id;
|
| - BindSurfaceToNativeViewport();
|
| -}
|
| -
|
| -void ViewportSurface::SetSize(const gfx::Size& size) {
|
| - if (size_ == size)
|
| - return;
|
| -
|
| - size_ = size;
|
| - if (!gles2_bound_surface_created_)
|
| - return;
|
| -
|
| - surface_->DestroySurface(kGLES2BoundSurfaceLocalId);
|
| - if (widget_id_)
|
| - BindSurfaceToNativeViewport();
|
| -}
|
| -
|
| -void ViewportSurface::SetChildId(cc::SurfaceId child_id) {
|
| - child_id_ = child_id;
|
| - SubmitFrame();
|
| -}
|
| -
|
| -void ViewportSurface::BindSurfaceToNativeViewport() {
|
| - mojo::ViewportParameterListenerPtr listener;
|
| - auto listener_request = GetProxy(&listener);
|
| - mojo::CommandBufferPtr command_buffer;
|
| - gpu_service_->CreateOnscreenGLES2Context(widget_id_, Size::From(size_),
|
| - GetProxy(&command_buffer),
|
| - listener.Pass());
|
| -
|
| - gles2_bound_surface_created_ = true;
|
| - surface_->CreateGLES2BoundSurface(command_buffer.Pass(),
|
| - kGLES2BoundSurfaceLocalId,
|
| - Size::From(size_), listener_request.Pass());
|
| -
|
| - SubmitFrame();
|
| -}
|
| -
|
| -void ViewportSurface::SubmitFrame() {
|
| - if (child_id_.is_null() || !gles2_bound_surface_created_)
|
| - return;
|
| -
|
| - auto surface_quad_state = mojo::SurfaceQuadState::New();
|
| - surface_quad_state->surface = SurfaceId::From(child_id_);
|
| -
|
| - gfx::Rect bounds(size_);
|
| -
|
| - auto surface_quad = mojo::Quad::New();
|
| - surface_quad->material = mojo::Material::MATERIAL_SURFACE_CONTENT;
|
| - surface_quad->rect = mojo::Rect::From(bounds);
|
| - surface_quad->opaque_rect = mojo::Rect::From(bounds);
|
| - surface_quad->visible_rect = mojo::Rect::From(bounds);
|
| - surface_quad->needs_blending = true;
|
| - surface_quad->shared_quad_state_index = 0;
|
| - surface_quad->surface_quad_state = surface_quad_state.Pass();
|
| -
|
| - auto pass = CreateDefaultPass(1, *mojo::Rect::From(bounds));
|
| -
|
| - pass->quads.push_back(surface_quad.Pass());
|
| - pass->shared_quad_states.push_back(CreateDefaultSQS(
|
| - *mojo::Size::From(size_)));
|
| -
|
| - auto frame = mojo::Frame::New();
|
| - frame->passes.push_back(pass.Pass());
|
| - frame->resources.resize(0u);
|
| - surface_->SubmitFrame(kGLES2BoundSurfaceLocalId, frame.Pass(),
|
| - mojo::Closure());
|
| -}
|
| -
|
| -} // namespace native_viewport
|
|
|