1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "cc/blink/web_image_layer_impl.h" 6 7#include "cc/blink/web_layer_impl.h" 8#include "cc/blink/web_layer_impl_fixed_bounds.h" 9#include "cc/layers/image_layer.h" 10#include "cc/layers/picture_image_layer.h" 11 12namespace cc_blink { 13 14WebImageLayerImpl::WebImageLayerImpl() { 15 if (WebLayerImpl::UsingPictureLayer()) 16 layer_.reset(new WebLayerImplFixedBounds(cc::PictureImageLayer::Create())); 17 else 18 layer_.reset(new WebLayerImpl(cc::ImageLayer::Create())); 19} 20 21WebImageLayerImpl::~WebImageLayerImpl() { 22} 23 24blink::WebLayer* WebImageLayerImpl::layer() { 25 return layer_.get(); 26} 27 28void WebImageLayerImpl::setImageBitmap(const SkBitmap& bitmap) { 29 if (WebLayerImpl::UsingPictureLayer()) { 30 static_cast<cc::PictureImageLayer*>(layer_->layer())->SetBitmap(bitmap); 31 static_cast<WebLayerImplFixedBounds*>(layer_.get()) 32 ->SetFixedBounds(gfx::Size(bitmap.width(), bitmap.height())); 33 } else { 34 static_cast<cc::ImageLayer*>(layer_->layer())->SetBitmap(bitmap); 35 } 36} 37 38} // namespace cc_blink 39