Only prevent unload the first time it is attempted
This commit is contained in:
		
					parent
					
						
							
								916920844e
							
						
					
				
			
			
				commit
				
					
						cce6be1900
					
				
			
		
					 3 changed files with 19 additions and 3 deletions
				
			
		
							
								
								
									
										7
									
								
								spec/fixtures/api/beforeunload-false.html
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								spec/fixtures/api/beforeunload-false.html
									
										
									
									
										vendored
									
									
								
							|  | @ -1,11 +1,16 @@ | |||
| <html> | ||||
| <body> | ||||
| <script type="text/javascript" charset="utf-8"> | ||||
|   // Only prevent unload on the first window close | ||||
|   var unloadPrevented = false; | ||||
|   window.onbeforeunload = function() { | ||||
|     setTimeout(function() { | ||||
|       require('electron').remote.getCurrentWindow().emit('onbeforeunload'); | ||||
|     }, 0); | ||||
|     return false; | ||||
|     if (!unloadPrevented) { | ||||
|       unloadPrevented = true; | ||||
|       return false; | ||||
|     } | ||||
|   } | ||||
| </script> | ||||
| </body> | ||||
|  |  | |||
|  | @ -1,11 +1,17 @@ | |||
| <html> | ||||
| <body> | ||||
| <script type="text/javascript" charset="utf-8"> | ||||
|   // Only prevent unload on the first window close | ||||
|   var unloadPrevented = false; | ||||
|   window.onbeforeunload = function() { | ||||
|     setTimeout(function() { | ||||
|       require('electron').remote.getCurrentWindow().emit('onbeforeunload'); | ||||
|     }, 0); | ||||
|     return ''; | ||||
| 
 | ||||
|     if (!unloadPrevented) { | ||||
|       unloadPrevented = true; | ||||
|       return ''; | ||||
|     } | ||||
|   } | ||||
|   window.close(); | ||||
| </script> | ||||
|  |  | |||
|  | @ -1,11 +1,16 @@ | |||
| <html> | ||||
| <body> | ||||
| <script type="text/javascript" charset="utf-8"> | ||||
|   // Only prevent unload on the first window close | ||||
|   var unloadPrevented = false; | ||||
|   window.onbeforeunload = function() { | ||||
|     setTimeout(function() { | ||||
|       require('electron').remote.getCurrentWindow().emit('onbeforeunload'); | ||||
|     }, 0); | ||||
|     return false; | ||||
|     if (!unloadPrevented) { | ||||
|       unloadPrevented = true; | ||||
|       return false; | ||||
|     } | ||||
|   } | ||||
|   window.close(); | ||||
| </script> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Kevin Sawicki
				Kevin Sawicki