| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef COMPONENTS_FAVICON_BASE_FAVICON_UTIL_H_ |
| #define COMPONENTS_FAVICON_BASE_FAVICON_UTIL_H_ |
| |
| #include <vector> |
| |
| #include "components/favicon_base/favicon_types.h" |
| |
| namespace gfx { |
| class Image; |
| } |
| |
| namespace favicon_base { |
| |
| // Returns the scales at which favicons should be fetched. This is |
| // different from ui::GetSupportedScaleFactors() because clients which do |
| // not support 1x should still fetch a favicon for 1x to push to sync. This |
| // guarantees that the clients receiving sync updates pushed by this client |
| // receive a favicon (potentially of the wrong scale factor) and do not show |
| // the default favicon. |
| std::vector<float> GetFaviconScales(); |
| |
| // Sets the color space used for converting |image| to an NSImage to the |
| // system colorspace. This makes the favicon look the same in the browser UI |
| // as it does in the renderer. |
| void SetFaviconColorSpace(gfx::Image* image); |
| |
| // Takes a vector of PNG-encoded frames, and converts it to a gfx::Image of |
| // size |favicon_size| in DIPS. The result gfx::Image has a gfx::ImageSkia with |
| // gfx::ImageSkiaReps for each |favicon_scales|. |
| gfx::Image SelectFaviconFramesFromPNGs( |
| const std::vector<favicon_base::FaviconRawBitmapResult>& png_data, |
| const std::vector<float>& favicon_scales, |
| int favicon_size); |
| |
| // Generates a favicon_bitmap_result sized exactly to [desired_size, |
| // desired_size] from the provided result set. If the exact size is found in |
| // the set, it just returns that; otherwise, it will decode the PNG, scale, |
| // and encode a new PNG. |
| favicon_base::FaviconRawBitmapResult ResizeFaviconBitmapResult( |
| const std::vector<favicon_base::FaviconRawBitmapResult>& |
| favicon_bitmap_results, |
| int desired_size_in_pixel); |
| |
| } // namspace favicon_base |
| |
| #endif // COMPONENTS_FAVICON_BASE_FAVICON_UTIL_H_ |