diff options
author | pam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-05 18:22:35 +0000 |
---|---|---|
committer | pam@chromium.org <pam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-05 18:22:35 +0000 |
commit | e1d0303ebea1caddb079d71b63f39463d3944bad (patch) | |
tree | 9c9c1abb6d608889aa20d14c34036eb99ffe2c58 /chrome/browser/app_modal_dialog.h | |
parent | d6b401bed87fa50d1fc0993c04ee7ee992dd6627 (diff) | |
download | chromium_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.h | 17 |
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_; |