summaryrefslogtreecommitdiffstats
path: root/chrome/browser/app_modal_dialog.h
diff options
context:
space:
mode:
authorpam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-05 18:22:35 +0000
committerpam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-05 18:22:35 +0000
commite1d0303ebea1caddb079d71b63f39463d3944bad (patch)
tree9c9c1abb6d608889aa20d14c34036eb99ffe2c58 /chrome/browser/app_modal_dialog.h
parentd6b401bed87fa50d1fc0993c04ee7ee992dd6627 (diff)
downloadchromium_src-e1d0303ebea1caddb079d71b63f39463d3944bad.zip
chromium_src-e1d0303ebea1caddb079d71b63f39463d3944bad.tar.gz
chromium_src-e1d0303ebea1caddb079d71b63f39463d3944bad.tar.bz2
Implement window.alert() and its cousins for extensions.
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/341089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31110 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/app_modal_dialog.h')
-rw-r--r--chrome/browser/app_modal_dialog.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/chrome/browser/app_modal_dialog.h b/chrome/browser/app_modal_dialog.h
index 8d44d64..8263565 100644
--- a/chrome/browser/app_modal_dialog.h
+++ b/chrome/browser/app_modal_dialog.h
@@ -21,7 +21,7 @@ typedef GtkWidget* NativeDialog;
typedef void* NativeDialog;
#endif
-class TabContents;
+class JavaScriptMessageBoxClient;
namespace IPC {
class Message;
}
@@ -33,7 +33,7 @@ class AppModalDialog : public NotificationObserver {
public:
// A union of data necessary to determine the type of message box to
// show. |dialog_flags| is a MessageBox flag.
- AppModalDialog(TabContents* tab_contents,
+ AppModalDialog(JavaScriptMessageBoxClient* client,
const std::wstring& title,
int dialog_flags,
const std::wstring& message_text,
@@ -63,8 +63,8 @@ class AppModalDialog : public NotificationObserver {
/////////////////////////////////////////////////////////////////////////////
// Getters so NativeDialog can get information about the message box.
- TabContents* tab_contents() {
- return tab_contents_;
+ JavaScriptMessageBoxClient* client() {
+ return client_;
}
int dialog_flags() {
return dialog_flags_;
@@ -103,8 +103,15 @@ class AppModalDialog : public NotificationObserver {
// A reference to the platform native dialog box.
NativeDialog dialog_;
+ // An implementation of the client interface to provide supporting methods
+ // and receive results.
+ JavaScriptMessageBoxClient* client_;
+
+ // True if the dialog should no longer be shown, e.g. because the underlying
+ // tab navigated away while the dialog was queued.
+ bool skip_this_dialog_;
+
// Information about the message box is held in the following variables.
- TabContents* tab_contents_;
std::wstring title_;
int dialog_flags_;
std::wstring message_text_;