MicrosoftEdge / MicrosoftEdge/WebView2Feedback
[Bug]: Visual-DComp WebView stops responding while SendMouseInput continues to succeed
Nobody has claimed this yet.
- Dominant language
- PowerShell
- Stars
- 526
- Forks
- 67
- PR merge metrics
- No merged PRs in 30d
Description
Description
A WebView2 hosted with Visual-DComp eventually stops responding to mouse input after repeatedly pressing the left mouse button inside the WebView, dragging outside the host window, and releasing it.
The host application continues to receive mouse messages and forwards them through ICoreWebView2CompositionController::SendMouseInput. The calls return S_OK, but the WebView content no longer responds to mouse interaction.
This does not appear to be related to app-region: drag.
Environment
- Runtime: 152.0.4191.66
- Framework: Win32 C++
- Hosting mode: Visual-DComp
- API:
ICoreWebView2CompositionController::SendMouseInput - Sample:
WebView2APISample
Reproduction steps
- Run
WebView2APISamplein Visual-DComp mode. - Load a minimal HTML page without
app-region: dragor-webkit-app-region: drag. - Press and hold the left mouse button inside the WebView.
- Drag the mouse outside the host window or toward the screen edge.
- Release the mouse button.
- Repeat this operation several times.
- Move the mouse and click inside the WebView after it becomes unresponsive.
Expected behavior
The WebView should continue to respond to mouse clicks, dragging, scrolling, and keyboard input.
Actual behavior
The WebView content becomes unresponsive. The host window remains responsive and continues to receive and forward mouse input.
Diagnostics
During the unresponsive state:
WM_MOUSEMOVEcontinues to arrive at the host.WM_LBUTTONDOWNandWM_LBUTTONUPare received in pairs.SendMouseInputcontinues to returnS_OK.WM_NCHITTESTreturnsHTCLIENT(1).GetNonClientRegionAtPointreturnsCOREWEBVIEW2_NON_CLIENT_REGION_KIND_CLIENT(1).- No
CAPTIONregion is reported. - No
WM_CAPTURECHANGEDevent transfers capture toCLIPBRDWNDCLASS. ProcessFailedis not raised withRenderProcessUnresponsive.
For example, after the WebView becomes unresponsive, the host still logs:
WM_LBUTTONDOWN
SetCapture ... hostCapture=1
SendMouseInput ... WM_LBUTTONDOWN ... hr=0x00000000
WM_LBUTTONUP
ReleaseCapture completed ... capturing=0
SendMouseInput ... WM_LBUTTONUP ... hr=0x00000000
Mouse movement after the failure also continues to produce:
SendMouseInput ... WM_MOUSEMOVE ... hr=0x00000000
The test page does not define app-region: drag or -webkit-app-region: drag, and the WebView reports CLIENT for the tested coordinates.
Questions
Is there a known issue in WebView2 Runtime 152 affecting mouse input processing in Visual-DComp hosting after dragging outside the host window?
Could the Composition input pipeline enter an internal state where SendMouseInput returns S_OK, but the renderer or WebView input state no longer processes the events?
Is there a native API or recommended recovery procedure for detecting and recovering from this state when ProcessFailed is not raised?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Run WebView2APISample in Visual-DComp mode with the minimal HTML page and reproduce the repeated drag-outside-and-release sequence. Start by tracing SendMouseInput, mouse capture, WM_NCHITTEST, GetNonClientRegionAtPoint, and ProcessFailed using the diagnostics in the issue. Done means identifying whether Runtime 152 has a known input-state failure and documenting a supported detection or recovery procedure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, html
- Domain
- api, desktop
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100