OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "webkit/compositor_bindings/web_image_layer_impl.h" | 5 #include "webkit/compositor_bindings/web_image_layer_impl.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "cc/image_layer.h" | 8 #include "cc/image_layer.h" |
9 #include "cc/picture_image_layer.h" | 9 #include "cc/picture_image_layer.h" |
10 #include "cc/switches.h" | 10 #include "cc/switches.h" |
11 #include "webkit/compositor_bindings/web_layer_impl.h" | 11 #include "webkit/compositor_bindings/web_layer_impl.h" |
| 12 #include "webkit/compositor_bindings/web_layer_impl_fixed_bounds.h" |
12 | 13 |
13 static bool usingPictureLayer() | 14 static bool usingPictureLayer() |
14 { | 15 { |
15 return CommandLine::ForCurrentProcess()->HasSwitch(cc::switches::kEnableImpl
SidePainting); | 16 return CommandLine::ForCurrentProcess()->HasSwitch(cc::switches::kEnableImpl
SidePainting); |
16 } | 17 } |
17 | 18 |
18 namespace WebKit { | 19 namespace WebKit { |
19 | 20 |
20 WebImageLayerImpl::WebImageLayerImpl() | 21 WebImageLayerImpl::WebImageLayerImpl() |
21 { | 22 { |
22 if (usingPictureLayer()) | 23 if (usingPictureLayer()) |
23 m_layer.reset(new WebLayerImpl(cc::PictureImageLayer::create())); | 24 m_layer.reset(new WebLayerImplFixedBounds(cc::PictureImageLayer::create(
))); |
24 else | 25 else |
25 m_layer.reset(new WebLayerImpl(cc::ImageLayer::create())); | 26 m_layer.reset(new WebLayerImpl(cc::ImageLayer::create())); |
26 } | 27 } |
27 | 28 |
28 WebImageLayerImpl::~WebImageLayerImpl() | 29 WebImageLayerImpl::~WebImageLayerImpl() |
29 { | 30 { |
30 } | 31 } |
31 | 32 |
32 WebLayer* WebImageLayerImpl::layer() | 33 WebLayer* WebImageLayerImpl::layer() |
33 { | 34 { |
34 return m_layer.get(); | 35 return m_layer.get(); |
35 } | 36 } |
36 | 37 |
37 void WebImageLayerImpl::setBitmap(SkBitmap bitmap) | 38 void WebImageLayerImpl::setBitmap(SkBitmap bitmap) |
38 { | 39 { |
39 if (usingPictureLayer()) | 40 if (usingPictureLayer()) { |
40 static_cast<cc::PictureImageLayer*>(m_layer->layer())->setBitmap(bitmap)
; | 41 static_cast<cc::PictureImageLayer*>(m_layer->layer())->setBitmap(bitmap)
; |
41 else | 42 static_cast<WebLayerImplFixedBounds*>(m_layer.get())->SetFixedBounds(gfx
::Size(bitmap.width(), bitmap.height())); |
| 43 } else |
42 static_cast<cc::ImageLayer*>(m_layer->layer())->setBitmap(bitmap); | 44 static_cast<cc::ImageLayer*>(m_layer->layer())->setBitmap(bitmap); |
43 } | 45 } |
44 | 46 |
45 } // namespace WebKit | 47 } // namespace WebKit |
OLD | NEW |