Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / components / enhanced_bookmarks / image_store_util.h
blob0b9ecaf1afcf73554e2b80ff6cbccdd10e697d91
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 #ifndef COMPONENTS_ENHANCED_BOOKMARKS_IMAGE_STORE_UTIL_H_
6 #define COMPONENTS_ENHANCED_BOOKMARKS_IMAGE_STORE_UTIL_H_
8 #include "base/memory/ref_counted_memory.h"
9 #include "ui/gfx/geometry/size.h"
10 #include "ui/gfx/image/image.h"
12 namespace enhanced_bookmarks {
13 // The two methods below archive and unarchive an image to and from a bag of
14 // bytes. There is no API on gfx::Image capable of doing it while preserving the
15 // scale of the image.
17 // Encode |image| to bytes, that can be decoded using the below |ImageForBytes|
18 // function. If encoding fails, then returned scoped_refptr has NULL.
19 scoped_refptr<base::RefCountedMemory> BytesForImage(const gfx::Image& image);
21 // Decode the image bytes encoded by the above |BytesForImage| function and
22 // returns a gfx::Image. If decoding fails, returns an empty image.
23 gfx::Image ImageForBytes(const scoped_refptr<base::RefCountedMemory>& data);
27 #endif // COMPONENTS_ENHANCED_BOOKMARKS_IMAGE_STORE_UTIL_H_