1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file.
4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#ifndef CONTENT_COMMON_COOKIE_DATA_H_
6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#define CONTENT_COMMON_COOKIE_DATA_H_
7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include <string>
9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "content/common/content_export.h"
11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace net {
13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass CanonicalCookie;
14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace content {
17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstruct CONTENT_EXPORT CookieData {
19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  CookieData();
20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  explicit CookieData(const net::CanonicalCookie& c);
21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  ~CookieData();
22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // Cookie name.
24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  std::string name;
25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // Cookie value.
27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  std::string value;
28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // Cookie domain.
30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  std::string domain;
31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // Cookie path.
33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  std::string path;
34eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
35eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // Cookie expires param if any.
36eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  double expires;
37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
38eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // Cookie HTTPOnly param.
39eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  bool http_only;
40eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
41eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // Cookie secure param.
42eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  bool secure;
43eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
44eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // Session cookie flag.
45eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  bool session;
46eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch};
47eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
48eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}  // namespace content
49eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
50eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif  // CONTENT_COMMON_COOKIE_DATA_H_
51