Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Unified Diff: headless/lib/browser/headless_web_contents_impl.h

Issue 2049363003: Adds support for headless chrome embedder mojo services (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.
« no previous file with comments | « headless/lib/browser/headless_browser_context_impl.cc ('k') | headless/lib/browser/headless_web_contents_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698