• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2006-2009 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 // Brought to you by number 42.
6 
7 #ifndef NET_BASE_COOKIE_OPTIONS_H_
8 #define NET_BASE_COOKIE_OPTIONS_H_
9 #pragma once
10 
11 namespace net {
12 
13 class CookieOptions {
14  public:
15   // Default is to exclude httponly, which means:
16   // - reading operations will not return httponly cookies.
17   // - writing operations will not write httponly cookies.
CookieOptions()18   CookieOptions()
19       : exclude_httponly_(true),
20         force_session_(false) {
21   }
22 
set_exclude_httponly()23   void set_exclude_httponly() { exclude_httponly_ = true; }
set_include_httponly()24   void set_include_httponly() { exclude_httponly_ = false; }
exclude_httponly()25   bool exclude_httponly() const { return exclude_httponly_; }
26 
27   // Forces a cookie to be saved as a session cookie. If the expiration time of
28   // the cookie is in the past, i.e. the cookie would end up being deleted, this
29   // option is ignored. See CookieMonsterTest.ForceSessionOnly.
set_force_session()30   void set_force_session() { force_session_ = true; }
force_session()31   bool force_session() const { return force_session_; }
32 
33  private:
34   bool exclude_httponly_;
35   bool force_session_;
36 };
37 }  // namespace net
38 
39 #endif  // NET_BASE_COOKIE_OPTIONS_H_
40 
41