summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_prefs_unittest.cc
diff options
context:
space:
mode:
authorbenwells <benwells@chromium.org>2015-03-10 21:45:55 -0700
committerCommit bot <commit-bot@chromium.org>2015-03-11 04:46:20 +0000
commitbe11031ec8c18ef6cb5c3f3eab6e30d85042160a (patch)
tree20b169add81151eeccd86c011b4fb0ec921df073 /chrome/browser/extensions/extension_prefs_unittest.cc
parent7645dd156885c1f1ff0398cb5f7214304b884af0 (diff)
downloadchromium_src-be11031ec8c18ef6cb5c3f3eab6e30d85042160a.zip
chromium_src-be11031ec8c18ef6cb5c3f3eab6e30d85042160a.tar.gz
chromium_src-be11031ec8c18ef6cb5c3f3eab6e30d85042160a.tar.bz2
Clear extension last launched times when browser history is cleared.
This should be cleared together for privacy reasons. To keep things simple, whenever any history is cleared all launch times are forgotten. BUG=405822 Review URL: https://codereview.chromium.org/977833002 Cr-Commit-Position: refs/heads/master@{#320047}
Diffstat (limited to 'chrome/browser/extensions/extension_prefs_unittest.cc')
-rw-r--r--chrome/browser/extensions/extension_prefs_unittest.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index 75c391a..d9067d3 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -13,6 +13,7 @@
#include "base/stl_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
+#include "base/time/time.h"
#include "base/values.h"
#include "chrome/browser/prefs/pref_service_syncable.h"
#include "chrome/common/chrome_paths.h"
@@ -877,4 +878,39 @@ class ExtensionPrefsBlacklistState : public ExtensionPrefsTest {
};
TEST_F(ExtensionPrefsBlacklistState, ExtensionPrefsBlacklistState) {}
+// Tests clearing the last launched preference.
+class ExtensionPrefsClearLastLaunched : public ExtensionPrefsTest {
+ public:
+ ~ExtensionPrefsClearLastLaunched() override {}
+
+ void Initialize() override {
+ extension_a_ = prefs_.AddExtension("a");
+ extension_b_ = prefs_.AddExtension("b");
+ }
+
+ void Verify() override {
+ // Set last launched times for each extension.
+ prefs()->SetLastLaunchTime(extension_a_->id(), base::Time::Now());
+ prefs()->SetLastLaunchTime(extension_b_->id(), base::Time::Now());
+
+ // Also set some other preference for one of the extensions.
+ prefs()->SetAllowFileAccess(extension_a_->id(), true);
+
+ // Now clear the launch times.
+ prefs()->ClearLastLaunchTimes();
+
+ // All launch times should be gone.
+ EXPECT_EQ(base::Time(), prefs()->GetLastLaunchTime(extension_a_->id()));
+ EXPECT_EQ(base::Time(), prefs()->GetLastLaunchTime(extension_b_->id()));
+
+ // Other preferences should be untouched.
+ EXPECT_TRUE(prefs()->AllowFileAccess(extension_a_->id()));
+ }
+
+ private:
+ scoped_refptr<const Extension> extension_a_;
+ scoped_refptr<const Extension> extension_b_;
+};
+TEST_F(ExtensionPrefsClearLastLaunched, ExtensionPrefsClearLastLaunched) {}
+
} // namespace extensions