Mouse events not arriving on CEF Browser View on MAC 13
Posted: Thu Aug 18, 2022 6:30 pm
We are a CEF application that uses full screen mode as a kiosk -- driven run-time by internal application aspects. We have recently tried to do a certification test on MAC OS Ventura 13.0 Beta and when exiting full screen mode, NSEvents are not being realized on our broswer views. (* The CEF message pumps still seems to be providing NSEvents on our NSApplication *)
In an attempt to provide the simplest recreation and eliminate our application parts, we've reproduced the problem on cefsimple in the example distribution. By adding a simple mechanism in sendEvent of cefsimple_mac.mm::SimpleApplication, you can clearly see that on exit of fullscreen Version 13.0 does not work as expected. The code below is our addition to cefsimple and we've ensured that it works on CEF 96 / Big Sur, but not on CEF 96 / Ventura. (* Our production application currently runs CEF 103 *)
I used a simple TAB to toggle in/out of full screen. To keep the logic minimal and still see google.com operate in cef simple.
Any suggestions would be great,
Thanks
In an attempt to provide the simplest recreation and eliminate our application parts, we've reproduced the problem on cefsimple in the example distribution. By adding a simple mechanism in sendEvent of cefsimple_mac.mm::SimpleApplication, you can clearly see that on exit of fullscreen Version 13.0 does not work as expected. The code below is our addition to cefsimple and we've ensured that it works on CEF 96 / Big Sur, but not on CEF 96 / Ventura. (* Our production application currently runs CEF 103 *)
I used a simple TAB to toggle in/out of full screen. To keep the logic minimal and still see google.com operate in cef simple.
- Code: Select all
// add toggle state to @interface SimpleApplication
BOOL toggleFull;
- Code: Select all
- (void)sendEvent:(NSEvent*)event {
CefScopedSendingEvent sendingEventScoper;
// simple addition to toggle full screen on TAB press
if (event.type == NSEventTypeKeyDown && event.keyCode == 48) {
if (toggleFull == TRUE) {
toggleFull = FALSE;
[self.keyWindow.contentView exitFullScreenModeWithOptions:[NSDictionary dictionary]];
} else {
toggleFull = TRUE;
[self.keyWindow.contentView enterFullScreenMode:[NSScreen mainScreen] withOptions:nil ];
}
}
// end ADDITION
[super sendEvent:event];
}
Any suggestions would be great,
Thanks