blob: 888ddbf57bf05ae577450a7f334f8e6ed0141444 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_NET_COOKIES_SYSTEM_COOKIE_UTIL_H_
#define IOS_NET_COOKIES_SYSTEM_COOKIE_UTIL_H_
#include "net/cookies/canonical_cookie.h"
#if defined(__OBJC__)
@class NSHTTPCookie;
#else
class NSHTTPCookie;
#endif
namespace base {
class Time;
}
namespace net {
// Converts NSHTTPCookie to net::CanonicalCookie.
net::CanonicalCookie CanonicalCookieFromSystemCookie(
NSHTTPCookie* cookie,
const base::Time& ceation_time);
// Converts net::CanonicalCookie to NSHTTPCookie.
NSHTTPCookie* SystemCookieFromCanonicalCookie(
const net::CanonicalCookie& cookie);
enum CookieEvent {
COOKIES_READ, // Cookies have been read from disk.
COOKIES_APPLICATION_FOREGROUNDED // The application has been foregrounded.
};
// Report metrics if the number of cookies drops unexpectedly.
void CheckForCookieLoss(size_t cookie_count, CookieEvent event);
// Reset the cookie count internally used by the CheckForCookieLoss() function.
void ResetCookieCountMetrics();
} // namespace net
#endif // IOS_NET_COOKIES_SYSTEM_COOKIE_UTIL_H_