Chromium Code Reviews| Index: third_party/WebKit/Source/platform/graphics/ImageSource.cpp |
| diff --git a/third_party/WebKit/Source/platform/graphics/ImageSource.cpp b/third_party/WebKit/Source/platform/graphics/ImageSource.cpp |
| index 1f98fe0c758eff0810568866402fec5778431fe7..f35627610c93a7849ae6564c57212d9be1ba095e 100644 |
| --- a/third_party/WebKit/Source/platform/graphics/ImageSource.cpp |
| +++ b/third_party/WebKit/Source/platform/graphics/ImageSource.cpp |
| @@ -51,15 +51,19 @@ PassRefPtr<SharedBuffer> ImageSource::data() |
| return m_decoder ? m_decoder->data() : nullptr; |
| } |
| -void ImageSource::setData(SharedBuffer& data, bool allDataReceived) |
| +bool ImageSource::setData(SharedBuffer& data, bool allDataReceived) |
| { |
| // Create a decoder by sniffing the encoded data. If insufficient data bytes are available to |
| // determine the encoded image type, no decoder is created. |
| if (!m_decoder) |
| m_decoder = DeferredImageDecoder::create(data, ImageDecoder::AlphaPremultiplied, ImageDecoder::GammaAndColorProfileApplied); |
| - if (m_decoder) |
| + if (m_decoder) { |
| m_decoder->setData(data, allDataReceived); |
| + return true; |
| + } |
| + // If enough data has been received to know that we won't have a valid decoded, bail. |
|
pdr.
2016/07/20 20:39:16
nit: valid decoded -> valid decode
Nate Chapin
2016/07/20 22:50:00
Done.
|
| + return data.size() < ImageDecoder::longestSignatureLength(); |
|
pdr.
2016/07/20 20:39:16
This signature length check is now in two places,
Nate Chapin
2016/07/20 22:50:00
The failure to create a decoder could be because w
|
| } |
| String ImageSource::filenameExtension() const |