cefsharp / cefsharp/CefSharp

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

Ouverte
#2,899 7 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
up-for-grabs winforms
Langage dominant
C#
Étoiles
10.3k
Forks
2.9k
Merge moyen
5 j 22 h
PR mergées (30 j)
4

Description

- **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`

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par les modifications de CefSharp.MinimalExample.WinForms.csproj dans la branche liée, en particulier MultiThreadedMessageLoop = false et le timer qui appelle Cef.DoMessageLoopWork(). Exécutez l’exemple, ouvrez DevTools et reproduisez les échecs de la touche Entrée et des touches fléchées ; comparez le comportement avec la boucle multithread et cefclient.exe. Le travail est terminé lorsque les deux types de touches fonctionnent dans la boucle de messages intégrée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp
Domaine
desktop, devtools
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
32/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.