chromiumembedded / cef

Chromium Embedded Framework (CEF). A simple framework for embedding Chromium-based browsers in other applications.
https://bitbucket.org/chromiumembedded/cef/
Other
3.24k stars 455 forks source link

cefclient: alloy: Popup window non-responsive when using --use-default-popup #3499

Open stephanema1 opened 1 year ago

stephanema1 commented 1 year ago

Describe the bug This bug is already described in https://github.com/cefsharp/CefSharp/discussions/4488 .

To Reproduce Steps to reproduce the behavior:

  1. download https://cef-builds.spotifycdn.com/cef_binary_113.1.1%2Bgfef20aa%2Bchromium-113.0.5672.63_windows64_beta_client.tar.bz2
  2. run cefclient.exe --multi-threaded-message-loop --no-sandbox --enable-gpu --use-default-popup
  3. Open a Website/html file with a link to a pdf line <a href="test.pdf" target="_blank">test.pdf</a>
  4. cklick on the test.pdf link, the pdf is shown in a second window.
  5. close the first windows (mein window)
  6. the second window with the pdf now schows only black content and the process never closes (you kann only kill it with the task manager)

Expected behavior When I execute the step 5. from above I expect that all windows are closed and that the process terminates.

Screenshots

Versions (please complete the following information):

Additional context Does the problem reproduce with the cefclient or cefsimple sample application at the same version? Yes

Does the problem reproduce with Google Chrome at the same version? No

Add any other context about the problem here.

magreenblatt commented 1 year ago

A similar issue reproduces with:

  1. Run cefclient.exe --use-default-popup
  2. Select Tests > New Popup
  3. Close the main window
  4. Notice that the remaining popup window is unresponsive
magreenblatt commented 10 months ago

cefclient.exe --use-default-popup works fine for me in M116 and newer (both Alloy and Chrome).

magreenblatt commented 10 months ago

OOPS, missed the bit about "Close the main window"

magreenblatt commented 10 months ago

Works fine with Chrome, still an issue for Alloy.

magreenblatt commented 1 month ago

This is currently crashing at M128 in RootWindowViews::GetDelegateForPopup due to an invalid cast. |client| is a DefaultClientHandler instead of a ClientHandlerStd

magreenblatt commented 1 month ago

This still reproduces at M128 (tested on Windows 11):

  1. Run cefclient.exe --use-alloy-style --use-native --use-default-popup
  2. Select Tests > New Popup
  3. Close the main window
  4. Notice that the remaining popup window is unresponsive

Using --use-alloy-style --use-views --use-default-popup the popup window contents are black after step 2.

None of this reproduces after removing --use-alloy-style.