diff options
author | pam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-06 04:08:54 +0000 |
---|---|---|
committer | pam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-06 04:08:54 +0000 |
commit | beb440cea06ba40683a755d14dd5dbf9d11baadf (patch) | |
tree | 79b805ed76621b38c5682033a3fbab9dc0a6f8a8 /chrome/browser/extensions/extension_host.h | |
parent | da3b971ec3cababd149b5cd6a7a9d021bfdd96b4 (diff) | |
download | chromium_src-beb440cea06ba40683a755d14dd5dbf9d11baadf.zip chromium_src-beb440cea06ba40683a755d14dd5dbf9d11baadf.tar.gz chromium_src-beb440cea06ba40683a755d14dd5dbf9d11baadf.tar.bz2 |
Implement window.alert() and its cousins for extensions.
Second try, now with fixed observer.
BUG=12126
TEST=put a window.prompt() in a background page, a browser action, and a page action.
Make sure it gets the result back correctly. Also make sure it still works when
called from a web page.
Review URL: http://codereview.chromium.org/373006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31204 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_host.h')
-rw-r--r-- | chrome/browser/extensions/extension_host.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extension_host.h b/chrome/browser/extensions/extension_host.h index bf66579..22279a1 100644 --- a/chrome/browser/extensions/extension_host.h +++ b/chrome/browser/extensions/extension_host.h @@ -9,6 +9,7 @@ #include "base/scoped_ptr.h" #include "chrome/browser/extensions/extension_function_dispatcher.h" +#include "chrome/browser/jsmessage_box_client.h" #include "chrome/browser/renderer_host/render_view_host_delegate.h" #include "chrome/browser/tab_contents/render_view_host_delegate_helper.h" #if defined(TOOLKIT_VIEWS) @@ -45,7 +46,8 @@ class ExtensionHost : // NOLINT public RenderViewHostDelegate, public RenderViewHostDelegate::View, public ExtensionFunctionDispatcher::Delegate, - public NotificationObserver { + public NotificationObserver, + public JavaScriptMessageBoxClient { public: class ProcessCreationQueue; @@ -174,6 +176,16 @@ class ExtensionHost : // NOLINT const NotificationSource& source, const NotificationDetails& details); + // JavaScriptMessageBoxClient + virtual std::wstring GetMessageBoxTitle(const GURL& frame_url, + bool is_alert); + virtual gfx::NativeWindow GetMessageBoxRootWindow(); + virtual void OnMessageBoxClosed(IPC::Message* reply_msg, + bool success, + const std::wstring& prompt); + virtual void SetSuppressMessageBoxes(bool suppress_message_boxes) {} + virtual TabContents* AsTabContents() { return NULL; } + private: friend class ProcessCreationQueue; |