diff --git a/browser/ui/message_box.h b/browser/ui/message_box.h index dfe7198ba67..a538eea9b7f 100644 --- a/browser/ui/message_box.h +++ b/browser/ui/message_box.h @@ -8,6 +8,8 @@ #include #include +#include "base/callback_forward.h" + namespace atom { class NativeWindow; @@ -18,6 +20,8 @@ enum MessageBoxType { MESSAGE_BOX_TYPE_WARNING }; +typedef base::Callback MessageBoxCallback; + int ShowMessageBox(NativeWindow* parent_window, MessageBoxType type, const std::vector& buttons, @@ -25,6 +29,14 @@ int ShowMessageBox(NativeWindow* parent_window, const std::string& message, const std::string& detail); +void ShowMessageBox(NativeWindow* parent_window, + MessageBoxType type, + const std::vector& buttons, + const std::string& title, + const std::string& message, + const std::string& detail, + const MessageBoxCallback& callback); + } // namespace atom #endif // BROWSER_UI_MESSAGE_BOX_H_ diff --git a/browser/ui/message_box_mac.mm b/browser/ui/message_box_mac.mm index c6fb14555b0..8da5a4002fe 100644 --- a/browser/ui/message_box_mac.mm +++ b/browser/ui/message_box_mac.mm @@ -6,6 +6,7 @@ #import +#include "base/callback.h" #include "base/strings/sys_string_conversions.h" #include "browser/native_window.h" #include "browser/ui/nsalert_synchronous_sheet_mac.h" @@ -46,4 +47,15 @@ int ShowMessageBox(NativeWindow* parent_window, return [alert runModal]; } +void ShowMessageBox(NativeWindow* parent_window, + MessageBoxType type, + const std::vector& buttons, + const std::string& title, + const std::string& message, + const std::string& detail, + const MessageBoxCallback& callback) { + callback.Run(ShowMessageBox( + parent_window, type, buttons, title, message, detail)); +} + } // namespace atom diff --git a/browser/ui/message_box_win.cc b/browser/ui/message_box_win.cc index 52181e40780..99da31fabd8 100644 --- a/browser/ui/message_box_win.cc +++ b/browser/ui/message_box_win.cc @@ -4,6 +4,7 @@ #include "browser/ui/message_box.h" +#include "base/callback.h" #include "base/message_loop.h" #include "base/run_loop.h" #include "base/string_util.h" @@ -253,4 +254,15 @@ int ShowMessageBox(NativeWindow* parent_window, } } +void ShowMessageBox(NativeWindow* parent_window, + MessageBoxType type, + const std::vector& buttons, + const std::string& title, + const std::string& message, + const std::string& detail, + const MessageBoxCallback& callback) { + callback.Run(ShowMessageBox( + parent_window, type, buttons, title, message, detail)); +} + } // namespace atom