1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file.
4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch//
5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// A struct for managing data being dropped on a webview.  This represents a
6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// union of all the types of data that can be dropped in a platform neutral
7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// way.
8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef WEBKIT_GLUE_WEBCOOKIE_H_
10c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define WEBKIT_GLUE_WEBCOOKIE_H_
11c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "net/base/cookie_monster.h"
13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace webkit_glue {
15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochstruct WebCookie {
173345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  WebCookie();
183345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  explicit WebCookie(const net::CookieMonster::CanonicalCookie& c);
19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  WebCookie(const std::string& name, const std::string& value,
20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch            const std::string& domain, const std::string& path, double expires,
213345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick            bool http_only, bool secure, bool session);
223345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick  ~WebCookie();
23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Cookie name.
25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  std::string name;
26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Cookie value.
28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  std::string value;
29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Cookie domain.
31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  std::string domain;
32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Cookie path.
34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  std::string path;
35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Cookie expires param if any.
37c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  double expires;
38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
39c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Cookie HTTPOnly param.
40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  bool http_only;
41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
42c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Cookie secure param.
43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  bool secure;
44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
45c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  // Session cookie flag.
46c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch  bool session;
47c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch};
48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
49c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch}  // namespace webkit_glue
50c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch
51c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif  // WEBKIT_GLUE_WEBCOOKIE_H_
52