Roll leveldb to r78 / 1.15.
[chromium-blink-merge.git] / webkit / renderer / compositor_bindings / web_image_layer_impl.cc
blob2074d05dbd0f66e074c2d771c2e78954b844a2d8
1 // Copyright 2012 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 "webkit/renderer/compositor_bindings/web_image_layer_impl.h"
7 #include "base/command_line.h"
8 #include "cc/base/switches.h"
9 #include "cc/layers/image_layer.h"
10 #include "cc/layers/picture_image_layer.h"
11 #include "webkit/renderer/compositor_bindings/web_layer_impl.h"
12 #include "webkit/renderer/compositor_bindings/web_layer_impl_fixed_bounds.h"
14 static bool usingPictureLayer() {
15 return cc::switches::IsImplSidePaintingEnabled();
18 namespace webkit {
20 WebImageLayerImpl::WebImageLayerImpl() {
21 if (usingPictureLayer())
22 layer_.reset(new WebLayerImplFixedBounds(cc::PictureImageLayer::Create()));
23 else
24 layer_.reset(new WebLayerImpl(cc::ImageLayer::Create()));
27 WebImageLayerImpl::~WebImageLayerImpl() {}
29 blink::WebLayer* WebImageLayerImpl::layer() { return layer_.get(); }
31 void WebImageLayerImpl::setBitmap(SkBitmap bitmap) {
32 if (usingPictureLayer()) {
33 static_cast<cc::PictureImageLayer*>(layer_->layer())->SetBitmap(bitmap);
34 static_cast<WebLayerImplFixedBounds*>(layer_.get())->SetFixedBounds(
35 gfx::Size(bitmap.width(), bitmap.height()));
36 } else {
37 static_cast<cc::ImageLayer*>(layer_->layer())->SetBitmap(bitmap);
41 } // namespace webkit