Fix missing remote object error when calling remote function created in preload script (#15444)
* fix: report wrong context error based on contextId * fix: destroyed remote renderer warning is now async
This commit is contained in:
		
					parent
					
						
							
								b2e1a93177
							
						
					
				
			
			
				commit
				
					
						a8f2646ba6
					
				
			
		
					 5 changed files with 54 additions and 21 deletions
				
			
		|  | @ -8,6 +8,7 @@ const { closeWindow } = require('./window-helpers') | |||
| const { resolveGetters } = require('./assert-helpers') | ||||
| 
 | ||||
| const { remote, ipcRenderer } = require('electron') | ||||
| const { ipcMain, BrowserWindow } = remote | ||||
| const { expect } = chai | ||||
| 
 | ||||
| chai.use(dirtyChai) | ||||
|  | @ -512,4 +513,23 @@ describe('remote module', () => { | |||
|       } | ||||
|     }) | ||||
|   }) | ||||
| 
 | ||||
|   describe('remote function in renderer', () => { | ||||
|     afterEach(() => { | ||||
|       ipcMain.removeAllListeners('done') | ||||
|     }) | ||||
| 
 | ||||
|     it('works when created in preload script', (done) => { | ||||
|       ipcMain.once('done', () => w.close()) | ||||
|       const preload = path.join(fixtures, 'module', 'preload-remote-function.js') | ||||
|       w = new BrowserWindow({ | ||||
|         show: false, | ||||
|         webPreferences: { | ||||
|           preload: preload | ||||
|         } | ||||
|       }) | ||||
|       w.once('closed', () => done()) | ||||
|       w.loadURL('about:blank') | ||||
|     }) | ||||
|   }) | ||||
| }) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Cheng Zhao
				Cheng Zhao