1 // Copyright 2018 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_COOKIE_CANONICAL_COOKIE_MOJOM_TRAITS_H_ 6 #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_COOKIE_CANONICAL_COOKIE_MOJOM_TRAITS_H_ 7 8 #include "base/time/time.h" 9 #include "mojo/public/cpp/bindings/struct_traits.h" 10 #include "services/network/public/mojom/cookie_manager.mojom-blink-forward.h" 11 #include "services/network/public/mojom/cookie_manager.mojom-shared.h" 12 #include "third_party/blink/renderer/platform/cookie/canonical_cookie.h" 13 #include "third_party/blink/renderer/platform/platform_export.h" 14 #include "third_party/blink/renderer/platform/wtf/forward.h" 15 16 namespace mojo { 17 18 template <> 19 struct PLATFORM_EXPORT StructTraits<network::mojom::CanonicalCookieDataView, 20 blink::CanonicalCookie> { 21 static WTF::String name(const blink::CanonicalCookie& c); 22 static WTF::String value(const blink::CanonicalCookie& c); 23 static WTF::String domain(const blink::CanonicalCookie& c); 24 static WTF::String path(const blink::CanonicalCookie& c); 25 static base::Time creation(const blink::CanonicalCookie& c); 26 static base::Time expiry(const blink::CanonicalCookie& c); 27 static base::Time last_access(const blink::CanonicalCookie& c); 28 static bool secure(const blink::CanonicalCookie& c); 29 static bool httponly(const blink::CanonicalCookie& c); 30 static network::mojom::CookieSameSite site_restrictions( 31 const blink::CanonicalCookie& c); 32 static network::mojom::CookiePriority priority( 33 const blink::CanonicalCookie& c); 34 static network::mojom::CookieSourceScheme source_scheme( 35 const blink::CanonicalCookie& c); 36 37 static bool Read(network::mojom::CanonicalCookieDataView cookie, 38 blink::CanonicalCookie* out); 39 }; 40 41 } // namespace mojo 42 43 #endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_COOKIE_CANONICAL_COOKIE_MOJOM_TRAITS_H_ 44