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 "web_image_layer_impl.h" | 5 #include "web_image_layer_impl.h" |
6 | 6 |
| 7 #include "base/command_line.h" |
7 #include "cc/image_layer.h" | 8 #include "cc/image_layer.h" |
| 9 #include "cc/picture_image_layer.h" |
| 10 #include "cc/switches.h" |
8 #include "web_layer_impl.h" | 11 #include "web_layer_impl.h" |
9 | 12 |
10 using cc::ImageLayer; | 13 static bool usingPictureLayer() |
| 14 { |
| 15 return CommandLine::ForCurrentProcess()->HasSwitch(cc::switches::kEnableImpl
SidePainting); |
| 16 } |
11 | 17 |
12 namespace WebKit { | 18 namespace WebKit { |
13 | 19 |
14 WebImageLayer* WebImageLayer::create() | 20 WebImageLayer* WebImageLayer::create() |
15 { | 21 { |
16 return new WebImageLayerImpl(); | 22 return new WebImageLayerImpl(); |
17 } | 23 } |
18 | 24 |
19 WebImageLayerImpl::WebImageLayerImpl() | 25 WebImageLayerImpl::WebImageLayerImpl() |
20 : m_layer(new WebLayerImpl(ImageLayer::create())) | |
21 { | 26 { |
| 27 if (usingPictureLayer()) |
| 28 m_layer.reset(new WebLayerImpl(cc::PictureImageLayer::create())); |
| 29 else |
| 30 m_layer.reset(new WebLayerImpl(cc::ImageLayer::create())); |
22 } | 31 } |
23 | 32 |
24 WebImageLayerImpl::~WebImageLayerImpl() | 33 WebImageLayerImpl::~WebImageLayerImpl() |
25 { | 34 { |
26 } | 35 } |
27 | 36 |
28 WebLayer* WebImageLayerImpl::layer() | 37 WebLayer* WebImageLayerImpl::layer() |
29 { | 38 { |
30 return m_layer.get(); | 39 return m_layer.get(); |
31 } | 40 } |
32 | 41 |
33 void WebImageLayerImpl::setBitmap(SkBitmap bitmap) | 42 void WebImageLayerImpl::setBitmap(SkBitmap bitmap) |
34 { | 43 { |
35 static_cast<ImageLayer*>(m_layer->layer())->setBitmap(bitmap); | 44 if (usingPictureLayer()) |
| 45 static_cast<cc::PictureImageLayer*>(m_layer->layer())->setBitmap(bitmap)
; |
| 46 else |
| 47 static_cast<cc::ImageLayer*>(m_layer->layer())->setBitmap(bitmap); |
36 } | 48 } |
37 | 49 |
38 } // namespace WebKit | 50 } // namespace WebKit |
OLD | NEW |