[Extensions SW] Add worker registering and starting UMAs.

This CL adds boolean histogram indicating whether extension's background
service worker script registering and starting succeeded or not.
This CL also adds timing for those.

Bug: None
Change-Id: I0fb31609b3c54bf21970b6ea39d7bcd50d369662
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2437786
Reviewed-by: Brian White <[email protected]>
Reviewed-by: David Bertoni <[email protected]>
Commit-Queue: Istiaque Ahmed <[email protected]>
Cr-Commit-Position: refs/heads/master@{#812371}
diff --git a/extensions/browser/service_worker_task_queue.h b/extensions/browser/service_worker_task_queue.h
index 2b4147ec..ec74dd9e1 100644
--- a/extensions/browser/service_worker_task_queue.h
+++ b/extensions/browser/service_worker_task_queue.h
@@ -150,6 +150,7 @@
 
   static void DidStartWorkerForScopeOnCoreThread(
       const SequencedContextId& context_id,
+      base::Time start_time,
       base::WeakPtr<ServiceWorkerTaskQueue> task_queue,
       int64_t version_id,
       int process_id,
@@ -165,12 +166,14 @@
   void RunTasksAfterStartWorker(const SequencedContextId& context_id);
 
   void DidRegisterServiceWorker(const SequencedContextId& context_id,
+                                base::Time start_time,
                                 bool success);
   void DidUnregisterServiceWorker(const ExtensionId& extension_id,
                                   ActivationSequence sequence,
                                   bool success);
 
   void DidStartWorkerForScope(const SequencedContextId& context_id,
+                              base::Time start_time,
                               int64_t version_id,
                               int process_id,
                               int thread_id);