| Index: webkit/renderer/compositor_bindings/web_external_texture_layer_impl.cc
|
| diff --git a/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.cc b/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.cc
|
| deleted file mode 100644
|
| index 320aa2297f2fa7efe653bfcf80ad8978fd9597d0..0000000000000000000000000000000000000000
|
| --- a/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.cc
|
| +++ /dev/null
|
| @@ -1,127 +0,0 @@
|
| -// Copyright 2011 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 "webkit/renderer/compositor_bindings/web_external_texture_layer_impl.h"
|
| -
|
| -#include "cc/layers/texture_layer.h"
|
| -#include "cc/resources/resource_update_queue.h"
|
| -#include "cc/resources/single_release_callback.h"
|
| -#include "cc/resources/texture_mailbox.h"
|
| -#include "third_party/WebKit/public/platform/WebExternalTextureLayerClient.h"
|
| -#include "third_party/WebKit/public/platform/WebExternalTextureMailbox.h"
|
| -#include "third_party/WebKit/public/platform/WebFloatRect.h"
|
| -#include "third_party/WebKit/public/platform/WebGraphicsContext3D.h"
|
| -#include "third_party/WebKit/public/platform/WebSize.h"
|
| -#include "third_party/khronos/GLES2/gl2.h"
|
| -#include "webkit/renderer/compositor_bindings/web_external_bitmap_impl.h"
|
| -#include "webkit/renderer/compositor_bindings/web_layer_impl.h"
|
| -
|
| -using cc::TextureLayer;
|
| -using cc::ResourceUpdateQueue;
|
| -
|
| -namespace webkit {
|
| -
|
| -WebExternalTextureLayerImpl::WebExternalTextureLayerImpl(
|
| - blink::WebExternalTextureLayerClient* client)
|
| - : client_(client) {
|
| - cc::TextureLayerClient* cc_client = client_ ? this : NULL;
|
| - scoped_refptr<TextureLayer> layer = TextureLayer::CreateForMailbox(cc_client);
|
| - layer->SetIsDrawable(true);
|
| - layer_.reset(new WebLayerImpl(layer));
|
| -}
|
| -
|
| -WebExternalTextureLayerImpl::~WebExternalTextureLayerImpl() {
|
| - static_cast<TextureLayer*>(layer_->layer())->ClearClient();
|
| -}
|
| -
|
| -blink::WebLayer* WebExternalTextureLayerImpl::layer() { return layer_.get(); }
|
| -
|
| -void WebExternalTextureLayerImpl::clearTexture() {
|
| - TextureLayer *layer = static_cast<TextureLayer*>(layer_->layer());
|
| - layer->ClearTexture();
|
| -}
|
| -
|
| -void WebExternalTextureLayerImpl::setOpaque(bool opaque) {
|
| - static_cast<TextureLayer*>(layer_->layer())->SetContentsOpaque(opaque);
|
| -}
|
| -
|
| -void WebExternalTextureLayerImpl::setPremultipliedAlpha(
|
| - bool premultiplied_alpha) {
|
| - static_cast<TextureLayer*>(layer_->layer())->SetPremultipliedAlpha(
|
| - premultiplied_alpha);
|
| -}
|
| -
|
| -void WebExternalTextureLayerImpl::setBlendBackgroundColor(bool blend) {
|
| - static_cast<TextureLayer*>(layer_->layer())->SetBlendBackgroundColor(blend);
|
| -}
|
| -
|
| -void WebExternalTextureLayerImpl::setRateLimitContext(bool rate_limit) {
|
| - static_cast<TextureLayer*>(layer_->layer())->SetRateLimitContext(rate_limit);
|
| -}
|
| -
|
| -bool WebExternalTextureLayerImpl::PrepareTextureMailbox(
|
| - cc::TextureMailbox* mailbox,
|
| - scoped_ptr<cc::SingleReleaseCallback>* release_callback,
|
| - bool use_shared_memory) {
|
| - blink::WebExternalTextureMailbox client_mailbox;
|
| - WebExternalBitmapImpl* bitmap = NULL;
|
| -
|
| - if (use_shared_memory)
|
| - bitmap = AllocateBitmap();
|
| - if (!client_->prepareMailbox(&client_mailbox, bitmap)) {
|
| - if (bitmap)
|
| - free_bitmaps_.push_back(bitmap);
|
| - return false;
|
| - }
|
| - gpu::Mailbox name;
|
| - name.SetName(client_mailbox.name);
|
| - if (bitmap) {
|
| - *mailbox = cc::TextureMailbox(bitmap->shared_memory(), bitmap->size());
|
| - } else {
|
| - *mailbox =
|
| - cc::TextureMailbox(name, GL_TEXTURE_2D, client_mailbox.syncPoint);
|
| - }
|
| - mailbox->set_allow_overlay(client_mailbox.allowOverlay);
|
| -
|
| - if (mailbox->IsValid()) {
|
| - *release_callback = cc::SingleReleaseCallback::Create(base::Bind(
|
| - &WebExternalTextureLayerImpl::DidReleaseMailbox,
|
| - this->AsWeakPtr(),
|
| - client_mailbox,
|
| - bitmap));
|
| - }
|
| -
|
| - return true;
|
| -}
|
| -
|
| -WebExternalBitmapImpl* WebExternalTextureLayerImpl::AllocateBitmap() {
|
| - if (!free_bitmaps_.empty()) {
|
| - WebExternalBitmapImpl* result = free_bitmaps_.back();
|
| - free_bitmaps_.weak_erase(free_bitmaps_.end() - 1);
|
| - return result;
|
| - }
|
| - return new WebExternalBitmapImpl;
|
| -}
|
| -
|
| -// static
|
| -void WebExternalTextureLayerImpl::DidReleaseMailbox(
|
| - base::WeakPtr<WebExternalTextureLayerImpl> layer,
|
| - const blink::WebExternalTextureMailbox& mailbox,
|
| - WebExternalBitmapImpl* bitmap,
|
| - unsigned sync_point,
|
| - bool lost_resource) {
|
| - if (lost_resource || !layer) {
|
| - delete bitmap;
|
| - return;
|
| - }
|
| -
|
| - blink::WebExternalTextureMailbox available_mailbox;
|
| - memcpy(available_mailbox.name, mailbox.name, sizeof(available_mailbox.name));
|
| - available_mailbox.syncPoint = sync_point;
|
| - if (bitmap)
|
| - layer->free_bitmaps_.push_back(bitmap);
|
| - layer->client_->mailboxReleased(available_mailbox);
|
| -}
|
| -
|
| -} // namespace webkit
|
|
|