OLD | NEW |
| (Empty) |
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. | |
4 | |
5 #ifndef CONTENT_SHELL_SHELL_JAVASCRIPT_DIALOG_H_ | |
6 #define CONTENT_SHELL_SHELL_JAVASCRIPT_DIALOG_H_ | |
7 | |
8 #include "content/public/browser/javascript_dialog_manager.h" | |
9 | |
10 #if defined(TOOLKIT_GTK) | |
11 #include "ui/base/gtk/gtk_signal.h" | |
12 #endif | |
13 | |
14 #if defined(OS_MACOSX) | |
15 #if __OBJC__ | |
16 @class ShellJavaScriptDialogHelper; | |
17 #else | |
18 class ShellJavaScriptDialogHelper; | |
19 #endif // __OBJC__ | |
20 #endif // defined(OS_MACOSX) | |
21 | |
22 namespace content { | |
23 | |
24 class ShellJavaScriptDialogManager; | |
25 | |
26 class ShellJavaScriptDialog { | |
27 public: | |
28 ShellJavaScriptDialog( | |
29 ShellJavaScriptDialogManager* manager, | |
30 gfx::NativeWindow parent_window, | |
31 JavaScriptMessageType message_type, | |
32 const string16& message_text, | |
33 const string16& default_prompt_text, | |
34 const JavaScriptDialogManager::DialogClosedCallback& callback); | |
35 ~ShellJavaScriptDialog(); | |
36 | |
37 // Called to cancel a dialog mid-flight. | |
38 void Cancel(); | |
39 | |
40 private: | |
41 ShellJavaScriptDialogManager* manager_; | |
42 JavaScriptDialogManager::DialogClosedCallback callback_; | |
43 | |
44 #if defined(OS_MACOSX) | |
45 ShellJavaScriptDialogHelper* helper_; // owned | |
46 #elif defined(OS_WIN) | |
47 JavaScriptMessageType message_type_; | |
48 HWND dialog_win_; | |
49 string16 message_text_; | |
50 string16 default_prompt_text_; | |
51 static INT_PTR CALLBACK DialogProc(HWND dialog, UINT message, WPARAM wparam, | |
52 LPARAM lparam); | |
53 #elif defined(TOOLKIT_GTK) | |
54 GtkWidget* gtk_dialog_; | |
55 gfx::NativeWindow parent_window_; | |
56 CHROMEGTK_CALLBACK_1(ShellJavaScriptDialog, void, OnResponse, int); | |
57 #endif | |
58 | |
59 DISALLOW_COPY_AND_ASSIGN(ShellJavaScriptDialog); | |
60 }; | |
61 | |
62 } // namespace content | |
63 | |
64 #endif // CONTENT_SHELL_SHELL_JAVASCRIPT_DIALOG_H_ | |
OLD | NEW |