Index: components/image_fetcher/core/request_metadata.cc |
diff --git a/components/image_fetcher/core/request_metadata.cc b/components/image_fetcher/core/request_metadata.cc |
index b9b31d555054fdefae9b16f77e4c7f591732a4fb..2fa6e5493d0de3acdbeb03c7c76fda6d8285ef49 100644 |
--- a/components/image_fetcher/core/request_metadata.cc |
+++ b/components/image_fetcher/core/request_metadata.cc |
@@ -4,15 +4,35 @@ |
#include "components/image_fetcher/core/request_metadata.h" |
+#include "net/http/http_response_headers.h" |
+ |
namespace image_fetcher { |
+namespace { |
+ |
+bool HttpHeadersEqual(const net::HttpResponseHeaders* lhs, |
+ const net::HttpResponseHeaders* rhs) { |
+ if (!lhs && !rhs) { |
+ return true; // Equal if both nullptr. |
+ } |
+ if (!lhs || !rhs) { |
+ return false; // We cannot compare the content if one of them is nullptr. |
+ } |
+ return lhs->raw_headers() == rhs->raw_headers(); |
+} |
+ |
+} // namespace |
+ |
RequestMetadata::RequestMetadata() |
- : http_response_code(RESPONSE_CODE_INVALID), from_http_cache(false) {} |
+ : http_response_code(RESPONSE_CODE_INVALID), |
+ from_http_cache(false), |
+ http_response_headers(nullptr) {} |
bool operator==(const RequestMetadata& lhs, const RequestMetadata& rhs) { |
return lhs.mime_type == rhs.mime_type && |
lhs.http_response_code == rhs.http_response_code && |
- lhs.from_http_cache == rhs.from_http_cache; |
+ lhs.from_http_cache == rhs.from_http_cache && |
+ HttpHeadersEqual(lhs.http_response_headers, rhs.http_response_headers); |
} |
bool operator!=(const RequestMetadata& lhs, const RequestMetadata& rhs) { |