Index: services/image_decoder/public/interfaces/image_decoder.mojom |
diff --git a/services/image_decoder/public/interfaces/image_decoder.mojom b/services/image_decoder/public/interfaces/image_decoder.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..39a9acb8b6c749e7ecf2e7619d4263ba66de9b27 |
--- /dev/null |
+++ b/services/image_decoder/public/interfaces/image_decoder.mojom |
@@ -0,0 +1,28 @@ |
+// Copyright 2016 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. |
+ |
+module image_decoder.mojom; |
+ |
+import "skia/public/interfaces/bitmap.mojom"; |
+ |
+enum ImageCodec { |
+ DEFAULT, |
+ ROBUST_JPEG, |
+ ROBUST_PNG, |
+}; |
+ |
+interface ImageDecoder { |
+ // Decodes image data to a raw skia bitmap. |
+ // |
+ // If the total size of the decoded image data in bytes exceeds |
+ // |max_size_in_bytes| and |shrink_to_fit| is true, the image is halved |
+ // successively until its total size no longer exceeds |max_size_in_bytes|. |
+ // |
+ // If the total size of the decoded image data in bytes exceeds |
+ // |max_size_in_bytes| and |shrink_to_fit| is false, this is treated as a |
+ // decoding failure and the |decoded_image| response is null. |
+ DecodeImage(array<uint8> encoded_data, ImageCodec codec, bool shrink_to_fit, |
+ int64 max_size_in_bytes) |
+ => (skia.mojom.Bitmap? decoded_image); |
+}; |