mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	Add notification for aborted popups (fixes #3776)
Pass a new |popup_id| parameter to OnBeforePopup and call a new OnBeforePopupAborted callback if the popup is aborted before OnAfterCreated is called for the popup browser. Add new CefBrowserHost::GetBrowserByIdentifier and GetOpenerIdentifier methods to assist with retrieval of associated browsers. In cefclient, clean up state when a popup is aborted and close any associated popup browsers when the opener browser is closed. This also works when running with `--use-default-popup`.
This commit is contained in:
		@@ -151,6 +151,21 @@ CefRefPtr<CefBrowser> CefBrowserHost::CreateBrowserSync(
 | 
			
		||||
  return CefBrowserHostBase::Create(create_params);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// static
 | 
			
		||||
CefRefPtr<CefBrowser> CefBrowserHost::GetBrowserByIdentifier(int browser_id) {
 | 
			
		||||
  // Verify that the context is in a valid state.
 | 
			
		||||
  if (!CONTEXT_STATE_VALID()) {
 | 
			
		||||
    DCHECK(false) << "context not valid";
 | 
			
		||||
    return nullptr;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (browser_id <= 0) {
 | 
			
		||||
    return nullptr;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return CefBrowserHostBase::GetBrowserForBrowserId(browser_id).get();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// static
 | 
			
		||||
bool CefBrowserCreateParams::IsChromeStyle(const CefWindowInfo* window_info) {
 | 
			
		||||
  if (!window_info) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user