Index: content/public/browser/browser_plugin_guest_delegate.h |
diff --git a/content/public/browser/browser_plugin_guest_delegate.h b/content/public/browser/browser_plugin_guest_delegate.h |
index 6df0ef19a5f22e5ac6b21792d7c1fb7a29787c16..f85978c00a33b09d5b700e534904c42eb4c8abd9 100644 |
--- a/content/public/browser/browser_plugin_guest_delegate.h |
+++ b/content/public/browser/browser_plugin_guest_delegate.h |
@@ -10,8 +10,8 @@ |
#include "base/strings/string16.h" |
#include "base/values.h" |
#include "content/common/content_export.h" |
-#include "content/public/common/browser_plugin_permission_type.h" |
#include "content/public/common/media_stream_request.h" |
+#include "ui/base/window_open_disposition.h" |
#include "ui/gfx/geometry/rect.h" |
#include "ui/gfx/size.h" |
#include "url/gurl.h" |
@@ -19,9 +19,10 @@ |
namespace content { |
class JavaScriptDialogManager; |
+class WebContents; |
struct ContextMenuParams; |
struct NativeWebKeyboardEvent; |
-class WebContents; |
+struct OpenURLParams; |
// Objects implement this interface to get notified about changes in the guest |
// WebContents and to provide necessary functionality. |
@@ -42,11 +43,6 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate { |
// Notification that the embedder has completed attachment. |
virtual void DidAttach() {} |
- // Returns the opener for this guest. |
- // TODO(fsamuel): Remove this once the New Window API is migrated outside of |
- // the content layer. |
- virtual WebContents* GetOpener() const; |
- |
// Informs the delegate that the guest render process is gone. |status| |
// indicates whether the guest was killed, crashed, or was terminated |
// gracefully. |
@@ -73,12 +69,6 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate { |
// Returns whether the user agent for the guest is being overridden. |
virtual bool IsOverridingUserAgent() const; |
- // Notification that a load in the guest resulted in abort. Note that |url| |
- // may be invalid. |
- virtual void LoadAbort(bool is_top_level, |
- const GURL& url, |
- const std::string& error_type) {} |
- |
// Notification that the page has made some progress loading. |progress| is a |
// value between 0.0 (nothing loaded) and 1.0 (page loaded completely). |
virtual void LoadProgressed(double progress) {} |
@@ -89,28 +79,6 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate { |
// Notification that the guest is hung. |
virtual void RendererUnresponsive() {} |
- typedef base::Callback<void(bool /* allow */, |
- const std::string& /* user_input */)> |
- PermissionResponseCallback; |
- |
- // Request permission from the delegate to perform an action of the provided |
- // |permission_type|. Details of the permission request are found in |
- // |request_info|. A |callback| is provided to make the decision. |
- virtual void RequestPermission( |
- BrowserPluginPermissionType permission_type, |
- const base::DictionaryValue& request_info, |
- const PermissionResponseCallback& callback, |
- bool allowed_by_default) {} |
- |
- // Requests resolution of a potentially relative URL. |
- virtual GURL ResolveURL(const std::string& src); |
- |
- // Informs the delegate of the WebContents that created delegate's associated |
- // WebContents. |
- // TODO(fsamuel): Remove this once the New Window API is migrated outside of |
- // the content layer. |
- virtual void SetOpener(WebContents* opener) {} |
- |
// Notifies that the content size of the guest has changed in autosize mode. |
virtual void SizeChanged(const gfx::Size& old_size, |
const gfx::Size& new_size) {} |
@@ -143,6 +111,52 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate { |
// Returns true if the context menu operation was handled by the delegate. |
virtual bool HandleContextMenu(const ContextMenuParams& params); |
+ |
+ // Request navigating the guest to the provided |src| URL. |
+ virtual void NavigateGuest(const std::string& src) {} |
+ |
+ // Requests that the delegate destroy itself along with its associated |
+ // WebContents. |
+ virtual void Destroy() {} |
+ |
+ // Creates a new tab with the already-created WebContents 'new_contents'. |
lazyboy
2014/05/12 23:00:20
s/'new_contents'/|new_contents|
Fady Samuel
2014/05/13 18:59:02
Done.
|
+ // The window for the added contents should be reparented correctly when this |
+ // method returns. If |disposition| is NEW_POPUP, |initial_pos| should hold |
+ // the initial position. If |was_blocked| is non-NULL, then |*was_blocked| |
+ // will be set to true if the popup gets blocked, and left unchanged |
+ // otherwise. |
+ virtual void AddNewContents(WebContents* source, |
+ WebContents* new_contents, |
+ WindowOpenDisposition disposition, |
+ const gfx::Rect& initial_pos, |
+ bool user_gesture, |
+ bool* was_blocked) {} |
+ |
+ // Opens a new URL inside the passed in WebContents (if source is 0 open |
+ // in the current front-most tab), unless |disposition| indicates the url |
+ // should be opened in a new tab or window. |
+ // |
+ // A NULL source indicates the current tab (callers should probably use |
+ // OpenURL() for these cases which does it for you). |
+ |
lazyboy
2014/05/12 23:00:20
Add continuing //
Fady Samuel
2014/05/13 18:59:02
Done.
|
+ // Returns the WebContents the URL is opened in, or NULL if the URL wasn't |
+ // opened immediately. |
+ virtual WebContents* OpenURLFromTab(WebContents* source, |
+ const OpenURLParams& params); |
+ |
+ // Notifies the delegate about the creation of a new WebContents. This |
+ // typically happens when popups are created. |
+ virtual void WebContentsCreated(WebContents* source_contents, |
+ int opener_render_frame_id, |
+ const base::string16& frame_name, |
+ const GURL& target_url, |
+ WebContents* new_contents) {} |
+ |
+ // Registers a |callback| with the delegate that the delegate would call when |
+ // it is about to be destroyed. |
+ typedef base::Callback<void(WebContents*)> DestructionCallback; |
+ virtual void RegisterDestructionCallback( |
+ const DestructionCallback& callback) {} |
}; |
} // namespace content |