Use ChildProcessTerminationInfo more widely

Use ChildProcessTerminationInfo in these content APIs:
* BrowserChildProcessObserver::BrowserChildProcessCrashed/Killed
* NOTIFICATION_RENDERER_PROCESS_CLOSED (instead of
  RendererClosedDetails)
* RenderProcessHostObserver::RenderProcessExited

On desktop platforms, ChildProcessTerminationInfo replaces
base::TerminationStatus and exit_code. On Android,
ChildProcessTerminationInfo also contains two additional fields, since
"child" process launching is fairly different on Android.

There is one non-refactor change:
RenderProcessHostImpl::Cleanup now calls
ChildProcessLauncher::GetTerminationStatus.
On Android, this is important to populate the Android-only fields.
And for all platforms, this has the side effect of closing the
base::Process earlier, which is visible through
RenderProcessHost::GetProcess.

Everything else is a pure refactor.

chromecast/ review tbr
[email protected]

Bug: 693484
Change-Id: I64d40b19797483918d9777352fd9c4eec4e398f9
Reviewed-on: https://chromium-review.googlesource.com/1017386
Commit-Queue: Bo <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
Reviewed-by: Ken Rockot <[email protected]>
Reviewed-by: Alexander Timin <[email protected]>
Reviewed-by: Alex Moshchuk <[email protected]>
Reviewed-by: Dmitry Gozman <[email protected]>
Reviewed-by: Ɓukasz Anforowicz <[email protected]>
Cr-Commit-Position: refs/heads/master@{#553367}
diff --git a/extensions/browser/event_router.h b/extensions/browser/event_router.h
index b7d8134..512ff10 100644
--- a/extensions/browser/event_router.h
+++ b/extensions/browser/event_router.h
@@ -340,9 +340,9 @@
   void OnListenerRemoved(const EventListener* listener) override;
 
   // RenderProcessHostObserver implementation.
-  void RenderProcessExited(content::RenderProcessHost* host,
-                           base::TerminationStatus status,
-                           int exit_code) override;
+  void RenderProcessExited(
+      content::RenderProcessHost* host,
+      const content::ChildProcessTerminationInfo& info) override;
   void RenderProcessHostDestroyed(content::RenderProcessHost* host) override;
 
   content::BrowserContext* const browser_context_;