Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1696)

Unified Diff: chrome/browser/content_settings/content_settings_pref_provider_unittest.cc

Issue 356543003: Audit the last usage of Geolocation and Notification permissions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Jam nits. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
diff --git a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
index 395693a0782db70316d798221e854a161f4b7540..a090372ad47d3c5ac6d267e2d5123611a9519fe7 100644
--- a/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
+++ b/chrome/browser/content_settings/content_settings_pref_provider_unittest.cc
@@ -14,6 +14,7 @@
#include "base/prefs/pref_service.h"
#include "base/prefs/scoped_user_pref_update.h"
#include "base/prefs/testing_pref_store.h"
+#include "base/test/simple_test_clock.h"
#include "base/threading/platform_thread.h"
#include "base/values.h"
#include "chrome/browser/content_settings/content_settings_mock_observer.h"
@@ -444,4 +445,39 @@ TEST_F(PrefProviderTest, Deadlock) {
provider.ShutdownOnUIThread();
}
+TEST_F(PrefProviderTest, LastUsage) {
+ TestingProfile testing_profile;
+ PrefProvider pref_content_settings_provider(testing_profile.GetPrefs(),
+ false);
+ base::SimpleTestClock* test_clock = new base::SimpleTestClock;
Bernhard Bauer 2014/07/17 09:11:48 Alternatively, make this a scoped_ptr<base::Simple
Daniel Nishi 2014/07/17 18:01:49 Thanks for the suggestion, but I think I'm going t
+ test_clock->SetNow(base::Time::Now());
+
+ pref_content_settings_provider.SetClockForTesting(
+ scoped_ptr<base::Clock>(test_clock));
+ GURL host("http://example.com/");
+ ContentSettingsPattern pattern =
+ ContentSettingsPattern::FromString("[*.]example.com");
+
+ base::Time no_usage = pref_content_settings_provider.GetLastUsage(
+ pattern, pattern, CONTENT_SETTINGS_TYPE_GEOLOCATION);
+ EXPECT_EQ(no_usage.ToDoubleT(), 0);
+
+ pref_content_settings_provider.UpdateLastUsage(
+ pattern, pattern, CONTENT_SETTINGS_TYPE_GEOLOCATION);
+ base::Time first = pref_content_settings_provider.GetLastUsage(
+ pattern, pattern, CONTENT_SETTINGS_TYPE_GEOLOCATION);
+
+ test_clock->Advance(base::TimeDelta::FromSeconds(10));
+
+ pref_content_settings_provider.UpdateLastUsage(
+ pattern, pattern, CONTENT_SETTINGS_TYPE_GEOLOCATION);
+ base::Time second = pref_content_settings_provider.GetLastUsage(
+ pattern, pattern, CONTENT_SETTINGS_TYPE_GEOLOCATION);
+
+ base::TimeDelta delta = second - first;
+ EXPECT_EQ(delta.InSeconds(), 10);
+
+ pref_content_settings_provider.ShutdownOnUIThread();
+}
+
} // namespace content_settings

Powered by Google App Engine
This is Rietveld 408576698