MicrosoftEdge / WebView2Feedback

Feedback and discussions about Microsoft Edge WebView2
https://aka.ms/webview2
449 stars 55 forks source link

Screen share monitor/window select dialog cropped if WebView2 control smaller than parent Window #2184

Open breenbob opened 2 years ago

breenbob commented 2 years ago

Description

When using HTML5 MediaDevices.getDisplayMedia() to attempt screen sharing, the monitor/window selection screen appears as a dialog within the bounds of the WebView2 control instance, and so is cropped if the WebView2 control is not large enough/full window.

We are using a WebView2 control in approx 1/4 of the screen layout size for a docked AV WebRTC session, where the remaining 3/4 of the screen are native UI controls. In this scenario the dialog is clipped and the user is forced to use Escape key to cancel, and must make the WebView2 full screen before they can adequately see/select a monitor/window for sharing.

Version SDK: 1.0.1158-prerelease Runtime: WebView2 Runtime 98.0.1108.55 Framework: WinUI 2.8-prerelease.220118001, UWP 6.2.10, Windows SDK 10.0.18362 OS: Windows 10

Repro Steps

Expected behavior

When attempt is made to start screen sharing via a call to getDisplayMedia(), the dialog window shown should run outside of the WebView2 process bounds in the center of the parent window and not be clipped to the bounds of the WebView2.

Actual behavior

The select monitor/window dialog is shown inside of the bounds of the WebView2 control and will therefore be clipped if the control is too small, even though the parent window is easily large enough to display the dialog in full.

ApplicationFrameHost_A9d6Nkgz5C

AB#38215296

breenbob commented 2 years ago

In the screenshot the WebView2 control is in top right cell of a 3x3 Grid, similar to how it would be in our real application.

Sample repro 21xx_WebView2_ScreenShareClipIssue.zip

champnic commented 2 years ago

Thanks for the bug report @breenbob - I believe this is due to the dialog being in a child window, rather than an owned window (like a context menu). I've added this to our backlog to see if we can get it fixed!

breenbob commented 2 years ago

Hi @champnic - can you give me an update on this issue as we hope to use this functionality in a production app soon? Is the issue with the WinUI2.8 WebView2.cpp wrapper?

champnic commented 2 years ago

Hey @breenbob - We have not started looking at this issue yet, and unfortunately I don't have a timeline for when we will be able to. The issue is likely not with the wrapper, but rather how the browser processes are creating the popup for selecting what to share.

breenbob commented 2 years ago

Thanks for the update on both issues @champnic - really appreciate the honesty as this helps us to make informed decisions about our roadmap.

lsyfg commented 10 months ago

I have also encountered this problem. Has this problem been fixed or how can I change the position of the pop-up window

champnic commented 9 months ago

@lsyfg No updates here