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); |