|
|
Chromium Code Reviews|
Created:
4 years, 2 months ago by Bret Modified:
4 years, 2 months ago Reviewers:
Peter Kasting CC:
chromium-reviews, tfarina Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionFix status bar color not updating when applying a theme on Linux.
Linux does not create a new StatusBubbleViews::StatusView when applying
a theme, so it needs the ThemeProvider passed in to get the new colors.
BUG=649601
Committed: https://crrev.com/cbf5bacde72383a2b88fd476bfd1bc5460a20ae7
Cr-Commit-Position: refs/heads/master@{#420851}
Patch Set 1 #
Total comments: 2
Messages
Total messages: 15 (7 generated)
Description was changed from ========== Fix status bar color not updating when applying a theme on Linux. Linux does not create a new StatusBubbleViews::StatusView when applying a theme, so it needs the ThemeProvider passed in to get the new colors. BUG=649601 ========== to ========== Fix status bar color not updating when applying a theme on Linux. Linux does not create a new StatusBubbleViews::StatusView when applying a theme, so it needs the ThemeProvider passed in to get the new colors. BUG=649601 ==========
bsep@chromium.org changed reviewers: + pkasting@chromium.org
LGTM https://codereview.chromium.org/2364063003/diff/1/chrome/browser/ui/views/sta... File chrome/browser/ui/views/status_bubble_views.cc (right): https://codereview.chromium.org/2364063003/diff/1/chrome/browser/ui/views/sta... chrome/browser/ui/views/status_bubble_views.cc:214: const ui::ThemeProvider* theme_provider, So I know we're on the same page, the other solutions would be: * Recreate the status bubble on theme change * Have the status bubble listen for theme changes and update its colors * Have something else listen for theme changes and tell the status bubble to update its colors Probably the second of these is the best of the three, since it seems simpler than the third, and the first is about the same amount of effort as the third. But we'd only really do the second over this solution if getting the colors were expensive, and it's not. So this solution seems good. It sounds like some platforms _do_ recreate the status bubble on theme changes? Do they really need to? Maybe we can nuke that?
https://codereview.chromium.org/2364063003/diff/1/chrome/browser/ui/views/sta... File chrome/browser/ui/views/status_bubble_views.cc (right): https://codereview.chromium.org/2364063003/diff/1/chrome/browser/ui/views/sta... chrome/browser/ui/views/status_bubble_views.cc:214: const ui::ThemeProvider* theme_provider, On 2016/09/24 06:07:40, Peter Kasting wrote: > So I know we're on the same page, the other solutions would be: > > * Recreate the status bubble on theme change > * Have the status bubble listen for theme changes and update its colors > * Have something else listen for theme changes and tell the status bubble to > update its colors > > Probably the second of these is the best of the three, since it seems simpler > than the third, and the first is about the same amount of effort as the third. > But we'd only really do the second over this solution if getting the colors were > expensive, and it's not. So this solution seems good. > > It sounds like some platforms _do_ recreate the status bubble on theme changes? > Do they really need to? Maybe we can nuke that? Windows does nuke the class when the theme changes (even if it was already using opaque frame) which is why I didn't catch it before. It doesn't seem like it needs to, but it might be unavoidable for some reason. I haven't investigated it. No idea for other platforms. Since the bug I got was only for Linux I assume that's the odd one out.
The CQ bit was checked by bsep@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by bsep@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Fix status bar color not updating when applying a theme on Linux. Linux does not create a new StatusBubbleViews::StatusView when applying a theme, so it needs the ThemeProvider passed in to get the new colors. BUG=649601 ========== to ========== Fix status bar color not updating when applying a theme on Linux. Linux does not create a new StatusBubbleViews::StatusView when applying a theme, so it needs the ThemeProvider passed in to get the new colors. BUG=649601 ==========
Message was sent while issue was closed.
Committed patchset #1 (id:1)
Message was sent while issue was closed.
Description was changed from ========== Fix status bar color not updating when applying a theme on Linux. Linux does not create a new StatusBubbleViews::StatusView when applying a theme, so it needs the ThemeProvider passed in to get the new colors. BUG=649601 ========== to ========== Fix status bar color not updating when applying a theme on Linux. Linux does not create a new StatusBubbleViews::StatusView when applying a theme, so it needs the ThemeProvider passed in to get the new colors. BUG=649601 Committed: https://crrev.com/cbf5bacde72383a2b88fd476bfd1bc5460a20ae7 Cr-Commit-Position: refs/heads/master@{#420851} ==========
Message was sent while issue was closed.
Patchset 1 (id:??) landed as https://crrev.com/cbf5bacde72383a2b88fd476bfd1bc5460a20ae7 Cr-Commit-Position: refs/heads/master@{#420851} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
