# Keep local history longer than 90 days Index: chromium-128.0.6613.113/chrome/browser/ungoogled_flag_entries.h =================================================================== --- chromium-128.0.6613.113.orig/chrome/browser/ungoogled_flag_entries.h +++ chromium-128.0.6613.113/chrome/browser/ungoogled_flag_entries.h @@ -52,4 +52,8 @@ "Popups to tabs", "Makes popups open in new tabs. ungoogled-chromium flag", kOsAll, SINGLE_VALUE_TYPE("popups-to-tabs")}, + {"keep-old-history", + "Keep old history", + "Keep history older than 3 months. ungoogled-chromium flag", + kOsAll, SINGLE_VALUE_TYPE("keep-old-history")}, #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ Index: chromium-128.0.6613.113/components/history/core/browser/history_backend.cc =================================================================== --- chromium-128.0.6613.113.orig/components/history/core/browser/history_backend.cc +++ chromium-128.0.6613.113/components/history/core/browser/history_backend.cc @@ -14,6 +14,7 @@ #include <utility> #include <vector> +#include "base/command_line.h" #include "base/compiler_specific.h" #include "base/containers/flat_set.h" #include "base/feature_list.h" @@ -1320,7 +1321,8 @@ void HistoryBackend::InitImpl( db_->GetStartDate(&first_recorded_time_); // Start expiring old stuff. - expirer_.StartExpiringOldStuff(base::Days(kExpireDaysThreshold)); + if (!base::CommandLine::ForCurrentProcess()->HasSwitch("keep-old-history")) + expirer_.StartExpiringOldStuff(base::Days(kExpireDaysThreshold)); } void HistoryBackend::OnMemoryPressure( @@ -1548,6 +1550,8 @@ void HistoryBackend::AddPagesWithDetails } bool HistoryBackend::IsExpiredVisitTime(const base::Time& time) const { + if (base::CommandLine::ForCurrentProcess()->HasSwitch("keep-old-history")) + return false; return time < expirer_.GetCurrentExpirationTime(); }