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

Unified Diff: chrome/browser/extensions/activity_log/fullstream_ui_policy.cc

Issue 23983014: [Activity Log] when extension is uninstalled, delete data about it (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed bug in test Created 7 years, 3 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/activity_log/fullstream_ui_policy.cc
diff --git a/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc b/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
index 84f8a9ea6564562867f2329b0406ba0c679d58cd..f4d414384b0eb02d4e3d0efb8d268c6efcc74fd2 100644
--- a/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
+++ b/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
@@ -282,6 +282,33 @@ void FullStreamUIPolicy::DoRemoveURLs(const std::vector<GURL>& restrict_urls) {
}
}
+void FullStreamUIPolicy::DoRemoveExtensionData(
+ const std::string& extension_id) {
+ if (extension_id.empty())
+ return;
+
+ sql::Connection* db = GetDatabaseConnection();
+ if (!db) {
+ LOG(ERROR) << "Unable to connect to database";
+ return;
+ }
+
+ // Make sure any queued in memory are sent to the database before cleaning.
+ activity_database()->AdviseFlush(ActivityDatabase::kFlushImmediately);
+
+ std::string sql_str = base::StringPrintf(
+ "DELETE FROM %s WHERE extension_id=?", kTableName);
+ sql::Statement statement;
+ statement.Assign(
+ db->GetCachedStatement(sql::StatementID(SQL_FROM_HERE), sql_str.c_str()));
+ statement.BindString(0, extension_id);
+ if (!statement.Run()) {
+ LOG(ERROR) << "Removing URLs for extension "
+ << extension_id << "from database failed: "
+ << statement.GetSQLStatement();
+ }
+}
+
void FullStreamUIPolicy::DoDeleteDatabase() {
sql::Connection* db = GetDatabaseConnection();
if (!db) {
@@ -351,6 +378,11 @@ void FullStreamUIPolicy::RemoveURLs(const std::vector<GURL>& restrict_urls) {
ScheduleAndForget(this, &FullStreamUIPolicy::DoRemoveURLs, restrict_urls);
}
+void FullStreamUIPolicy::RemoveExtensionData(const std::string& extension_id) {
+ ScheduleAndForget(
+ this, &FullStreamUIPolicy::DoRemoveExtensionData, extension_id);
+}
+
void FullStreamUIPolicy::DeleteDatabase() {
ScheduleAndForget(this, &FullStreamUIPolicy::DoDeleteDatabase);
}

Powered by Google App Engine
This is Rietveld 408576698