OLD | NEW |
| (Empty) |
1 // Copyright 2016 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 module image_decoder.mojom; | |
6 | |
7 import "skia/public/interfaces/bitmap.mojom"; | |
8 import "ui/gfx/geometry/mojo/geometry.mojom"; | |
9 | |
10 enum ImageCodec { | |
11 DEFAULT, | |
12 ROBUST_JPEG, | |
13 ROBUST_PNG, | |
14 }; | |
15 | |
16 interface ImageDecoder { | |
17 // Decodes image data to a raw skia bitmap. | |
18 // | |
19 // If the total size of the decoded image data in bytes exceeds | |
20 // |max_size_in_bytes| and |shrink_to_fit| is true, the image is halved | |
21 // successively until its total size no longer exceeds |max_size_in_bytes|. | |
22 // | |
23 // If the total size of the decoded image data in bytes exceeds | |
24 // |max_size_in_bytes| and |shrink_to_fit| is false, this is treated as a | |
25 // decoding failure and the |decoded_image| response is null. | |
26 DecodeImage(array<uint8> encoded_data, ImageCodec codec, bool shrink_to_fit, | |
27 int64 max_size_in_bytes, gfx.mojom.Size desired_image_frame_size) | |
28 => (skia.mojom.Bitmap? decoded_image); | |
29 }; | |
OLD | NEW |