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/");