fix: remove memory leak when using webFrame and spell checker (#16770)
* fix: do not create native api::WebFrame in webFrame When reloading a page without restarting renderer process (for example sandbox mode), the blink::WebFrame is not destroyed, but api::WebFrame is always recreated for the new page context. This leaves a leak of api::WebFrame. * fix: remove spell checker when page context is released
This commit is contained in:
		
					parent
					
						
							
								3f52e18a38
							
						
					
				
			
			
				commit
				
					
						d16b581140
					
				
			
		
					 5 changed files with 354 additions and 348 deletions
				
			
		|  | @ -56,4 +56,28 @@ describe('webFrame module', function () { | |||
|     expect(words).to.deep.equal(['spleling', 'test']) | ||||
|     expect(callback).to.be.true() | ||||
|   }) | ||||
| 
 | ||||
|   it('top is self for top frame', () => { | ||||
|     expect(webFrame.top.context).to.equal(webFrame.context) | ||||
|   }) | ||||
| 
 | ||||
|   it('opener is null for top frame', () => { | ||||
|     expect(webFrame.opener).to.be.null() | ||||
|   }) | ||||
| 
 | ||||
|   it('firstChild is null for top frame', () => { | ||||
|     expect(webFrame.firstChild).to.be.null() | ||||
|   }) | ||||
| 
 | ||||
|   it('getFrameForSelector() does not crash when not found', () => { | ||||
|     expect(webFrame.getFrameForSelector('unexist-selector')).to.be.null() | ||||
|   }) | ||||
| 
 | ||||
|   it('findFrameByName() does not crash when not found', () => { | ||||
|     expect(webFrame.findFrameByName('unexist-name')).to.be.null() | ||||
|   }) | ||||
| 
 | ||||
|   it('findFrameByRoutingId() does not crash when not found', () => { | ||||
|     expect(webFrame.findFrameByRoutingId(-1)).to.be.null() | ||||
|   }) | ||||
| }) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Cheng Zhao
				Cheng Zhao