Index: extensions/browser/guest_view/web_view/web_view_guest_delegate.h |
diff --git a/extensions/browser/guest_view/web_view/web_view_guest_delegate.h b/extensions/browser/guest_view/web_view/web_view_guest_delegate.h |
index d72ae0ee6f5c4a46975d1cd48fd18b3761e2ca0b..0b54e72b43e79dd5b81e20d577f0d2d1303b01f5 100644 |
--- a/extensions/browser/guest_view/web_view/web_view_guest_delegate.h |
+++ b/extensions/browser/guest_view/web_view/web_view_guest_delegate.h |
@@ -14,6 +14,8 @@ class WebContents; |
namespace extensions { |
+class WebViewGuest; |
+ |
namespace api { |
namespace web_view_internal{ |
@@ -25,7 +27,7 @@ struct ContextMenuItem; |
// A delegate class of WebViewGuest that are not a part of chrome. |
class WebViewGuestDelegate { |
public : |
- WebViewGuestDelegate(); |
+ explicit WebViewGuestDelegate(WebViewGuest* web_view_guest); |
virtual ~WebViewGuestDelegate(); |
typedef std::vector<linked_ptr<api::web_view_internal::ContextMenuItem> > |
@@ -40,6 +42,9 @@ class WebViewGuestDelegate { |
// Called to attach helpers just after additional initialization is performed. |
virtual void OnAttachWebViewHelpers(content::WebContents* contents) = 0; |
+ // Called to perform some cleanup prior to destruction. |
+ virtual void OnEmbedderDestroyed() = 0; |
+ |
// Called when the guest WebContents commits a provisional load in any frame. |
virtual void OnDidCommitProvisionalLoadForFrame(bool is_main_frame) = 0; |
@@ -63,7 +68,11 @@ class WebViewGuestDelegate { |
int request_id, |
const MenuItemVector* items) = 0; |
+ WebViewGuest* web_view_guest() const { return web_view_guest_; } |
+ |
private: |
+ WebViewGuest* const web_view_guest_; |
+ |
DISALLOW_COPY_AND_ASSIGN(WebViewGuestDelegate); |
}; |