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

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: 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 16 matching lines...) Expand all
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 ImageDecoder(Delegate* delegate, 36 ImageDecoder(Delegate* delegate,
37 const std::string& image_data); 37 const std::string& image_data,
38 bool require_standard_jpeg);
38 39
39 // Starts image decoding. 40 // Starts image decoding.
40 void Start(); 41 void Start();
41 42
42 const std::vector<unsigned char>& get_image_data() const { 43 const std::vector<unsigned char>& get_image_data() const {
43 return image_data_; 44 return image_data_;
44 } 45 }
45 46
46 void set_delegate(Delegate* delegate) { delegate_ = delegate; } 47 void set_delegate(Delegate* delegate) { delegate_ = delegate; }
47 48
48 private: 49 private:
49 // It's a reference counted object, so destructor is private. 50 // It's a reference counted object, so destructor is private.
50 virtual ~ImageDecoder(); 51 virtual ~ImageDecoder();
51 52
52 // Overidden from UtilityProcessHostClient: 53 // Overidden from UtilityProcessHostClient:
53 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 54 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
54 55
55 // IPC message handlers. 56 // IPC message handlers.
56 void OnDecodeImageSucceeded(const SkBitmap& decoded_image); 57 void OnDecodeImageSucceeded(const SkBitmap& decoded_image);
57 void OnDecodeImageFailed(); 58 void OnDecodeImageFailed();
58 59
59 // Launches sandboxed process that will decode the image. 60 // Launches sandboxed process that will decode the image.
60 void DecodeImageInSandbox(const std::vector<unsigned char>& image_data); 61 void DecodeImageInSandbox(const std::vector<unsigned char>& image_data);
61 62
62 Delegate* delegate_; 63 Delegate* delegate_;
63 std::vector<unsigned char> image_data_; 64 std::vector<unsigned char> image_data_;
65 bool require_standard_jpeg_;
oshima 2012/08/29 00:02:48 use_standard_jpeg_decoder_; would be better.
Emmanuel Saint-loubert-Bié 2012/08/29 00:52:52 Done.
64 content::BrowserThread::ID target_thread_id_; 66 content::BrowserThread::ID target_thread_id_;
65 67
66 DISALLOW_COPY_AND_ASSIGN(ImageDecoder); 68 DISALLOW_COPY_AND_ASSIGN(ImageDecoder);
67 }; 69 };
68 70
69 #endif // CHROME_BROWSER_IMAGE_DECODER_H_ 71 #endif // CHROME_BROWSER_IMAGE_DECODER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698