Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: components/web_modal/single_web_contents_dialog_manager.h

Issue 985133002: Remove NativeWebContentsModalDialog and NativePopup typedefs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@extension-popup
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_WEB_MODAL_SINGLE_WEB_CONTENTS_DIALOG_MANAGER_H_ 5 #ifndef COMPONENTS_WEB_MODAL_SINGLE_WEB_CONTENTS_DIALOG_MANAGER_H_
6 #define COMPONENTS_WEB_MODAL_SINGLE_WEB_CONTENTS_DIALOG_MANAGER_H_ 6 #define COMPONENTS_WEB_MODAL_SINGLE_WEB_CONTENTS_DIALOG_MANAGER_H_
7 7
8 #include "components/web_modal/native_web_contents_modal_dialog.h" 8 #include "ui/gfx/native_widget_types.h"
9 9
10 namespace content { 10 namespace content {
11 class WebContents; 11 class WebContents;
12 } // namespace content 12 } // namespace content
13 13
14 namespace web_modal { 14 namespace web_modal {
15 15
16 class WebContentsModalDialogHost; 16 class WebContentsModalDialogHost;
17 17
18 // Interface from SingleWebContentsDialogManager to 18 // Interface from SingleWebContentsDialogManager to
19 // WebContentsModalDialogManager. 19 // WebContentsModalDialogManager.
20 class SingleWebContentsDialogManagerDelegate { 20 class SingleWebContentsDialogManagerDelegate {
21 public: 21 public:
22 SingleWebContentsDialogManagerDelegate() {} 22 SingleWebContentsDialogManagerDelegate() {}
23 virtual ~SingleWebContentsDialogManagerDelegate() {} 23 virtual ~SingleWebContentsDialogManagerDelegate() {}
24 24
25 virtual content::WebContents* GetWebContents() const = 0; 25 virtual content::WebContents* GetWebContents() const = 0;
26 26
27 // Notify the delegate that the dialog is closing. The native 27 // Notify the delegate that the dialog is closing. The native
28 // manager will be deleted before the end of this call. 28 // manager will be deleted before the end of this call.
29 virtual void WillClose(NativeWebContentsModalDialog dialog) = 0; 29 virtual void WillClose(gfx::NativeWindow dialog) = 0;
30 30
31 private: 31 private:
32 DISALLOW_COPY_AND_ASSIGN(SingleWebContentsDialogManagerDelegate); 32 DISALLOW_COPY_AND_ASSIGN(SingleWebContentsDialogManagerDelegate);
33 }; 33 };
34 34
35 // Provides an interface for platform-specific UI implementation for the web 35 // Provides an interface for platform-specific UI implementation for the web
36 // contents modal dialog. Each object will manage a single 36 // contents modal dialog. Each object will manage a single dialog window
37 // NativeWebContentsModalDialog during its lifecycle. 37 // during its lifecycle.
38 // 38 //
39 // Implementation classes should accept a NativeWebContentsModalDialog at 39 // Implementation classes should accept a dialog window at construction time
40 // construction time and register to be notified when the dialog is closing, 40 // and register to be notified when the dialog is closing, so that it can
41 // so that it can notify its delegate (WillClose method). 41 // notify its delegate (WillClose method).
42 class SingleWebContentsDialogManager { 42 class SingleWebContentsDialogManager {
43 public: 43 public:
44 virtual ~SingleWebContentsDialogManager() {} 44 virtual ~SingleWebContentsDialogManager() {}
45 45
46 // Makes the web contents modal dialog visible. Only one web contents modal 46 // Makes the web contents modal dialog visible. Only one web contents modal
47 // dialog is shown at a time per tab. 47 // dialog is shown at a time per tab.
48 virtual void Show() = 0; 48 virtual void Show() = 0;
49 49
50 // Hides the web contents modal dialog without closing it. 50 // Hides the web contents modal dialog without closing it.
51 virtual void Hide() = 0; 51 virtual void Hide() = 0;
52 52
53 // Closes the web contents modal dialog. 53 // Closes the web contents modal dialog.
54 // If this method causes a WillClose() call to the delegate, the manager 54 // If this method causes a WillClose() call to the delegate, the manager
55 // will be deleted at the close of that invocation. 55 // will be deleted at the close of that invocation.
56 virtual void Close() = 0; 56 virtual void Close() = 0;
57 57
58 // Sets focus on the web contents modal dialog. 58 // Sets focus on the web contents modal dialog.
59 virtual void Focus() = 0; 59 virtual void Focus() = 0;
60 60
61 // Runs a pulse animation for the web contents modal dialog. 61 // Runs a pulse animation for the web contents modal dialog.
62 virtual void Pulse() = 0; 62 virtual void Pulse() = 0;
63 63
64 // Called when the host view for the dialog has changed. 64 // Called when the host view for the dialog has changed.
65 virtual void HostChanged(WebContentsModalDialogHost* new_host) = 0; 65 virtual void HostChanged(WebContentsModalDialogHost* new_host) = 0;
66 66
67 // Return the dialog under management by this object. 67 // Return the dialog under management by this object.
68 virtual NativeWebContentsModalDialog dialog() = 0; 68 virtual gfx::NativeWindow dialog() = 0;
69 69
70 protected: 70 protected:
71 SingleWebContentsDialogManager() {} 71 SingleWebContentsDialogManager() {}
72 72
73 private: 73 private:
74 DISALLOW_COPY_AND_ASSIGN(SingleWebContentsDialogManager); 74 DISALLOW_COPY_AND_ASSIGN(SingleWebContentsDialogManager);
75 }; 75 };
76 76
77 } // namespace web_modal 77 } // namespace web_modal
78 78
79 #endif // COMPONENTS_WEB_MODAL_SINGLE_WEB_CONTENTS_DIALOG_MANAGER_H_ 79 #endif // COMPONENTS_WEB_MODAL_SINGLE_WEB_CONTENTS_DIALOG_MANAGER_H_
OLDNEW
« no previous file with comments | « components/web_modal/single_popup_manager.h ('k') | components/web_modal/web_contents_modal_dialog_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698