| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 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. | |
| 4 | |
| 5 #include "webkit/glue/image_decoder.h" | |
| 6 | |
| 7 #include "third_party/WebKit/public/platform/WebData.h" | |
| 8 #include "third_party/WebKit/public/platform/WebImage.h" | |
| 9 #include "third_party/WebKit/public/platform/WebSize.h" | |
| 10 #include "third_party/skia/include/core/SkBitmap.h" | |
| 11 | |
| 12 using WebKit::WebData; | |
| 13 using WebKit::WebImage; | |
| 14 | |
| 15 namespace webkit_glue { | |
| 16 | |
| 17 ImageDecoder::ImageDecoder() : desired_icon_size_(0, 0) { | |
| 18 } | |
| 19 | |
| 20 ImageDecoder::ImageDecoder(const gfx::Size& desired_icon_size) | |
| 21 : desired_icon_size_(desired_icon_size) { | |
| 22 } | |
| 23 | |
| 24 ImageDecoder::~ImageDecoder() { | |
| 25 } | |
| 26 | |
| 27 SkBitmap ImageDecoder::Decode(const unsigned char* data, size_t size) const { | |
| 28 const WebImage& image = WebImage::fromData( | |
| 29 WebData(reinterpret_cast<const char*>(data), size), desired_icon_size_); | |
| 30 return image.getSkBitmap(); | |
| 31 } | |
| 32 | |
| 33 // static | |
| 34 std::vector<SkBitmap> ImageDecoder::DecodeAll( | |
| 35 const unsigned char* data, size_t size) { | |
| 36 const WebKit::WebVector<WebImage>& images = WebImage::framesFromData( | |
| 37 WebData(reinterpret_cast<const char*>(data), size)); | |
| 38 std::vector<SkBitmap> result; | |
| 39 for (size_t i = 0; i < images.size(); ++i) | |
| 40 result.push_back(images[i].getSkBitmap()); | |
| 41 return result; | |
| 42 } | |
| 43 | |
| 44 } // namespace webkit_glue | |
| OLD | NEW |