OLD | NEW |
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 #include "chrome/utility/chrome_content_utility_client.h" | 5 #include "chrome/utility/chrome_content_utility_client.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 Send(new ChromeUtilityHostMsg_CreateZipFile_Succeeded()); | 225 Send(new ChromeUtilityHostMsg_CreateZipFile_Succeeded()); |
226 else | 226 else |
227 Send(new ChromeUtilityHostMsg_CreateZipFile_Failed()); | 227 Send(new ChromeUtilityHostMsg_CreateZipFile_Failed()); |
228 ReleaseProcessIfNeeded(); | 228 ReleaseProcessIfNeeded(); |
229 } | 229 } |
230 #endif // defined(OS_CHROMEOS) | 230 #endif // defined(OS_CHROMEOS) |
231 | 231 |
232 void ChromeContentUtilityClient::OnRobustJPEGDecodeImage( | 232 void ChromeContentUtilityClient::OnRobustJPEGDecodeImage( |
233 const std::vector<unsigned char>& encoded_data) { | 233 const std::vector<unsigned char>& encoded_data) { |
234 // Our robust jpeg decoding is using IJG libjpeg. | 234 // Our robust jpeg decoding is using IJG libjpeg. |
235 if (gfx::JPEGCodec::JpegLibraryVariant() == gfx::JPEGCodec::IJG_LIBJPEG) { | 235 if (gfx::JPEGCodec::JpegLibraryVariant() == gfx::JPEGCodec::IJG_LIBJPEG && |
| 236 !encoded_data.empty()) { |
236 scoped_ptr<SkBitmap> decoded_image(gfx::JPEGCodec::Decode( | 237 scoped_ptr<SkBitmap> decoded_image(gfx::JPEGCodec::Decode( |
237 &encoded_data[0], encoded_data.size())); | 238 &encoded_data[0], encoded_data.size())); |
238 if (!decoded_image.get() || decoded_image->empty()) { | 239 if (!decoded_image.get() || decoded_image->empty()) { |
239 Send(new ChromeUtilityHostMsg_DecodeImage_Failed()); | 240 Send(new ChromeUtilityHostMsg_DecodeImage_Failed()); |
240 } else { | 241 } else { |
241 Send(new ChromeUtilityHostMsg_DecodeImage_Succeeded(*decoded_image)); | 242 Send(new ChromeUtilityHostMsg_DecodeImage_Succeeded(*decoded_image)); |
242 } | 243 } |
243 } else { | 244 } else { |
244 Send(new ChromeUtilityHostMsg_DecodeImage_Failed()); | 245 Send(new ChromeUtilityHostMsg_DecodeImage_Failed()); |
245 } | 246 } |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 const std::string& mime_type, int64 total_size, bool get_attached_images) { | 302 const std::string& mime_type, int64 total_size, bool get_attached_images) { |
302 // Only one IPCDataSource may be created and added to the list of handlers. | 303 // Only one IPCDataSource may be created and added to the list of handlers. |
303 metadata::IPCDataSource* source = new metadata::IPCDataSource(total_size); | 304 metadata::IPCDataSource* source = new metadata::IPCDataSource(total_size); |
304 handlers_.push_back(source); | 305 handlers_.push_back(source); |
305 | 306 |
306 metadata::MediaMetadataParser* parser = new metadata::MediaMetadataParser( | 307 metadata::MediaMetadataParser* parser = new metadata::MediaMetadataParser( |
307 source, mime_type, get_attached_images); | 308 source, mime_type, get_attached_images); |
308 parser->Start(base::Bind(&FinishParseMediaMetadata, base::Owned(parser))); | 309 parser->Start(base::Bind(&FinishParseMediaMetadata, base::Owned(parser))); |
309 } | 310 } |
310 #endif | 311 #endif |
OLD | NEW |