| Index: content/browser/browser_plugin/browser_plugin_guest.h
|
| diff --git a/content/browser/browser_plugin/browser_plugin_guest.h b/content/browser/browser_plugin/browser_plugin_guest.h
|
| index 38275fdd02cd3da3f8e684eca7fa2992779ffb63..0a36571526448395657ec607a644e3b080473a9c 100644
|
| --- a/content/browser/browser_plugin/browser_plugin_guest.h
|
| +++ b/content/browser/browser_plugin/browser_plugin_guest.h
|
| @@ -33,6 +33,7 @@
|
| #include "content/common/edit_command.h"
|
| #include "content/port/common/input_event_ack_state.h"
|
| #include "content/public/browser/browser_plugin_guest_delegate.h"
|
| +#include "content/public/browser/javascript_dialog_manager.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
| #include "content/public/browser/render_view_host_observer.h"
|
| @@ -83,7 +84,8 @@ struct MediaStreamRequest;
|
| // CreateNewWindow. The newly created guest will live in the same partition,
|
| // which means it can share storage and can script this guest.
|
| class CONTENT_EXPORT BrowserPluginGuest
|
| - : public NotificationObserver,
|
| + : public JavaScriptDialogManager,
|
| + public NotificationObserver,
|
| public WebContentsDelegate,
|
| public WebContentsObserver,
|
| public base::SupportsWeakPtr<BrowserPluginGuest> {
|
| @@ -161,7 +163,6 @@ class CONTENT_EXPORT BrowserPluginGuest
|
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
|
|
|
| // WebContentsDelegate implementation.
|
| -
|
| virtual bool AddMessageToConsole(WebContents* source,
|
| int32 level,
|
| const string16& message,
|
| @@ -181,6 +182,7 @@ class CONTENT_EXPORT BrowserPluginGuest
|
| const std::string& request_method,
|
| const base::Callback<void(bool)>& callback) OVERRIDE;
|
| virtual void CloseContents(WebContents* source) OVERRIDE;
|
| + virtual JavaScriptDialogManager* GetJavaScriptDialogManager() OVERRIDE;
|
| virtual bool HandleContextMenu(const ContextMenuParams& params) OVERRIDE;
|
| virtual void HandleKeyboardEvent(
|
| WebContents* source,
|
| @@ -202,6 +204,26 @@ class CONTENT_EXPORT BrowserPluginGuest
|
| const MediaStreamRequest& request,
|
| const MediaResponseCallback& callback) OVERRIDE;
|
|
|
| + // JavaScriptDialogManager implementation.
|
| + virtual void RunJavaScriptDialog(
|
| + WebContents* web_contents,
|
| + const GURL& origin_url,
|
| + const std::string& accept_lang,
|
| + JavaScriptMessageType javascript_message_type,
|
| + const string16& message_text,
|
| + const string16& default_prompt_text,
|
| + const DialogClosedCallback& callback,
|
| + bool* did_suppress_message) OVERRIDE;
|
| + virtual void RunBeforeUnloadDialog(
|
| + WebContents* web_contents,
|
| + const string16& message_text,
|
| + bool is_reload,
|
| + const DialogClosedCallback& callback) OVERRIDE;
|
| + virtual bool HandleJavaScriptDialog(WebContents* web_contents,
|
| + bool accept,
|
| + const string16* prompt_override) OVERRIDE;
|
| + virtual void ResetJavaScriptState(WebContents* web_contents) OVERRIDE;
|
| +
|
| // Exposes the protected web_contents() from WebContentsObserver.
|
| WebContentsImpl* GetWebContents();
|
|
|
| @@ -264,6 +286,7 @@ class CONTENT_EXPORT BrowserPluginGuest
|
|
|
| class DownloadRequest;
|
| class GeolocationRequest;
|
| + class JavaScriptDialogRequest;
|
| // MediaRequest because of naming conflicts with MediaStreamRequest.
|
| class MediaRequest;
|
| class NewWindowRequest;
|
| @@ -307,7 +330,8 @@ class CONTENT_EXPORT BrowserPluginGuest
|
| // chance to decide.
|
| void OnRespondPermission(int instance_id,
|
| int request_id,
|
| - bool should_allow);
|
| + bool should_allow,
|
| + const std::string& user_input);
|
| // Handles drag events from the embedder.
|
| // When dragging, the drag events go to the embedder first, and if the drag
|
| // happens on the browser plugin, then the plugin sends a corresponding
|
|
|