I'm using CEF in a multi-user multi-touch environment where you can have multiple browsers open, and several people interacting with them at the same time. We use OSR mode and have our custom on-screen keyboard - and obviously we can have several keyboards open at the same time as well.
I would like to know when to open and close these virtual keyboard, and also what kind of keyboard to open (standard, numeric, email, decimal etc).
Previously (with CEF 2883) I did this by patching CEF and adding a new callback for this, but I used some Chromium API that is now gone, so I need to redo this for 3683. I have now test code that uses content::TextInputManager::Observer::OnUpdateTextInputStateCalled to find out when to open the keyboard, and what kind of keyboard is requested. I also added virtual void CefRenderHandler::OnVirtualKeyboardRequested(CefRefPtr<CefBrowser> browser, CefTextInputMode mode) where the text input mode is practically just ui::TextInputMode.
Does this approach make sense? Is there already some way of doing this that I just didn't find? Is CefRenderHandler the correct place to add this? I'm planning on adding this just for off-screen rendering mode, most likely it won't be so useful for windowed rendering when you most likely can just use some system virtual keyboard.
Should I just open a pull request for this? I think I can trivially add a unit test for this.