| 
									
										
										
										
											2014-10-31 11:17:05 -07:00
										 |  |  | // Copyright (c) 2013 GitHub, Inc.
 | 
					
						
							| 
									
										
										
										
											2014-04-25 17:49:37 +08:00
										 |  |  | // Use of this source code is governed by the MIT license that can be
 | 
					
						
							| 
									
										
										
										
											2013-04-30 23:56:50 +08:00
										 |  |  | // found in the LICENSE file.
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-04 12:19:40 -08:00
										 |  |  | #ifndef SHELL_BROWSER_ELECTRON_JAVASCRIPT_DIALOG_MANAGER_H_
 | 
					
						
							|  |  |  | #define SHELL_BROWSER_ELECTRON_JAVASCRIPT_DIALOG_MANAGER_H_
 | 
					
						
							| 
									
										
										
										
											2013-04-30 23:56:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-10 17:07:56 +11:00
										 |  |  | #include <map>
 | 
					
						
							| 
									
										
										
										
											2018-01-24 20:45:21 -06:00
										 |  |  | #include <string>
 | 
					
						
							| 
									
										
										
										
											2014-03-16 09:13:06 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-30 23:56:50 +08:00
										 |  |  | #include "content/public/browser/javascript_dialog_manager.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-19 14:23:04 -07:00
										 |  |  | namespace electron { | 
					
						
							| 
									
										
										
										
											2013-04-30 23:56:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-27 19:28:48 -05:00
										 |  |  | namespace api { | 
					
						
							|  |  |  | class WebContents; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-04 12:19:40 -08:00
										 |  |  | class ElectronJavaScriptDialogManager | 
					
						
							|  |  |  |     : public content::JavaScriptDialogManager { | 
					
						
							| 
									
										
										
										
											2013-04-30 23:56:50 +08:00
										 |  |  |  public: | 
					
						
							| 
									
										
										
										
											2020-07-16 16:16:05 -07:00
										 |  |  |   ElectronJavaScriptDialogManager(); | 
					
						
							| 
									
										
										
										
											2020-02-04 12:19:40 -08:00
										 |  |  |   ~ElectronJavaScriptDialogManager() override; | 
					
						
							| 
									
										
										
										
											2017-04-27 19:28:48 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-30 23:56:50 +08:00
										 |  |  |   // content::JavaScriptDialogManager implementations.
 | 
					
						
							| 
									
										
										
										
											2018-04-17 21:44:10 -04:00
										 |  |  |   void RunJavaScriptDialog(content::WebContents* web_contents, | 
					
						
							| 
									
										
										
										
											2018-04-12 13:18:34 +05:30
										 |  |  |                            content::RenderFrameHost* rfh, | 
					
						
							| 
									
										
										
										
											2018-04-17 21:44:10 -04:00
										 |  |  |                            content::JavaScriptDialogType dialog_type, | 
					
						
							|  |  |  |                            const base::string16& message_text, | 
					
						
							|  |  |  |                            const base::string16& default_prompt_text, | 
					
						
							|  |  |  |                            DialogClosedCallback callback, | 
					
						
							|  |  |  |                            bool* did_suppress_message) override; | 
					
						
							|  |  |  |   void RunBeforeUnloadDialog(content::WebContents* web_contents, | 
					
						
							| 
									
										
										
										
											2018-04-12 13:18:34 +05:30
										 |  |  |                              content::RenderFrameHost* rfh, | 
					
						
							| 
									
										
										
										
											2018-04-17 21:44:10 -04:00
										 |  |  |                              bool is_reload, | 
					
						
							|  |  |  |                              DialogClosedCallback callback) override; | 
					
						
							| 
									
										
										
										
											2017-01-24 12:18:56 +09:00
										 |  |  |   void CancelDialogs(content::WebContents* web_contents, | 
					
						
							|  |  |  |                      bool reset_state) override; | 
					
						
							| 
									
										
										
										
											2017-01-04 16:46:50 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |  private: | 
					
						
							| 
									
										
										
										
											2018-03-12 17:27:43 +09:00
										 |  |  |   void OnMessageBoxCallback(DialogClosedCallback callback, | 
					
						
							| 
									
										
										
										
											2018-03-06 11:35:53 +09:00
										 |  |  |                             const std::string& origin, | 
					
						
							|  |  |  |                             int code, | 
					
						
							|  |  |  |                             bool checkbox_checked); | 
					
						
							| 
									
										
										
										
											2018-03-06 11:31:56 +09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-10 17:07:56 +11:00
										 |  |  |   std::map<std::string, int> origin_counts_; | 
					
						
							| 
									
										
										
										
											2013-04-30 23:56:50 +08:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-19 14:23:04 -07:00
										 |  |  | }  // namespace electron
 | 
					
						
							| 
									
										
										
										
											2013-04-30 23:56:50 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-04 12:19:40 -08:00
										 |  |  | #endif  // SHELL_BROWSER_ELECTRON_JAVASCRIPT_DIALOG_MANAGER_H_
 |