Home | History | Annotate | Download | only in cookies
      1 // Copyright (c) 2012 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_COOKIES_COOKIE_OPTIONS_H_
      8 #define NET_COOKIES_COOKIE_OPTIONS_H_
      9 
     10 namespace net {
     11 
     12 class CookieOptions {
     13  public:
     14   // Default is to exclude httponly, which means:
     15   // - reading operations will not return httponly cookies.
     16   // - writing operations will not write httponly cookies.
     17   CookieOptions()
     18       : exclude_httponly_(true),
     19         server_time_() {
     20   }
     21 
     22   void set_exclude_httponly() { exclude_httponly_ = true; }
     23   void set_include_httponly() { exclude_httponly_ = false; }
     24   bool exclude_httponly() const { return exclude_httponly_; }
     25 
     26   // |server_time| indicates what the server sending us the Cookie thought the
     27   // current time was when the cookie was produced.  This is used to adjust for
     28   // clock skew between server and host.
     29   void set_server_time(const base::Time& server_time) {
     30     server_time_ = server_time;
     31   }
     32   bool has_server_time() const { return !server_time_.is_null(); }
     33   base::Time server_time() const { return server_time_; }
     34 
     35  private:
     36   bool exclude_httponly_;
     37   base::Time server_time_;
     38 };
     39 }  // namespace net
     40 
     41 #endif  // NET_COOKIES_COOKIE_OPTIONS_H_
     42 
     43