Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: chrome/browser/image_decoder.h

Issue 10892023: Force avatar and wallpaper decoding to use robust JPEG. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Applied commnets Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_IMAGE_DECODER_H_ 5 #ifndef CHROME_BROWSER_IMAGE_DECODER_H_
6 #define CHROME_BROWSER_IMAGE_DECODER_H_ 6 #define CHROME_BROWSER_IMAGE_DECODER_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 15 matching lines...) Expand all
26 const SkBitmap& decoded_image) = 0; 26 const SkBitmap& decoded_image) = 0;
27 27
28 // Called when decoding image failed. Delegate can do some cleanup in 28 // Called when decoding image failed. Delegate can do some cleanup in
29 // this handler. 29 // this handler.
30 virtual void OnDecodeImageFailed(const ImageDecoder* decoder) {} 30 virtual void OnDecodeImageFailed(const ImageDecoder* decoder) {}
31 31
32 protected: 32 protected:
33 virtual ~Delegate() {} 33 virtual ~Delegate() {}
34 }; 34 };
35 35
36 enum ImageCodec {
37 DEFAULT_CODEC = 0,
38 ONLY_IJG_LIBJPEG_CODEC,
39 };
oshima 2012/08/29 01:32:29 document enum
Emmanuel Saint-loubert-Bié 2012/08/29 01:57:18 Done.
40
36 ImageDecoder(Delegate* delegate, 41 ImageDecoder(Delegate* delegate,
37 const std::string& image_data); 42 const std::string& image_data,
43 ImageCodec image_codec);
38 44
39 // Starts image decoding. 45 // Starts image decoding.
40 void Start(); 46 void Start();
41 47
42 const std::vector<unsigned char>& get_image_data() const { 48 const std::vector<unsigned char>& get_image_data() const {
43 return image_data_; 49 return image_data_;
44 } 50 }
45 51
46 void set_delegate(Delegate* delegate) { delegate_ = delegate; } 52 void set_delegate(Delegate* delegate) { delegate_ = delegate; }
47 53
48 private: 54 private:
49 // It's a reference counted object, so destructor is private. 55 // It's a reference counted object, so destructor is private.
50 virtual ~ImageDecoder(); 56 virtual ~ImageDecoder();
51 57
52 // Overidden from UtilityProcessHostClient: 58 // Overidden from UtilityProcessHostClient:
53 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 59 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
54 60
55 // IPC message handlers. 61 // IPC message handlers.
56 void OnDecodeImageSucceeded(const SkBitmap& decoded_image); 62 void OnDecodeImageSucceeded(const SkBitmap& decoded_image);
57 void OnDecodeImageFailed(); 63 void OnDecodeImageFailed();
58 64
59 // Launches sandboxed process that will decode the image. 65 // Launches sandboxed process that will decode the image.
60 void DecodeImageInSandbox(const std::vector<unsigned char>& image_data); 66 void DecodeImageInSandbox(const std::vector<unsigned char>& image_data);
61 67
62 Delegate* delegate_; 68 Delegate* delegate_;
63 std::vector<unsigned char> image_data_; 69 std::vector<unsigned char> image_data_;
70 ImageCodec image_codec_;
64 content::BrowserThread::ID target_thread_id_; 71 content::BrowserThread::ID target_thread_id_;
65 72
66 DISALLOW_COPY_AND_ASSIGN(ImageDecoder); 73 DISALLOW_COPY_AND_ASSIGN(ImageDecoder);
67 }; 74 };
68 75
69 #endif // CHROME_BROWSER_IMAGE_DECODER_H_ 76 #endif // CHROME_BROWSER_IMAGE_DECODER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698