Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. | 2 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. |
| 3 * | 3 * |
| 4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
| 5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
| 6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
| 7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
| 8 * | 8 * |
| 9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 175 if (!has_histogrammed_color_space_) { | 175 if (!has_histogrammed_color_space_) { |
| 176 BitmapImageMetrics::CountImageGammaAndGamut(embedded_color_space_.get()); | 176 BitmapImageMetrics::CountImageGammaAndGamut(embedded_color_space_.get()); |
| 177 has_histogrammed_color_space_ = true; | 177 has_histogrammed_color_space_ = true; |
| 178 } | 178 } |
| 179 | 179 |
| 180 frame->NotifyBitmapIfPixelsChanged(); | 180 frame->NotifyBitmapIfPixelsChanged(); |
| 181 return frame; | 181 return frame; |
| 182 } | 182 } |
| 183 | 183 |
| 184 bool ImageDecoder::FrameHasAlphaAtIndex(size_t index) const { | 184 bool ImageDecoder::FrameHasAlphaAtIndex(size_t index) const { |
| 185 return !FrameIsCompleteAtIndex(index) || | 185 return index < frame_buffer_cache_.size() && |
|
urvang
2017/05/15 17:33:07
Shouldn't you call "FrameIsDecodedAtIndex()" now i
Khushal
2017/05/15 17:55:17
FrameIsDecodedAtIndex is true only if the decoded
urvang
2017/05/15 18:02:10
Yes, if keeping the current call still works, you
Khushal
2017/05/15 20:44:48
Done.
| |
| 186 frame_buffer_cache_[index].HasAlpha(); | 186 frame_buffer_cache_[index].HasAlpha(); |
| 187 } | 187 } |
| 188 | 188 |
| 189 bool ImageDecoder::FrameIsCompleteAtIndex(size_t index) const { | 189 bool ImageDecoder::FrameIsCompleteAtIndex(size_t index) const { |
| 190 return (index < frame_buffer_cache_.size()) && | 190 // Animated images override this method to return the status based on the data |
| 191 (frame_buffer_cache_[index].GetStatus() == ImageFrame::kFrameComplete); | 191 // received for the queried frame. |
| 192 return IsAllDataReceived(); | |
|
urvang
2017/05/15 17:33:07
I'm curious if you get a warning about "index" bei
Khushal
2017/05/15 17:55:17
The bots don't seem to be complaining.
urvang
2017/05/15 18:02:10
Acknowledged.
| |
| 193 } | |
| 194 | |
| 195 bool ImageDecoder::FrameIsDecodedAtIndex(size_t index) const { | |
| 196 return index < frame_buffer_cache_.size() && | |
| 197 frame_buffer_cache_[index].GetStatus() == ImageFrame::kFrameComplete; | |
| 192 } | 198 } |
| 193 | 199 |
| 194 size_t ImageDecoder::FrameBytesAtIndex(size_t index) const { | 200 size_t ImageDecoder::FrameBytesAtIndex(size_t index) const { |
| 195 if (index >= frame_buffer_cache_.size() || | 201 if (index >= frame_buffer_cache_.size() || |
| 196 frame_buffer_cache_[index].GetStatus() == ImageFrame::kFrameEmpty) | 202 frame_buffer_cache_[index].GetStatus() == ImageFrame::kFrameEmpty) |
| 197 return 0; | 203 return 0; |
| 198 | 204 |
| 199 struct ImageSize { | 205 struct ImageSize { |
| 200 explicit ImageSize(IntSize size) { | 206 explicit ImageSize(IntSize size) { |
| 201 area = static_cast<uint64_t>(size.Width()) * size.Height(); | 207 area = static_cast<uint64_t>(size.Width()) * size.Height(); |
| (...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 577 } | 583 } |
| 578 | 584 |
| 579 // For color spaces without an identifiable gamut, just fall through to | 585 // For color spaces without an identifiable gamut, just fall through to |
| 580 // sRGB. | 586 // sRGB. |
| 581 } | 587 } |
| 582 | 588 |
| 583 return SkColorSpace::MakeSRGB(); | 589 return SkColorSpace::MakeSRGB(); |
| 584 } | 590 } |
| 585 | 591 |
| 586 } // namespace blink | 592 } // namespace blink |
| OLD | NEW |