Chromium Code Reviews| Index: components/image_fetcher/image_data_fetcher.cc |
| diff --git a/components/image_fetcher/image_data_fetcher.cc b/components/image_fetcher/image_data_fetcher.cc |
| index e82c36751dfec9d43909a5a98fca1e5af81d25f6..550be807ef814cb26cc597ba5be7a73c07621c62 100644 |
| --- a/components/image_fetcher/image_data_fetcher.cc |
| +++ b/components/image_fetcher/image_data_fetcher.cc |
| @@ -5,6 +5,7 @@ |
| #include "components/image_fetcher/image_data_fetcher.h" |
| #include "net/base/load_flags.h" |
| +#include "net/http/http_response_headers.h" |
| #include "net/url_request/url_fetcher.h" |
| #include "net/url_request/url_request.h" |
| #include "net/url_request/url_request_context_getter.h" |
| @@ -77,11 +78,19 @@ void ImageDataFetcher::OnURLFetchComplete(const net::URLFetcher* source) { |
| auto request_iter = pending_requests_.find(source); |
| DCHECK(request_iter != pending_requests_.end()); |
| + std::string mime_type; |
| + if (source->GetResponseHeaders()) { |
| + source->GetResponseHeaders()->GetMimeType(&mime_type); |
|
Marc Treib
2017/02/09 13:49:47
You could read directly into &metadata.mime_type
gambard
2017/02/09 15:10:32
Done.
|
| + } |
| + |
| + RequestMetadata metadata; |
| + metadata.mime_type = mime_type; |
| + |
| std::string image_data; |
| if (source->GetStatus().status() == net::URLRequestStatus::SUCCESS) { |
| source->GetResponseAsString(&image_data); |
| } |
| - request_iter->second->callback.Run(image_data); |
| + request_iter->second->callback.Run(image_data, metadata); |
| // Remove the finished request. |
| pending_requests_.erase(request_iter); |