arc: Persist stability metrics into local state

In case of a crash, metrics from previous session is not available when
generating initial stability logs, which is probably why aggregated
crash counts on UMA don't have ARC state associated.

This patch introduces StabilityMetricsManager, which persists stability
metrics into local state and record value from local state to UMA when
needed.

Bug: 929583
Change-Id: I747493f2462454baa7fc187421932ea71d52c9a1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1469810
Commit-Queue: Shao-Chuan Lee <[email protected]>
Reviewed-by: Hidehiko Abe <[email protected]>
Reviewed-by: Yury Khmel <[email protected]>
Reviewed-by: Mark Pearson <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
Reviewed-by: Gabriel Charette <[email protected]>
Cr-Commit-Position: refs/heads/master@{#637591}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 2b89485..5060969 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -507,6 +507,7 @@
 #endif  // !defined(OS_ANDROID)
 
 #if defined(OS_CHROMEOS)
+  arc::prefs::RegisterLocalStatePrefs(registry);
   ChromeOSMetricsProvider::RegisterPrefs(registry);
   chromeos::ArcKioskAppManager::RegisterPrefs(registry);
   chromeos::AudioDevicesPrefHandlerImpl::RegisterPrefs(registry);