OSR Popup isn't getting painted when using SendExternalBeginFrame()

Issue #3340 new
UnknownOne created an issue

What steps will reproduce the problem?

  1. Run cefclient.exe --off-screen-rendering-enabled --external-begin-frame-enabled --url=https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select
  2. Click the select and observe that the popup isn’t repainted when hovering over items

What is the expected output? What do you see instead?

The popup should be getting repainted when hovering over items

What version of the product are you using? On what operating system?

102.0.9+g1c5e658+chromium-102.0.5005.63 - Windows 10 x64 21H1

Does the problem reproduce with the cefclient or cefsimple sample application at the same version? How about with a newer or older version?
Last working version: 98.2.1+g29d6e22+chromium-98.0.4758.109

Additional information
The issue seems to fix itself upon navigating to another domain. Refreshing or navigating to the same domain does not fix it. Navigating to a different domain and then returning does. See attached video.

Comments (2)

  1. UnknownOne reporter

    After investigating further it seems that you can "fix" the issue by removing the args.frame_id.source_id != original_source_id_ check in ExternalBeginFrameSourceMojo::OnFrameSinkDidFinishFrame(). Without that change the DCHECK(pending_frame_sinks_.empty()); in ExternalBeginFrameSourceMojo::IssueExternalBeginFrame() is failing.

  2. Log in to comment