chrome: win: Crash when entering/exiting full-screen mode

Issue #3182 resolved
mike2k created an issue

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

  1. Launch cefclient.exe --use-views --enable-chrome-runtime
  2. Load https://www.youtube.com/watch?v=AKPhQBPD_bQ or https://vimeo.com/592224056
  3. Click on Full-screen or press F shortcut key for fullscreen.
  4. 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)

  1. Marshall Greenblatt

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

  2. Marshall Greenblatt

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

  3. Marshall Greenblatt

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

  4. mike2k 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

  5. Marshall Greenblatt

    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).

  6. Marshall Greenblatt

    There’s a separate issue #3243 with --use-views --initial-show-state=fullscreen not restoring correctly when exiting full-screen mode.

  7. Log in to comment