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 dde41581d34b93bbc8b9ab99f9d1d69a3b5caf3e..9c335ee20636994f7300b62598548647d10bf32f 100644 |
--- a/headless/lib/browser/headless_web_contents_impl.h |
+++ b/headless/lib/browser/headless_web_contents_impl.h |
@@ -5,6 +5,7 @@ |
#ifndef HEADLESS_LIB_BROWSER_HEADLESS_WEB_CONTENTS_IMPL_H_ |
#define HEADLESS_LIB_BROWSER_HEADLESS_WEB_CONTENTS_IMPL_H_ |
+#include "content/public/browser/web_contents_observer.h" |
#include "headless/public/headless_devtools_target.h" |
#include "headless/public/headless_web_contents.h" |
@@ -31,7 +32,8 @@ class HeadlessBrowserImpl; |
class WebContentsObserverAdapter; |
class HeadlessWebContentsImpl : public HeadlessWebContents, |
- public HeadlessDevToolsTarget { |
+ public HeadlessDevToolsTarget, |
+ public content::WebContentsObserver { |
public: |
~HeadlessWebContentsImpl() override; |
@@ -56,6 +58,9 @@ class HeadlessWebContentsImpl : public HeadlessWebContents, |
void AttachClient(HeadlessDevToolsClient* client) override; |
void DetachClient(HeadlessDevToolsClient* client) override; |
+ // content::WebContentsObserver implementation: |
+ void RenderFrameCreated(content::RenderFrameHost* render_frame_host) override; |
+ |
content::WebContents* web_contents() const; |
bool OpenURL(const GURL& url); |
@@ -71,10 +76,13 @@ class HeadlessWebContentsImpl : public HeadlessWebContents, |
void InitializeScreen(aura::Window* parent_window, |
const gfx::Size& initial_size); |
+ using MojoService = HeadlessWebContents::Builder::MojoService; |
+ |
class Delegate; |
std::unique_ptr<Delegate> web_contents_delegate_; |
std::unique_ptr<content::WebContents> web_contents_; |
scoped_refptr<content::DevToolsAgentHost> agent_host_; |
+ std::list<MojoService> mojo_services_; |
HeadlessBrowserImpl* browser_; // Not owned. |