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