diff --git a/chrome/browser/ui/web_modal/browser_window_modal_dialog_delegate.cc b/chrome/browser/ui/web_modal/browser_window_modal_dialog_delegate.cc index 946bd193083da..0146e7e7789c3 100644 --- a/chrome/browser/ui/web_modal/browser_window_modal_dialog_delegate.cc +++ b/chrome/browser/ui/web_modal/browser_window_modal_dialog_delegate.cc @@ -72,7 +72,11 @@ void BrowserWindowModalDialogDelegate::SetWebContentsBlocked( if (content_settings->GetContentSetting( url, url, ContentSettingsType::AUTOMATIC_FULLSCREEN) != CONTENT_SETTING_ALLOW) { + LOG(ERROR) << "[POC] SetWebContentsBlocked: ExitFullscreen(true) " + "(on Windows this may pump the message loop and " + "destroy the WebContents)"; web_contents->ExitFullscreen(true); + LOG(ERROR) << "[POC] SetWebContentsBlocked: ExitFullscreen returned"; } } } diff --git a/content/browser/digital_credentials/digital_identity_request_impl.cc b/content/browser/digital_credentials/digital_identity_request_impl.cc index f10b4304c79cf..f31b57454adeb 100644 --- a/content/browser/digital_credentials/digital_identity_request_impl.cc +++ b/content/browser/digital_credentials/digital_identity_request_impl.cc @@ -431,7 +431,9 @@ DigitalIdentityRequestImpl::DigitalIdentityRequestImpl( mojo::PendingReceiver receiver) : DocumentService(host, std::move(receiver)) {} -DigitalIdentityRequestImpl::~DigitalIdentityRequestImpl() = default; +DigitalIdentityRequestImpl::~DigitalIdentityRequestImpl() { + LOG(ERROR) << "[POC] ~DigitalIdentityRequestImpl this=" << this; +} std::optional DigitalIdentityRequestImpl::GetVirtualWalletBehavior() { @@ -648,6 +650,8 @@ void DigitalIdentityRequestImpl::Get( return; } + LOG(ERROR) << "[POC] DigitalIdentityRequestImpl::Get this=" << this + << " calling ShowDigitalIdentityInterstitial"; update_interstitial_on_abort_callback_ = provider_->ShowDigitalIdentityInterstitial( *WebContents::FromRenderFrameHost(&render_frame_host()), origin(), @@ -655,6 +659,9 @@ void DigitalIdentityRequestImpl::Get( base::BindOnce(&DigitalIdentityRequestImpl::OnInterstitialDone, weak_ptr_factory_.GetWeakPtr(), std::move(request_to_send))); + LOG(ERROR) << "[POC] DigitalIdentityRequestImpl::Get this=" << this + << " assigned update_interstitial_on_abort_callback_ " + "(UAF write-site if `this` freed during call)"; } void DigitalIdentityRequestImpl::Create(