New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 879030 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Long OOO (go/where-is-mgiuca)
Closed: Nov 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Bug

Blocked on:
issue 878639

Blocking:
issue 878636



Sign in to add a comment

DCHECK changing graphical mode while hosted app window is open

Project Member Reported by mgiuca@chromium.org, Aug 30

Issue description

Chrome Version: 70 (r586980)
OS: Linux, Windows

What steps will reproduce the problem?
(Debug build only.)
(1) Open a hosted app window.
(2) (Linux) Change theme from GTK to non-GTK or vice versa.
(2) (Windows 7) Change OS theme from Glass/Aero to Basic or vice versa.
(2) (Windows 10) Change OS theme from high-contrast to normal or vice versa.

What is the expected result?
Nothing breaks.

What happens instead?
[3068:3088:0829/011601.168:FATAL:browser_view.cc(1010)] Check failed: !toolbar_button_provider_.

NOTE: This situation isn't covered by any tests, but I'm currently trying to add a test that hits it. So this is blocking me from landing that test. See https://crrev.com/c/1195226.

The DCHECK in question is in SetToolbarButtonProvider:
https://cs.chromium.org/chromium/src/chrome/browser/ui/views/frame/browser_view.cc?l=1035

The documentation for SetToolbarButtonProvider:

  // Sets the button provider for this BrowserView. Must be called before
  // InitViews() which sets the ToolbarView as the default button provider.
  void SetToolbarButtonProvider(ToolbarButtonProvider* provider);

This comment backs up the DCHECK, saying that you shouldn't be setting the toolbar button provider *after* the class is initialized.

However, alancutter@ and I can't see any reason to have this requirement. Setting a new toolbar button provider is something that we do, today, in production (when switching graphical modes), and it seems to properly clean up the old one and set the new one.

Therefore, I think we should just remove the DCHECK and the above comment.
 
Blockedon: 878639
Having said that, we do see a weird bug in the title bar at the same time this DCHECK is hit:  Issue 878639 . So it's possible the DCHECK is warning us about this behaviour.

We need to handle it, though. The DCHECK, as it stands, is invalid.
CL to disable the DCHECK:
https://chromium-review.googlesource.com/c/chromium/src/+/1195408

But we should try to fix  Issue 878639  before removing the DCHECK (see #1).
Cc: est...@chromium.org
Status: Fixed (was: Started)
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 14

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

commit 18c6c9fed214304438154c0add76b1d0754bcf0f
Author: Evan Stade <estade@chromium.org>
Date: Wed Nov 14 18:50:19 2018

Enable some browser tests that previously DCHECKed.

Bug:  879030 
Change-Id: I4483a426013086588b0801485a241424d2c426b8
Reviewed-on: https://chromium-review.googlesource.com/c/1334270
Reviewed-by: Bret Sepulveda <bsep@chromium.org>
Reviewed-by: Matt Giuca <mgiuca@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608062}
[modify] https://crrev.com/18c6c9fed214304438154c0add76b1d0754bcf0f/chrome/browser/ui/views/frame/browser_non_client_frame_view_browsertest.cc

Labels: Hotlist-DesktopUIValid Hotlist-DesktopUIChecked
***UI Mass Triage***

Since work is in progress, adding appropriate labels.

Sign in to add a comment