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; |