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

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: Added a comment Created 4 years, 6 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 e0eec04afa2f6e30115e2461c45b06620cdca072..8e4fe19d8f437da4e908184de47895d0e7381843 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;
@@ -54,6 +56,9 @@ class HeadlessWebContentsImpl : public HeadlessWebContents,
void AttachClient(HeadlessDevToolsClient* client) override;
void DetachClient(HeadlessDevToolsClient* client) override;
+ // content::WebContentsObserver implementation
+ void DocumentOnLoadCompletedInMainFrame() override;
+
content::WebContents* web_contents() const;
bool OpenURL(const GURL& url);
@@ -67,10 +72,16 @@ class HeadlessWebContentsImpl : public HeadlessWebContents,
void InitializeScreen(aura::Window* parent_window,
const gfx::Size& initial_size);
+ using EmbedderMojoService = HeadlessWebContents::Builder::EmbedderMojoService;
+
+ void InstallMojoServices(
+ std::list<EmbedderMojoService>& embedder_mojo_services);
Sami 2016/06/10 10:27:38 const or turn into a pointer if it needs to be mut
alex clarke (OOO till 29th) 2016/06/11 20:51:50 Done.
+
class Delegate;
std::unique_ptr<Delegate> web_contents_delegate_;
std::unique_ptr<content::WebContents> web_contents_;
scoped_refptr<content::DevToolsAgentHost> agent_host_;
+ std::list<EmbedderMojoService> embedder_mojo_services_;
HeadlessBrowserImpl* browser_; // Not owned.

Powered by Google App Engine
This is Rietveld 408576698