| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #import "ios/web/public/image_fetcher/webp_decoder.h" | 5 #import "ios/web/public/image_fetcher/webp_decoder.h" |
| 6 | 6 |
| 7 #import <Foundation/Foundation.h> | 7 #import <Foundation/Foundation.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #import <UIKit/UIKit.h> | 9 #import <UIKit/UIKit.h> |
| 10 | 10 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 : delegate_(delegate), state_(READING_FEATURES), has_alpha_(0) { | 99 : delegate_(delegate), state_(READING_FEATURES), has_alpha_(0) { |
| 100 DCHECK(delegate_.get()); | 100 DCHECK(delegate_.get()); |
| 101 const bool rv = WebPInitDecoderConfig(&config_); | 101 const bool rv = WebPInitDecoderConfig(&config_); |
| 102 DCHECK(rv); | 102 DCHECK(rv); |
| 103 } | 103 } |
| 104 | 104 |
| 105 WebpDecoder::~WebpDecoder() { | 105 WebpDecoder::~WebpDecoder() { |
| 106 WebPFreeDecBuffer(&config_.output); | 106 WebPFreeDecBuffer(&config_.output); |
| 107 } | 107 } |
| 108 | 108 |
| 109 void WebpDecoder::OnDataReceived(const base::scoped_nsobject<NSData>& data) { | 109 void WebpDecoder::OnDataReceived(NSData* data) { |
| 110 DCHECK(data); | 110 DCHECK(data); |
| 111 switch (state_) { | 111 switch (state_) { |
| 112 case READING_FEATURES: | 112 case READING_FEATURES: |
| 113 DoReadFeatures(data); | 113 DoReadFeatures(data); |
| 114 break; | 114 break; |
| 115 case READING_DATA: | 115 case READING_DATA: |
| 116 DoReadData(data); | 116 DoReadData(data); |
| 117 break; | 117 break; |
| 118 case DONE: | 118 case DONE: |
| 119 DLOG(WARNING) << "Received WebP data but decoding is finished. Ignoring."; | 119 DLOG(WARNING) << "Received WebP data but decoding is finished. Ignoring."; |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 } | 246 } |
| 247 UMA_HISTOGRAM_ENUMERATION("WebP.DecodedImageFormat", format, | 247 UMA_HISTOGRAM_ENUMERATION("WebP.DecodedImageFormat", format, |
| 248 DECODED_FORMAT_COUNT); | 248 DECODED_FORMAT_COUNT); |
| 249 delegate_->SetImageFeatures([result_data length], format); | 249 delegate_->SetImageFeatures([result_data length], format); |
| 250 delegate_->OnDataDecoded(result_data); | 250 delegate_->OnDataDecoded(result_data); |
| 251 output_buffer_.reset(); | 251 output_buffer_.reset(); |
| 252 return true; | 252 return true; |
| 253 } | 253 } |
| 254 | 254 |
| 255 } // namespace webp_transcode | 255 } // namespace webp_transcode |
| OLD | NEW |