diff options
author | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-07 20:18:28 +0000 |
---|---|---|
committer | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-07 20:18:28 +0000 |
commit | 0bfa713f7ae0bd154e7a0246413561de64d8c84d (patch) | |
tree | 1eb0198e7a91815be2a8cc7007b53b11e241e6fe /chrome/browser/app_modal_dialog_queue.cc | |
parent | 70771b35915b066928ac79c8a5ba4b950e4d74ec (diff) | |
download | chromium_src-0bfa713f7ae0bd154e7a0246413561de64d8c84d.zip chromium_src-0bfa713f7ae0bd154e7a0246413561de64d8c84d.tar.gz chromium_src-0bfa713f7ae0bd154e7a0246413561de64d8c84d.tar.bz2 |
Refactor AppModalDialogQueue and move JS Alert boxes into a MVC.
JavascriptMessageBoxHandler (handles alert, confirm, prompt, and onbeforeunload) was a views class. This change converts it into an MVC so we can port to linux/mac.
AppModalDialog is the model+controller, JavascriptMessageBoxDialog is the windows specific view.
The onbeforeunload dialog (JavascriptBeforeUnloadHandler) was a subclass of JavascriptMessageBoxHandler that had a different title and button text. I merged this class into JavascriptMessageBoxHandler by passing a bool to handle the custom button text.
Review URL: http://codereview.chromium.org/63033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13276 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/app_modal_dialog_queue.cc')
-rw-r--r-- | chrome/browser/app_modal_dialog_queue.cc | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/chrome/browser/app_modal_dialog_queue.cc b/chrome/browser/app_modal_dialog_queue.cc index c3888bd..e24a7b0 100644 --- a/chrome/browser/app_modal_dialog_queue.cc +++ b/chrome/browser/app_modal_dialog_queue.cc @@ -7,15 +7,14 @@ #include "chrome/browser/browser_list.h" // static -std::queue<views::AppModalDialogDelegate*>* +std::queue<AppModalDialog*>* AppModalDialogQueue::app_modal_dialog_queue_ = NULL; -views::AppModalDialogDelegate* AppModalDialogQueue::active_dialog_ = NULL; +AppModalDialog* AppModalDialogQueue::active_dialog_ = NULL; // static -void AppModalDialogQueue::AddDialog(views::AppModalDialogDelegate* dialog) { - DCHECK(dialog->IsModal()); +void AppModalDialogQueue::AddDialog(AppModalDialog* dialog) { if (!app_modal_dialog_queue_) { - app_modal_dialog_queue_ = new std::queue<views::AppModalDialogDelegate*>; + app_modal_dialog_queue_ = new std::queue<AppModalDialog*>; ShowModalDialog(dialog); } @@ -44,8 +43,7 @@ void AppModalDialogQueue::ActivateModalDialog() { } // static -void AppModalDialogQueue::ShowModalDialog( - views::AppModalDialogDelegate* dialog) { +void AppModalDialogQueue::ShowModalDialog(AppModalDialog* dialog) { // ShowModalDialog can wind up calling ShowNextDialog in some cases, // which will wind up calling this method recursively, so active_dialog_ // must be set first. |