Adding UMA to track battery percentage drops in Chrome in general

This metric is intended to be used to compare experiments effect on user
battery. It is not useful outside of experimental comparison, as other
apps can easily affect this.

Bug: 958176
Change-Id: I1604af419c3912521ad89ba0c185305ffc393cd6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1592340
Commit-Queue: Ryan Sturm <[email protected]>
Reviewed-by: Colin Blundell <[email protected]>
Reviewed-by: Tarun Bansal <[email protected]>
Cr-Commit-Position: refs/heads/master@{#658381}
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index fcda198..d5712a0d 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -34,6 +34,7 @@
 #include "base/time/default_tick_clock.h"
 #include "base/trace_event/trace_event.h"
 #include "build/build_config.h"
+#include "chrome/browser/battery/battery_metrics.h"
 #include "chrome/browser/chrome_browser_main.h"
 #include "chrome/browser/chrome_child_process_watcher.h"
 #include "chrome/browser/chrome_content_browser_client.h"
@@ -267,6 +268,8 @@
 
   net_log_ = std::make_unique<net_log::ChromeNetLog>();
 
+  battery_metrics_ = std::make_unique<BatteryMetrics>();
+
   ChildProcessSecurityPolicy::GetInstance()->RegisterWebSafeScheme(
       chrome::kChromeSearchScheme);
 
@@ -410,6 +413,8 @@
   remote_debugging_server_.reset();
   devtools_auto_opener_.reset();
 
+  battery_metrics_.reset();
+
   // Need to clear profiles (download managers) before the io_thread_.
   {
     TRACE_EVENT0("shutdown",