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

Unified Diff: chrome/browser/extensions/extension_service_unittest.cc

Issue 8176001: Warn user in case extension delays network traffic too much. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Addressed Glen's comments Created 9 years, 2 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/extensions/extension_service_unittest.cc
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index 51931de926d57837682c693df4ad2ab4a4985f9b..a2d6fc4277c3ea5b73ac5f97b437e98177f51ef2 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -2699,6 +2699,42 @@ TEST_F(ExtensionServiceTest, UninstallExtensionHelperTerminated) {
UninstallExtension(good_crx, true);
}
+TEST_F(ExtensionServiceTest, TestExtensionWarnings) {
+ InitializeEmptyExtensionService();
+ EXPECT_EQ(0u, service_->GetWarnings().size());
+
+ // Simple extension that should install without error.
+ FilePath path = data_dir_.AppendASCII("good.crx");
+ InstallCrx(path, true);
+ const char* extension_id = good_crx;
+ std::set<std::string> extension_id_set;
+ extension_id_set.insert(extension_id);
+
+ ExtensionServiceWarning warning(
+ ExtensionServiceWarning::kExcessiveNetworkDelay, extension_id_set);
+ EXPECT_TRUE(warning.AffectsExtension(good_crx));
+ EXPECT_FALSE(warning.AffectsExtension("foobar"));
+ EXPECT_EQ(ExtensionServiceWarning::kExcessiveNetworkDelay,
+ warning.warning_type());
+
+ // Install warning.
+ service_->SetWarning(warning);
+ EXPECT_EQ(1u, service_->GetWarnings().size());
+ EXPECT_TRUE(
+ service_->HasWarning(ExtensionServiceWarning::kExcessiveNetworkDelay));
+
+ // Clear warning and check that is is gone.
+ service_->ClearWarning(ExtensionServiceWarning::kExcessiveNetworkDelay);
+ EXPECT_EQ(0u, service_->GetWarnings().size());
+ EXPECT_FALSE(
+ service_->HasWarning(ExtensionServiceWarning::kExcessiveNetworkDelay));
+
+ // Install warning and disable extension. Check that the warning is gone.
+ service_->SetWarning(warning);
+ service_->DisableExtension(extension_id);
+ EXPECT_EQ(0u, service_->GetWarnings().size());
+}
+
class ExtensionCookieCallback {
public:
ExtensionCookieCallback()

Powered by Google App Engine
This is Rietveld 408576698