mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	Fix ceftest failures with BackForwardCache enabled (see issue #2421)
When BackForwardCache is enabled the old RFH tree may be cached instead of being immediately deleted as a result of main frame navigation. If a RFH is cached then delivery of the CefFrameHandler::OnFrameDetached callback will be delayed until the the RFH is ejected from the cache (possibly not occurring until the browser is destroyed). This change in OnFrameDetached timing was causing FrameHandlerTest.OrderSubCrossOrigin* to fail, and the inclusion of cached frames in CefBrowserInfo::GetAllFrames was causing FrameTest.NestedIframesDiffOrigin to fail. BackForwardCache is currently being tested via field trials (see https://crbug.com/1171298) and can be explicitly disabled using the `--disable-back-forward-cache` or `--disable-features=BackForwardCache` command-line flags.
This commit is contained in:
		@@ -115,8 +115,9 @@ class CefFrameHostImpl : public CefFrame, public cef::mojom::BrowserFrame {
 | 
			
		||||
 | 
			
		||||
  // Owned frame objects will be detached explicitly when the associated
 | 
			
		||||
  // RenderFrame is deleted. Temporary frame objects will be detached
 | 
			
		||||
  // implicitly via CefBrowserInfo::browser() returning nullptr.
 | 
			
		||||
  void Detach();
 | 
			
		||||
  // implicitly via CefBrowserInfo::browser() returning nullptr. Returns true
 | 
			
		||||
  // if this was the first call to Detach() for the frame.
 | 
			
		||||
  bool Detach();
 | 
			
		||||
 | 
			
		||||
  // cef::mojom::BrowserFrame methods forwarded from CefBrowserFrame.
 | 
			
		||||
  void SendMessage(const std::string& name, base::Value arguments) override;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user