// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/ui/simple_message_box.h" #include "components/startup_metric_utils/startup_metric_utils.h" #include "ui/base/win/message_box_win.h" #include "ui/gfx/win/hwnd_util.h" namespace chrome { MessageBoxResult NativeShowMessageBox(HWND parent, const base::string16& title, const base::string16& message, MessageBoxType type) { UINT flags = MB_SETFOREGROUND; if (type == MESSAGE_BOX_TYPE_QUESTION) { flags |= MB_YESNO; } else if (type == MESSAGE_BOX_TYPE_OK_CANCEL) { flags |= MB_OKCANCEL; } else { flags |= MB_OK; } flags |= ((type == MESSAGE_BOX_TYPE_INFORMATION) ? MB_ICONINFORMATION : MB_ICONWARNING); int result = ui::MessageBox(parent, message, title, flags); return (result == IDYES || result == IDOK) ? MESSAGE_BOX_RESULT_YES : MESSAGE_BOX_RESULT_NO; } #if !defined(USE_AURA) MessageBoxResult ShowMessageBox(gfx::NativeWindow parent, const base::string16& title, const base::string16& message, MessageBoxType type) { startup_metric_utils::SetNonBrowserUIDisplayed(); if (!parent) parent = gfx::GetWindowToParentTo(true); return NativeShowMessageBox(parent, title, message, type); } #endif } // namespace chrome