ClearOnExit: Add keep alive and monitor deletion status

Add Scoped(Profile)KeepAlive to ensure that deletions that were started
have a better chance at succeeding.
Add a histogram to SessionDataService to track if a session data
deletion on last shutdown succeeded and how long it takes.

Bug: 637822, 1204022
Change-Id: I01336b6a42c75a0cbf77ebb982867dc25c08c858
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2859940
Reviewed-by: Ben Wells <[email protected]>
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: Caitlin Fischer <[email protected]>
Reviewed-by: Martin Šrámek <[email protected]>
Reviewed-by: Nicolas Ouellet-Payeur <[email protected]>
Commit-Queue: Christian Dullweber <[email protected]>
Cr-Commit-Position: refs/heads/master@{#880895}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index fba43b9d..477bbc0 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -417,6 +417,7 @@
 #endif
 
 #if BUILDFLAG(ENABLE_SESSION_SERVICE)
+#include "chrome/browser/sessions/session_data_service.h"
 #include "chrome/browser/sessions/session_service_log.h"
 #endif
 namespace {
@@ -1000,6 +1001,7 @@
 
 #if BUILDFLAG(ENABLE_SESSION_SERVICE)
   RegisterSessionServiceLogProfilePrefs(registry);
+  SessionDataService::RegisterProfilePrefs(registry);
 #endif
 
 #if BUILDFLAG(ENABLE_EXTENSIONS)