Index: chrome/browser/ui/views/simple_message_box_views.cc |
diff --git a/chrome/browser/ui/views/simple_message_box_views.cc b/chrome/browser/ui/views/simple_message_box_views.cc |
index 27e7d1aa194cd4e5a0c7942ec37639f011db9441..29d9e6d4848cc7376057960cd0273f955977f63a 100644 |
--- a/chrome/browser/ui/views/simple_message_box_views.cc |
+++ b/chrome/browser/ui/views/simple_message_box_views.cc |
@@ -33,6 +33,7 @@ class SimpleMessageBoxViews : public views::DialogDelegate { |
MessageBoxType type, |
const base::string16& yes_text, |
const base::string16& no_text, |
+ bool is_system_modal, |
MessageBoxResult* result); |
virtual ~SimpleMessageBoxViews(); |
@@ -61,6 +62,7 @@ class SimpleMessageBoxViews : public views::DialogDelegate { |
base::string16 yes_text_; |
base::string16 no_text_; |
MessageBoxResult* result_; |
+ bool is_system_modal_; |
views::MessageBoxView* message_box_view_; |
DISALLOW_COPY_AND_ASSIGN(SimpleMessageBoxViews); |
@@ -74,12 +76,14 @@ SimpleMessageBoxViews::SimpleMessageBoxViews(const base::string16& title, |
MessageBoxType type, |
const base::string16& yes_text, |
const base::string16& no_text, |
+ bool is_system_modal, |
MessageBoxResult* result) |
: window_title_(title), |
type_(type), |
yes_text_(yes_text), |
no_text_(no_text), |
result_(result), |
+ is_system_modal_(is_system_modal), |
message_box_view_(new views::MessageBoxView( |
views::MessageBoxView::InitParams(message))) { |
CHECK(result_); |
@@ -142,7 +146,7 @@ void SimpleMessageBoxViews::DeleteDelegate() { |
} |
ui::ModalType SimpleMessageBoxViews::GetModalType() const { |
- return ui::MODAL_TYPE_WINDOW; |
+ return is_system_modal_ ? ui::MODAL_TYPE_SYSTEM : ui::MODAL_TYPE_WINDOW; |
} |
views::View* SimpleMessageBoxViews::GetContentsView() { |
@@ -209,7 +213,13 @@ MessageBoxResult ShowMessageBoxImpl(gfx::NativeWindow parent, |
MessageBoxResult result = MESSAGE_BOX_RESULT_NO; |
SimpleMessageBoxViews* dialog = new SimpleMessageBoxViews( |
- title, message, type, yes_text, no_text, &result); |
+ title, |
+ message, |
+ type, |
+ yes_text, |
+ no_text, |
+ parent == NULL, // is_system_modal |
+ &result); |
CreateBrowserModalDialogViews(dialog, parent)->Show(); |
// Use the widget's window itself so that the message loop exists when the |