summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_host.h
diff options
context:
space:
mode:
authorpam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-06 04:08:54 +0000
committerpam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-06 04:08:54 +0000
commitbeb440cea06ba40683a755d14dd5dbf9d11baadf (patch)
tree79b805ed76621b38c5682033a3fbab9dc0a6f8a8 /chrome/browser/extensions/extension_host.h
parentda3b971ec3cababd149b5cd6a7a9d021bfdd96b4 (diff)
downloadchromium_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.h14
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;