New issue
Advanced search Search tips

Issue 887598 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Sep 21
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

Fullscreen mode crashes in Linux

Project Member Reported by iclell...@chromium.org, Sep 20

Issue description

The new button position calculation code introduced with e831694a4379d6ccd59196571c7a80d196fd4b28 seems to crash in Linux when entering fullscreen.

A simple repro page at https://a.featurepolicy.rocks/fullscreen.html crashes consistenly when clicking the button to request fullscreen mode.

Error:
[144024:144024:0919/162343.610955:INFO:SkBitmap.cpp(380)] ../../third_party/skia/src/core/SkBitmap.cpp:380: fatal error: "assert((unsigned)x < (unsigned)this->width())"

(Full stack trace at https://paste.googleplex.com/5074370267447296)

From 882854:

The issue appears to be that Frame->IsFullscreen() sets OpaqueBrowserFrameView::IsFrameCondensed to true, but it did not set OpaqueBrowserFrameViewLayout::IsTitleBarCondensed at all.

This change is relevant in OpaqueBrowserFrameViewLayout::SetBoundsForButton in fullscreen mode.
Previously, in fullscreen mode, is_title_bar_condensed was false, while now the equivalent is_frame_condensed is true.

The buttons were previously all assigned bounding width and height of (0,0) in fullscreen, while now I see the three buttons given (w,h) of (2,2), (0,2), and (0,2) respectively. Somehow this is triggering a crash in SkBitmap, where I presume something is attempting to render an image of zero width.

 
Cc: thomasanderson@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/95c86a6c8f719aca3484b4080c56cb2c7e1757d8

commit 95c86a6c8f719aca3484b4080c56cb2c7e1757d8
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Fri Sep 21 01:19:41 2018

Fix DCHECK when entering fullscreen on Linux with the GTK theme

Also fixes a logic error in opaque_browser_frame_view_layout.cc introduced by
e831694.

BUG=882854, 887598 
R=pkasting
CC=​iclelland

Change-Id: I5b1b6eb4d737ecbed3102d046b06cacdef7cddaa
Reviewed-on: https://chromium-review.googlesource.com/1236267
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Ian Clelland <iclelland@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593041}
[modify] https://crrev.com/95c86a6c8f719aca3484b4080c56cb2c7e1757d8/chrome/browser/ui/libgtkui/nav_button_provider_gtk.cc
[modify] https://crrev.com/95c86a6c8f719aca3484b4080c56cb2c7e1757d8/chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.cc

Status: Fixed (was: Untriaged)
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 21

Labels: merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4f07052a9840880fb1835725ea050349dc9639b9

commit 4f07052a9840880fb1835725ea050349dc9639b9
Author: Tom Anderson <thomasanderson@chromium.org>
Date: Fri Sep 21 22:58:55 2018

[Merge to M70] Fix DCHECK when entering fullscreen on Linux with the GTK theme

> Also fixes a logic error in opaque_browser_frame_view_layout.cc introduced by
> e831694.
>
> BUG=882854, 887598 
> R=pkasting
> CC=​iclelland
>
> Change-Id: I5b1b6eb4d737ecbed3102d046b06cacdef7cddaa
> Reviewed-on: https://chromium-review.googlesource.com/1236267
> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
> Reviewed-by: Peter Kasting <pkasting@chromium.org>
> Reviewed-by: Ian Clelland <iclelland@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#593041}

BUG=882854, 887598 
TBR=pkasting
CC=​iclelland
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: Icc845bc78928d8f75c86f02b6685781dc1e48cb8
Reviewed-on: https://chromium-review.googlesource.com/1239538
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/branch-heads/3538@{#574}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/4f07052a9840880fb1835725ea050349dc9639b9/chrome/browser/ui/libgtkui/nav_button_provider_gtk.cc
[modify] https://crrev.com/4f07052a9840880fb1835725ea050349dc9639b9/chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.cc

Sign in to add a comment