Access-time threshold unit failure in CookieMonster.
kDefaultAccessUpdateThresholdSeconds was being passed to
last_access_threshold_milliseconds. As a result, instead of updating
the last-access time only once a minute, it was being updated every few
seconds.
BUG=612989
Review-Url: https://codereview.chromium.org/1988343003
Cr-Commit-Position: refs/heads/master@{#394673}
diff --git a/net/cookies/cookie_monster.cc b/net/cookies/cookie_monster.cc
index 9b3e3b1..3d7124d 100644
--- a/net/cookies/cookie_monster.cc
+++ b/net/cookies/cookie_monster.cc
@@ -362,20 +362,21 @@
CookieMonster::CookieMonster(PersistentCookieStore* store,
CookieMonsterDelegate* delegate)
- : CookieMonster(store, delegate, kDefaultAccessUpdateThresholdSeconds) {
-}
+ : CookieMonster(
+ store,
+ delegate,
+ base::TimeDelta::FromSeconds(kDefaultAccessUpdateThresholdSeconds)) {}
CookieMonster::CookieMonster(PersistentCookieStore* store,
CookieMonsterDelegate* delegate,
- int last_access_threshold_milliseconds)
+ base::TimeDelta last_access_threshold)
: initialized_(false),
started_fetching_all_cookies_(false),
finished_fetching_all_cookies_(false),
fetch_strategy_(kUnknownFetch),
seen_global_task_(false),
store_(store),
- last_access_threshold_(base::TimeDelta::FromMilliseconds(
- last_access_threshold_milliseconds)),
+ last_access_threshold_(last_access_threshold),
delegate_(delegate),
last_statistic_record_time_(base::Time::Now()),
persist_session_cookies_(false),
diff --git a/net/cookies/cookie_monster.h b/net/cookies/cookie_monster.h
index a88f166..850ad942 100644
--- a/net/cookies/cookie_monster.h
+++ b/net/cookies/cookie_monster.h
@@ -34,15 +34,12 @@
#include "url/gurl.h"
namespace base {
-class Histogram;
class HistogramBase;
-class TimeTicks;
} // namespace base
namespace net {
class CookieMonsterDelegate;
-class ParsedCookie;
// The cookie monster is the system for storing and retrieving cookies. It has
// an in-memory list of all cookies, and synchronizes non-session cookies to an
@@ -140,7 +137,7 @@
// Only used during unit testing.
CookieMonster(PersistentCookieStore* store,
CookieMonsterDelegate* delegate,
- int last_access_threshold_milliseconds);
+ base::TimeDelta last_access_threshold);
~CookieMonster() override;
diff --git a/net/cookies/cookie_monster_unittest.cc b/net/cookies/cookie_monster_unittest.cc
index 0c01d62..ab74c667 100644
--- a/net/cookies/cookie_monster_unittest.cc
+++ b/net/cookies/cookie_monster_unittest.cc
@@ -1506,11 +1506,14 @@
EXPECT_EQ(0, DeleteAll(cm.get()));
}
-static const int kAccessDelayMs = kLastAccessThresholdMilliseconds + 20;
+static const base::TimeDelta kLastAccessThreshold =
+ base::TimeDelta::FromMilliseconds(200);
+static const base::TimeDelta kAccessDelay =
+ kLastAccessThreshold + base::TimeDelta::FromMilliseconds(20);
TEST_F(CookieMonsterTest, TestLastAccess) {
std::unique_ptr<CookieMonster> cm(
- new CookieMonster(nullptr, nullptr, kLastAccessThresholdMilliseconds));
+ new CookieMonster(nullptr, nullptr, kLastAccessThreshold));
EXPECT_TRUE(SetCookie(cm.get(), http_www_google_.url(), "A=B"));
const Time last_access_date(GetFirstCookieAccessDate(cm.get()));
@@ -1523,8 +1526,7 @@
// Reading after a short wait will update the access date, if the cookie
// is requested with options that would update the access date. First, test
// that the flag's behavior is respected.
- base::PlatformThread::Sleep(
- base::TimeDelta::FromMilliseconds(kAccessDelayMs));
+ base::PlatformThread::Sleep(kAccessDelay);
CookieOptions options;
options.set_do_not_update_access_time();
EXPECT_EQ("A=B",
@@ -1584,7 +1586,7 @@
TEST_F(CookieMonsterTest, GetAllCookiesForURL) {
std::unique_ptr<CookieMonster> cm(
- new CookieMonster(nullptr, nullptr, kLastAccessThresholdMilliseconds));
+ new CookieMonster(nullptr, nullptr, kLastAccessThreshold));
// Create an httponly cookie.
CookieOptions options;
@@ -1601,8 +1603,7 @@
const Time last_access_date(GetFirstCookieAccessDate(cm.get()));
- base::PlatformThread::Sleep(
- base::TimeDelta::FromMilliseconds(kAccessDelayMs));
+ base::PlatformThread::Sleep(kAccessDelay);
// Check cookies for url.
CookieList cookies = GetAllCookiesForURL(cm.get(), http_www_google_.url());
diff --git a/net/cookies/cookie_store_unittest.h b/net/cookies/cookie_store_unittest.h
index 6280505..3f8b037 100644
--- a/net/cookies/cookie_store_unittest.h
+++ b/net/cookies/cookie_store_unittest.h
@@ -1125,8 +1125,6 @@
this->GetCookies(cs, this->https_www_google_.url()));
}
-static const int kLastAccessThresholdMilliseconds = 200;
-
// Formerly NetUtilTest.CookieTest back when we used wininet's cookie handling.
TYPED_TEST_P(CookieStoreTest, NetUtilCookieTest) {
const GURL test_url("http://mojo.jojo.google.izzle/");