don't show osr dummy window when dialog is shown on mac

This commit is contained in:
Heilig Benedek 2017-09-13 01:26:31 +02:00 committed by Cheng Zhao
parent 35dc6d03b9
commit 13b86598e8
3 changed files with 29 additions and 13 deletions

View file

@ -181,15 +181,22 @@ void ShowMessageBox(NativeWindow* parent_window,
NSAlert* alert =
CreateNSAlert(parent_window, type, buttons, default_id, cancel_id, title,
message, detail, checkbox_label, checkbox_checked, icon);
ModalDelegate* delegate = [[ModalDelegate alloc] initWithCallback:callback
andAlert:alert
callEndModal:false];
NSWindow* window = parent_window ? parent_window->GetNativeWindow() : nil;
[alert beginSheetModalForWindow:window
modalDelegate:delegate
didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:)
contextInfo:nil];
// Use runModal for synchronous alert without parent, since we don't have a
// window to wait for.
if (!parent_window || !parent_window->GetNativeWindow()) {
[[alert autorelease] runModal];
} else {
ModalDelegate* delegate = [[ModalDelegate alloc] initWithCallback:callback
andAlert:alert
callEndModal:false];
NSWindow* window = parent_window ? parent_window->GetNativeWindow() : nil;
[alert beginSheetModalForWindow:window
modalDelegate:delegate
didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:)
contextInfo:nil];
}
}
void ShowErrorBox(const base::string16& title, const base::string16& content) {