cefsharp / cefsharp/CefSharp

WinForms - Enter/Arrow keys not working with DevTool/Popups with MultiThreadedMessageLoop = false

Abierto
#2,899 7 comentarios 0 reacciones 0 asignados Ver en GitHub
up-for-grabs winforms
Lenguaje dominante
C#
Estrellas
10.3k
Forks
2.9k
Merge medio
5 d 22 h
PR fusionados (30 d)
4

Descripción

- **What version of the product are you using?**

Multiple versions:

*CefSharp.MinimalExample* with Nuget package 75.1.142.

But it also reproduces with 69 and 73

- **What architecture x86 or x64?**

x64

- **On what operating system?**

Windows 10

- **Are you using `WinForms`, `WPF` or `OffScreen`?**

WinForms

- **What steps will reproduce the problem?**

I used *CefSharp.MinimalExample.WinForms.csproj* as the base. I added `MultiThreadedMessageLoop = false` and called `Cef.DoMessageLoopWork()` on a timer to enable the integrated message loop.

Here is a branch with the changes: https://github.com/kiewic/CefSharp.MinimalExample/tree/kiewic/devtools-enter-key-integrated-message-loop

Once the modified sample is running:

1. Open DevTools
2. Write a command, for example, `console.log("Hello World")`
3. Press `ENTER` key, but nothing happens, the key is ignored
4. Press `left arrow` or `right arrow` to move the cursor left or right, but the cursor does not move

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

It is expected that `ENTER` and arrow keys work the same as in the multi-threaded message loop. ENTER key should execute the command, and arrow keys should move the cursor.

- **Please provide any additional information below.**

No exceptions.

Nothing relevant in *debug.log*.

- **Does this problem also occur in the `CEF` Sample Application from http://opensource.spotify.com/cefbuilds/index.html?**

This does not reproduce with `cefclient.exe`. I executed it WITHOUT `--multi-threaded-message-loop`. I tried version: `cef_binary_76.1.13+gf19c584+chromium-76.0.3809.132_windows64_client`

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza con los cambios en CefSharp.MinimalExample.WinForms.csproj de la rama enlazada, especialmente MultiThreadedMessageLoop = false y el temporizador que llama a Cef.DoMessageLoopWork(). Ejecuta el ejemplo, abre DevTools y reproduce los fallos de la tecla Enter y de las teclas de flecha; compara el comportamiento con el bucle multiproceso y cefclient.exe. El trabajo está terminado cuando ambos tipos de teclas funcionan en el bucle de mensajes integrado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp
Área
desktop, devtools
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
32/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.