1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_SHELL_SHELL_JAVASCRIPT_DIALOG_H_
6 #define CONTENT_SHELL_SHELL_JAVASCRIPT_DIALOG_H_
8 #include "content/public/browser/javascript_dialogs.h"
10 #if defined(TOOLKIT_GTK)
11 #include "ui/base/gtk/gtk_signal.h"
14 #if defined(OS_MACOSX)
16 @
class ShellJavaScriptDialogHelper
;
18 class ShellJavaScriptDialogHelper
;
20 #endif // defined(OS_MACOSX)
24 class ShellJavaScriptDialogCreator
;
26 class ShellJavaScriptDialog
{
28 ShellJavaScriptDialog(
29 ShellJavaScriptDialogCreator
* creator
,
30 gfx::NativeWindow parent_window
,
31 JavaScriptMessageType message_type
,
32 const string16
& message_text
,
33 const string16
& default_prompt_text
,
34 const JavaScriptDialogCreator::DialogClosedCallback
& callback
);
35 ~ShellJavaScriptDialog();
37 // Called to cancel a dialog mid-flight.
41 ShellJavaScriptDialogCreator
* creator_
;
42 JavaScriptDialogCreator::DialogClosedCallback callback_
;
44 #if defined(OS_MACOSX)
45 ShellJavaScriptDialogHelper
* helper_
; // owned
47 JavaScriptMessageType message_type_
;
49 string16 message_text_
;
50 string16 default_prompt_text_
;
51 static INT_PTR CALLBACK
DialogProc(HWND dialog
, UINT message
, WPARAM wparam
,
53 #elif defined(TOOLKIT_GTK)
54 GtkWidget
* gtk_dialog_
;
55 gfx::NativeWindow parent_window_
;
56 CHROMEGTK_CALLBACK_1(ShellJavaScriptDialog
, void, OnResponse
, int);
59 DISALLOW_COPY_AND_ASSIGN(ShellJavaScriptDialog
);
62 } // namespace content
64 #endif // CONTENT_SHELL_SHELL_JAVASCRIPT_DIALOG_H_