Chromium Code Reviews| Index: components/doodle/doodle_types.cc |
| diff --git a/components/doodle/doodle_types.cc b/components/doodle/doodle_types.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c0a1dffde8b2ae79f784ee5f294b67a6c07fe3ac |
| --- /dev/null |
| +++ b/components/doodle/doodle_types.cc |
| @@ -0,0 +1,32 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "components/doodle/doodle_types.h" |
| + |
| +namespace doodle { |
| + |
| +bool DoodleImage::operator==(const DoodleImage& other) const { |
| + return url == other.url && height == other.height && width == other.width && |
| + is_animated_gif == other.is_animated_gif && is_cta == other.is_cta; |
| +} |
| + |
| +bool DoodleImage::operator!=(const DoodleImage& other) const { |
| + return !(*this == other); |
| +} |
| + |
| +bool DoodleConfig::IsEquivalent(const DoodleConfig& other) const { |
| + // Note: This compares all fields except for |expiry_date|. The reason is that |
| + // |expiry_date| gets computed as "now + time_to_live", so when an identical |
|
vitaliii
2017/02/28 11:37:18
This feels like too many implementation details.
W
Marc Treib
2017/02/28 13:06:49
"too many implementation details" is kinda true, b
|
| + // config gets re-fetched, the expiry date will generally end up slightly |
| + // different. |
| + return doodle_type == other.doodle_type && alt_text == other.alt_text && |
| + interactive_html == other.interactive_html && |
| + search_url == other.search_url && target_url == other.target_url && |
| + fullpage_interactive_url == other.fullpage_interactive_url && |
| + large_image == other.large_image && |
| + large_cta_image == other.large_cta_image && |
| + transparent_large_image == other.transparent_large_image; |
| +} |
| + |
| +} // namespace doodle |