diff options
author | benwells <benwells@chromium.org> | 2015-03-10 21:45:55 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-11 04:46:20 +0000 |
commit | be11031ec8c18ef6cb5c3f3eab6e30d85042160a (patch) | |
tree | 20b169add81151eeccd86c011b4fb0ec921df073 /chrome/browser/extensions/extension_prefs_unittest.cc | |
parent | 7645dd156885c1f1ff0398cb5f7214304b884af0 (diff) | |
download | chromium_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.cc | 36 |
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 |