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

Unified Diff: headless/public/headless_browser.h

Issue 2119063002: Add commands to manage tabs and contexts to Browser Domain (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added a check to prevent Browser.closeContext from closing a context that is in use. 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/public/headless_browser.h
diff --git a/headless/public/headless_browser.h b/headless/public/headless_browser.h
index 2e9145153aecb42a4f126481436003fb8e0a6cbe..aad40615272eefb1a4824aa7b9c88c11c628bf75 100644
--- a/headless/public/headless_browser.h
+++ b/headless/public/headless_browser.h
@@ -38,6 +38,30 @@ class HEADLESS_EXPORT HeadlessBrowser {
public:
struct Options;
+ class HEADLESS_EXPORT Observer {
Sami 2016/07/04 15:28:54 Could we instead add a getter that turns a target
alex clarke (OOO till 29th) 2016/07/04 16:33:59 I only really added it for testing when I had a di
+ public:
+ // All the following notifications will be called on browser main thread.
+
+ virtual void HeadlessWebContentsCreated(HeadlessWebContents* web_contents) {
+ }
+
+ // Note |web_contents| has been deleted, do not dereference.
+ virtual void HeadlessWebContentsDestroyed(
+ HeadlessWebContents* web_contents) {}
+
+ protected:
+ Observer() {}
+ virtual ~Observer() {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(Observer);
+ };
+
+ // Add or remove an observer to receive events from this HeadlessBrowser.
+ // |observer| must outlive this class or be removed prior to being destroyed.
+ virtual void AddObserver(Observer* observer) = 0;
+ virtual void RemoveObserver(Observer* observer) = 0;
+
// Open a new tab. Returns a builder object which can be used to set
// properties for the new tab.
virtual HeadlessWebContents::Builder CreateWebContentsBuilder() = 0;

Powered by Google App Engine
This is Rietveld 408576698