Index: headless/lib/browser/headless_web_contents_impl.h |
diff --git a/headless/lib/browser/headless_web_contents_impl.h b/headless/lib/browser/headless_web_contents_impl.h |
index 43293847b352e85400aad4ed0a9a42672d56c1f3..d7abd377a72a0a7fab0b4407697c41e370281c88 100644 |
--- a/headless/lib/browser/headless_web_contents_impl.h |
+++ b/headless/lib/browser/headless_web_contents_impl.h |
@@ -10,6 +10,7 @@ |
#include <string> |
#include <unordered_map> |
+#include "content/public/browser/render_process_host_observer.h" |
#include "content/public/browser/web_contents_observer.h" |
#include "headless/public/headless_devtools_target.h" |
#include "headless/public/headless_web_contents.h" |
@@ -35,6 +36,7 @@ class WebContentsObserverAdapter; |
class HeadlessWebContentsImpl : public HeadlessWebContents, |
public HeadlessDevToolsTarget, |
+ public content::RenderProcessHostObserver, |
public content::WebContentsObserver { |
public: |
~HeadlessWebContentsImpl() override; |
@@ -59,6 +61,12 @@ class HeadlessWebContentsImpl : public HeadlessWebContents, |
void AttachClient(HeadlessDevToolsClient* client) override; |
void DetachClient(HeadlessDevToolsClient* client) override; |
+ // RenderProcessHostObserver implementation: |
+ void RenderProcessExited(content::RenderProcessHost* host, |
+ base::TerminationStatus status, |
+ int exit_code) override; |
+ void RenderProcessHostDestroyed(content::RenderProcessHost* host) override; |
+ |
// content::WebContentsObserver implementation: |
void RenderFrameCreated(content::RenderFrameHost* render_frame_host) override; |
@@ -88,7 +96,8 @@ class HeadlessWebContentsImpl : public HeadlessWebContents, |
scoped_refptr<content::DevToolsAgentHost> agent_host_; |
std::list<MojoService> mojo_services_; |
- HeadlessBrowserContextImpl* browser_context_; // Not owned. |
+ HeadlessBrowserContextImpl* browser_context_; // Not owned. |
+ content::RenderProcessHost* render_process_host_; // Not owned. |
using ObserverMap = |
std::unordered_map<HeadlessWebContents::Observer*, |