Setup a experiment to enable background tracing.
[chromium-blink-merge.git] / cc / blink / web_image_layer_impl.cc
blob1cc6e80d30c9dbd9976c0a817f3851d69765445a
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.
5 #include "cc/blink/web_image_layer_impl.h"
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"
12 namespace cc_blink {
14 WebImageLayerImpl::WebImageLayerImpl() {
15 if (WebLayerImpl::UsingPictureLayer())
16 layer_.reset(new WebLayerImplFixedBounds(
17 cc::PictureImageLayer::Create(WebLayerImpl::LayerSettings())));
18 else
19 layer_.reset(new WebLayerImpl(
20 cc::ImageLayer::Create(WebLayerImpl::LayerSettings())));
23 WebImageLayerImpl::~WebImageLayerImpl() {
26 blink::WebLayer* WebImageLayerImpl::layer() {
27 return layer_.get();
30 void WebImageLayerImpl::setImageBitmap(const SkBitmap& bitmap) {
31 if (WebLayerImpl::UsingPictureLayer()) {
32 static_cast<cc::PictureImageLayer*>(layer_->layer())->SetBitmap(bitmap);
33 static_cast<WebLayerImplFixedBounds*>(layer_.get())
34 ->SetFixedBounds(gfx::Size(bitmap.width(), bitmap.height()));
35 } else {
36 static_cast<cc::ImageLayer*>(layer_->layer())->SetBitmap(bitmap);
40 void WebImageLayerImpl::setNearestNeighbor(bool nearest_neighbor) {
41 if (WebLayerImpl::UsingPictureLayer()) {
42 static_cast<cc::PictureImageLayer*>(layer_->layer())
43 ->SetNearestNeighbor(nearest_neighbor);
47 } // namespace cc_blink