- changed title to Windows: Fullscreen broken CefClient in Chrome Runtime mode
- edited description
chrome: win: Crash when entering/exiting full-screen mode
I’ve been testing the Chrome Runtime with cefclient.exe launching it as described in https://bitbucket.org/chromiumembedded/cef/issues/2969/support-chrome-windows-with-cef-callbacks
cefclient.exe --enable-chrome-runtime cefclient.exe --use-views --enable-chrome-runtime
When trying to full-screen any video player, the application crashes, no matter which CEF build I’ve used
- Launch
cefclient.exe --use-views --enable-chrome-runtime
- Load https://www.youtube.com/watch?v=AKPhQBPD_bQ or https://vimeo.com/592224056
- Click on Full-screen or press F shortcut key for fullscreen.
- Cefclient crashes.
I’ve tested on:
cef_binary_92.0.25+gd15cfa8+chromium-92.0.4515.131_windows64_client
cef_binary_92.0.25+gd15cfa8+chromium-92.0.4515.131_windows64_client
cef_binary_93.1.14+gf38ce34+chromium-93.0.4577.82_windows32_client
cef_binary_93.1.14+gf38ce34+chromium-93.0.4577.82_windows64_client
cef_binary_94.2.2+g0c2cc26+chromium-94.0.4606.50_windows32_beta_client
cef_binary_94.2.2+g0c2cc26+chromium-94.0.4606.50_windows64_beta_client
Running on Windows 10
EDIT: Just found that crash occurs on F11 key press too, in cefclient.exe.
Hope you fix this issue
Comments (14)
-
reporter -
reporter - edited description
-
- changed title to chrome: win: Crash when entering full-screen mode from a video
- changed component to Framework
-
views: Support configuration of initial window show state
Known issues: - Exiting full-screen mode currently crashes with the Chrome runtime (see issue
#3182).→ <<cset dc1f934865ba>>
-
- changed title to chrome: win: Crash when entering full-screen mode
Also crashes with the following (+ above change):
- Run
cefclient.exe --use-views --enable-chrome-runtime --initial-show-state=fullscreen
- Press
F11
key.
-
- changed title to chrome: win: Crash when entering/exiting full-screen mode
-
views: Support configuration of initial window show state
Known issues: - Exiting full-screen mode currently crashes with the Chrome runtime (see issue
#3182).→ <<cset 9913c100090c>>
-
views: Support configuration of initial window show state
Known issues: - Exiting full-screen mode currently crashes with the Chrome runtime (see issue
#3182).→ <<cset 1ca15ab88b30>>
-
reporter Tested with cef_binary_97.1.1+g50067f2+chromium-97.0.4692.71_windows32_client and the full-screen issue is still present.
Hope you have time to check and find a fix.Thanks
-
Here’s the crash (testing with M98) when exiting fullscreen by pressing F11:
Exception thrown: read access violation. **BrowserFrame::GetFrameView**(...) returned nullptr. > libcef.dll!BrowserView::ProcessFullscreen(bool fullscreen, const GURL & url, ExclusiveAccessBubbleType bubble_type, __int64 display_id) Line 3780 C++ libcef.dll!BrowserView::ExitFullscreen() Line 1529 C++ libcef.dll!FullscreenController::ExitFullscreenModeInternal() Line 450 C++ libcef.dll!FullscreenController::ToggleFullscreenModeInternal(FullscreenController::FullscreenInternalOption option, content::RenderFrameHost * requesting_frame, const __int64 display_id) Line 375 C++ libcef.dll!FullscreenController::ToggleBrowserFullscreenMode() Line 80 C++ libcef.dll!chrome::ToggleFullscreenMode(Browser * browser) Line 1678 C++ libcef.dll!chrome::BrowserCommandController::ExecuteCommandWithDisposition(int id, WindowOpenDisposition disposition, base::TimeTicks time_stamp) Line 491 C++ libcef.dll!chrome::BrowserCommandController::ExecuteCommand(int id, base::TimeTicks time_stamp) Line 358 C++ libcef.dll!chrome::ExecuteCommand(Browser * browser, int command, base::TimeTicks time_stamp) Line 412 C++ libcef.dll!BrowserView::AcceleratorPressed(const ui::Accelerator & accelerator) Line 3447 C++ ui_base.dll!ui::AcceleratorManager::AcceleratorTargetInfo::TryProcess(const ui::Accelerator & accelerator) Line 152 C++ ui_base.dll!ui::AcceleratorManager::Process(const ui::Accelerator & accelerator) Line 83 C++ views.dll!views::FocusManager::ProcessAccelerator(const ui::Accelerator & accelerator) Line 536 C++ views.dll!views::FocusManager::OnKeyEvent(const ui::KeyEvent & event) Line 113 C++ views.dll!views::Widget::OnKeyEvent(ui::KeyEvent * event) Line 1504 C++ views.dll!views::DesktopNativeWidgetAura::OnKeyEvent(ui::KeyEvent * event) Line 1205 C++
We’ll need a way to route the fullscreen commands without calling
GetFrameView
(which will always return nullptr for browsers created via CefBrowserView). -
There’s a separate issue #3243 with
--use-views --initial-show-state=fullscreen
not restoring correctly when exiting full-screen mode.
-
- changed status to resolved
chrome: Fix crashes when toggling full-screen mode (fixes issue
#3182)→ <<cset 031c8a7f52bb>>
-
BrowserView::ProcessFullscreen
already callsWidget::SetFullscreen
for toggling full-screen state (which is what we need for CEF), so on Windows we're just losing some Chrome functionality like hide/unhide the download shelf from BrowserNonClientFrameView::OnFullscreenStateChanged. On Mac it looks like we’re losing more functionality (BrowserNonClientFrameViewMac::OnFullscreenStateChanged, BrowserNonClientFrameViewMac::UpdateFullscreenTopUI). -
chrome: Fix crashes when toggling full-screen mode (fixes issue
#3182)→ <<cset 0cc7a7bdab1f>>
- Log in to comment