Commit 9cbcc810 authored by Victor Costan's avatar Victor Costan Committed by Commit Bot

Network Service: Make CanonicalCookie times non-nullable.

base::Time already has a null value, so adding mojo's nullable type
support on top of base::Time is more confusing than useful.

Bug: 729800
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I6016a46b48b4efc4e9b584bc5c3062849dab60a0
Reviewed-on: https://chromium-review.googlesource.com/1087539Reviewed-by: default avatarTom Sepez <tsepez@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564962}
parent 885fe45d
...@@ -153,9 +153,9 @@ bool StructTraits< ...@@ -153,9 +153,9 @@ bool StructTraits<
if (!cookie.ReadPath(&path)) if (!cookie.ReadPath(&path))
return false; return false;
base::Optional<base::Time> creation_time; base::Time creation_time;
base::Optional<base::Time> expiry_time; base::Time expiry_time;
base::Optional<base::Time> last_access_time; base::Time last_access_time;
if (!cookie.ReadCreation(&creation_time)) if (!cookie.ReadCreation(&creation_time))
return false; return false;
...@@ -173,10 +173,8 @@ bool StructTraits< ...@@ -173,10 +173,8 @@ bool StructTraits<
if (!cookie.ReadPriority(&priority)) if (!cookie.ReadPriority(&priority))
return false; return false;
*out = net::CanonicalCookie( *out = net::CanonicalCookie(name, value, domain, path, creation_time,
name, value, domain, path, creation_time ? *creation_time : base::Time(), expiry_time, last_access_time, cookie.secure(),
expiry_time ? *expiry_time : base::Time(),
last_access_time ? *last_access_time : base::Time(), cookie.secure(),
cookie.httponly(), site_restrictions, priority); cookie.httponly(), site_restrictions, priority);
return out->IsCanonical(); return out->IsCanonical();
} }
......
...@@ -75,20 +75,14 @@ struct StructTraits<network::mojom::CanonicalCookieDataView, ...@@ -75,20 +75,14 @@ struct StructTraits<network::mojom::CanonicalCookieDataView,
static const std::string& path(const net::CanonicalCookie& c) { static const std::string& path(const net::CanonicalCookie& c) {
return c.Path(); return c.Path();
} }
static base::Optional<base::Time> creation(const net::CanonicalCookie& c) { static base::Time creation(const net::CanonicalCookie& c) {
return c.CreationDate().is_null() return c.CreationDate();
? base::Optional<base::Time>()
: base::Optional<base::Time>(c.CreationDate());
} }
static base::Optional<base::Time> expiry(const net::CanonicalCookie& c) { static base::Time expiry(const net::CanonicalCookie& c) {
return c.ExpiryDate().is_null() return c.ExpiryDate();
? base::Optional<base::Time>()
: base::Optional<base::Time>(c.ExpiryDate());
} }
static base::Optional<base::Time> last_access(const net::CanonicalCookie& c) { static base::Time last_access(const net::CanonicalCookie& c) {
return c.LastAccessDate().is_null() return c.LastAccessDate();
? base::Optional<base::Time>()
: base::Optional<base::Time>(c.LastAccessDate());
} }
static bool secure(const net::CanonicalCookie& c) { return c.IsSecure(); } static bool secure(const net::CanonicalCookie& c) { return c.IsSecure(); }
static bool httponly(const net::CanonicalCookie& c) { return c.IsHttpOnly(); } static bool httponly(const net::CanonicalCookie& c) { return c.IsHttpOnly(); }
......
...@@ -45,9 +45,9 @@ struct CanonicalCookie { ...@@ -45,9 +45,9 @@ struct CanonicalCookie {
string value; string value;
string domain; string domain;
string path; string path;
mojo_base.mojom.Time? creation; mojo_base.mojom.Time creation;
mojo_base.mojom.Time? expiry; mojo_base.mojom.Time expiry;
mojo_base.mojom.Time? last_access; mojo_base.mojom.Time last_access;
bool secure = false; bool secure = false;
bool httponly = false; bool httponly = false;
CookieSameSite site_restrictions = NO_RESTRICTION; CookieSameSite site_restrictions = NO_RESTRICTION;
......
...@@ -135,10 +135,12 @@ network::mojom::blink::CanonicalCookiePtr ToCanonicalCookie( ...@@ -135,10 +135,12 @@ network::mojom::blink::CanonicalCookiePtr ToCanonicalCookie(
return nullptr; return nullptr;
} }
if (options.hasExpires()) if (options.hasExpires()) {
canonical_cookie->expiry = WTF::Time::FromJavaTime(options.expires()); canonical_cookie->expiry = WTF::Time::FromJavaTime(options.expires());
// The expires option is not set in CookieStoreSetOptions for session } else {
// cookies. This is represented by a null expiry field in CanonicalCookie. // Session cookie.
canonical_cookie->expiry = WTF::Time();
}
} }
if (options.hasDomain()) { if (options.hasDomain()) {
...@@ -176,6 +178,10 @@ network::mojom::blink::CanonicalCookiePtr ToCanonicalCookie( ...@@ -176,6 +178,10 @@ network::mojom::blink::CanonicalCookiePtr ToCanonicalCookie(
} }
canonical_cookie->httponly = options.httpOnly(); canonical_cookie->httponly = options.httpOnly();
// The backend does not trust these fields.
canonical_cookie->creation = WTF::Time();
canonical_cookie->last_access = WTF::Time();
return canonical_cookie; return canonical_cookie;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment