| 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 58f6fb877b0f7fb5d943702b6ffb9d8fefd6a879..cf552cfb5b986b79860394600774ee91a7ffffab 100644
|
| --- a/content/public/browser/browser_plugin_guest_delegate.h
|
| +++ b/content/public/browser/browser_plugin_guest_delegate.h
|
| @@ -10,9 +10,9 @@
|
| #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 "third_party/skia/include/core/SkColor.h"
|
| +#include "ui/base/window_open_disposition.h"
|
| #include "ui/gfx/geometry/rect.h"
|
| #include "ui/gfx/size.h"
|
| #include "url/gurl.h"
|
| @@ -26,6 +26,7 @@ struct ColorSuggestion;
|
| struct ContextMenuParams;
|
| struct FileChooserParams;
|
| struct NativeWebKeyboardEvent;
|
| +struct OpenURLParams;
|
|
|
| // Objects implement this interface to get notified about changes in the guest
|
| // WebContents and to provide necessary functionality.
|
| @@ -34,6 +35,8 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate {
|
| virtual ~BrowserPluginGuestDelegate() {}
|
|
|
| // Add a message to the console.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual void AddMessageToConsole(int32 level,
|
| const base::string16& message,
|
| int32 line_no,
|
| @@ -41,19 +44,18 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate {
|
|
|
| // Request the delegate to close this guest, and do whatever cleanup it needs
|
| // to do.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual void Close() {}
|
|
|
| // 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.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual void GuestProcessGone(base::TerminationStatus status) {}
|
|
|
| // Informs the delegate that the embedder has been destroyed.
|
| @@ -61,12 +63,16 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate {
|
|
|
| // Informs the delegate of a reply to the find request specified by
|
| // |request_id|.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual void FindReply(int request_id,
|
| int number_of_matches,
|
| const gfx::Rect& selection_rect,
|
| int active_match_ordinal,
|
| bool final_update) {}
|
|
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual void HandleKeyboardEvent(const NativeWebKeyboardEvent& event) {}
|
|
|
| // Requests setting the zoom level to the provided |zoom_level|.
|
| @@ -74,47 +80,22 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate {
|
|
|
| virtual bool IsDragAndDropEnabled();
|
|
|
| - // 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).
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual void LoadProgressed(double progress) {}
|
|
|
| // Notification that the guest is no longer hung.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual void RendererResponsive() {}
|
|
|
| // Notification that the guest is hung.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| 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) {}
|
| @@ -124,12 +105,16 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate {
|
| // request is denied, a call should be made to |callback| with an empty list
|
| // of devices. |request| has the details of the request (e.g. which of audio
|
| // and/or video devices are requested, and lists of available devices).
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual void RequestMediaAccessPermission(
|
| const MediaStreamRequest& request,
|
| const MediaResponseCallback& callback);
|
|
|
| // Asks the delegate if the given guest can download.
|
| // Invoking the |callback| synchronously is OK.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual void CanDownload(const std::string& request_method,
|
| const GURL& url,
|
| const base::Callback<void(bool)>& callback);
|
| @@ -143,23 +128,83 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate {
|
|
|
| // Returns a pointer to a service to manage JavaScript dialogs. May return
|
| // NULL in which case dialogs aren't shown.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual JavaScriptDialogManager* GetJavaScriptDialogManager();
|
|
|
| // Called when color chooser should open. Returns the opened color chooser.
|
| // Returns NULL if we failed to open the color chooser (e.g. when there is a
|
| // ColorChooserDialog already open on Windows). Ownership of the returned
|
| // pointer is transferred to the caller.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual ColorChooser* OpenColorChooser(
|
| WebContents* web_contents,
|
| SkColor color,
|
| const std::vector<ColorSuggestion>& suggestions);
|
|
|
| // Called when a file selection is to be done.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| virtual void RunFileChooser(WebContents* web_contents,
|
| const FileChooserParams& params) {}
|
|
|
| // Returns true if the context menu operation was handled by the delegate.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| 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|.
|
| + // 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.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| + 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).
|
| + //
|
| + // Returns the WebContents the URL is opened in, or NULL if the URL wasn't
|
| + // opened immediately.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| + 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.
|
| + // TODO(fsamuel): Delete this once BrowserPluginGuest is no longer a
|
| + // WebContentsDelegate.
|
| + 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
|
|
|