My favorites | Sign in
Logo
             
New issue | Search
for
| Advanced search | Search tips
Issue 153: UI - Windows Vista Aero UI Change bugs.
22 people starred this issue and may be notified of changes. Back to list
Status:  Fixed
Owner:  ben.at.chromium.org
Closed:  Mar 2009
Cc:  thatan...@google.com
Type-Bug
Pri-2
OS-Windows
Area-BrowserUI
Mstone-2.0


Sign in to add a comment
 
Reported by my.reprive, Sep 02, 2008
Product Version      : Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) 
AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13

Other browsers tested:
Add OK or FAIL after other browsers where you have tested this issue:
     Safari 3: OK (buttons represented the same always)
    Firefox 3: OK
         IE 7: OK

What steps will reproduce the problem?
1. Open up browser while windows in classic mode.
2. Change display settings to aero.
3. Buttons retain fake "vista-like" l&f, menu bar has odd coloring.

Only after restarting chrome does it display properly.

What is the expected result?
After switching styles, most other software (not just browsers) rerender 
the title bar and control button areas to match the new scheme.

What happens instead?
Title bar appears to suffer from a weird overlay, with colors changing 
partially across the bar.  Buttons retain old l&f.

Please provide any additional information below. Attach a screenshot if 
possible.
Windows Vista Ultimate SP1 32 Bit.
Comment 1 by my.reprive, Sep 02, 2008
Might/might not be related, but transparency effects (once aero is activated) are 
extending to the tabs.  Not sure if this is the desired effect.
Comment 2 by dandin1sb, Sep 02, 2008
Opening an application that forces Vista to disable Aero (I launched Fireworks) will 
have the same kind of negative effect, however, the top portion will become 
completely black, and eventually Windows will tell me that Chrome has hung. (but 
apart from the top portion, the webpage frame is still working)

If I launch a new tab, everything is perfect within that tab.  Nice to see the 
sandbox concept working. :D

Comment 3 by austinjreid, Sep 02, 2008
I get similar issues when using Vista Battery Saver which disables Aero on battery
usage. The title bar of Chrome changes to black on the transition.
Comment 4 by nicolas.alvarez, Sep 03, 2008
Please attach screenshots.
Comment 5 by csdahlberg, Sep 03, 2008
Screenshots
chrome-aero1.png
72.6 KB   View   Download
chrome-aero2.png
72.9 KB   View   Download
Comment 6 by austinjreid, Sep 03, 2008
Screenshots exactly what i get
Comment 7 by my.reprive, Sep 03, 2008
I see it as actually 4 steps, so see mine as well.  Note that in the basic to aero 
shot, the buttons don't work.
153 aero to basic.jpg
161 KB   View   Download
153 basic.jpg
160 KB   View   Download
153-aero.jpg
136 KB   View   Download
153-aero to basic.jpg
122 KB   View   Download
Comment 8 by joaquin.jares, Sep 05, 2008
Same here. Each morning I dock my computer at work (where I have a secondary display) 
and my Aero settings are turned off because the graphics card doesn't support Aero on 
two displays. As a result, I have exactly the same behavior as in previous 
screenshots.
Comment 9 by joaquin.jares, Sep 05, 2008
BTW, the workaround is to drag out the tabs one by one into a new window. This new 
window will show the bar as it should be. 
Comment 10 by ben.at.chromium.org, Sep 05, 2008
Will be fixed by magic_browzR.
Owner: b...@chromium.org
Labels: -Area-Unknown Area-BrowserUI
Comment 11 by ben.at.chromium.org, Sep 17, 2008
(No comment was entered for this change.)
Labels: -Pri-2 -OS-All Pri-1 OS-Windows MagicBrowzr
Comment 12 by jmh010, Sep 27, 2008
Different bug, but related (I think):  going "Personalization->Window Color and 
Appearance->Open classic appearance properties for more color options->Advanced-
>Item:Border Padding" and making the padding "0" (with the Windows Aero color scheme) 
produces very thin, clean looking borders with the cool Aero effect.  (I love Aero 
but I also love how Mac apps have no border around them, so this is an awesome mix.)  
However, Chrome keeps the padding at the Vista default of "4" and has a weird line 
through it, almost suggest where the real border should be.
chrome problem.PNG
38.9 KB   View   Download
chrome problem 2.PNG
41.6 KB   View   Download
Comment 13 by jmh010, Oct 02, 2008
What is the MagicBrowzr thing?  Why is the label named that?
Comment 14 by thatan...@google.com, Oct 03, 2008
(No comment was entered for this change.)
Cc: thatan...@google.com
Comment 15 by anantha@chromium.org, Jan 09, 2009
 Issue 2897  has been merged into this issue.
Comment 16 by gbouck, Jan 16, 2009
I can confirm this as well. Both Border Padding and switching from Aero to Basic and 
vice versa.
Comment 17 by soucazemael, Feb 04, 2009
I confirm that.
Comment 18 by Ben.Lings, Feb 04, 2009
I think this and  Issue 747  are related.
Comment 19 by ben.at.chromium.org, Feb 28, 2009
(No comment was entered for this change.)
Status: Assigned
Labels: -MagicBrowzr Mstone-2.0
Comment 20 by DChiuch, Feb 28, 2009
I can confirm that this bug occurs.
Comment 21 by jon@chromium.org, Mar 02, 2009
This should not block beta.  Moving this to a P2.
Labels: -Pri-1 Pri-2
Comment 22 by bugdroid1@chromium.org, Mar 02, 2009
The following revision refers to this bug:
    http://src.chromium.org/viewvc/chrome?view=rev&revision=10757 

------------------------------------------------------------------------
r10757 | ben@chromium.org | 2009-03-02 16:28:00 -0800 (Mon, 02 Mar 2009) | 34 lines
Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/browser_focus_uitest.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/browser_views.vcproj?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/constrained_window_impl.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/constrained_window_impl.h?r1=10757&r2=10756
   D /trunk/src/chrome/browser/views/frame/aero_glass_frame.cc
   D /trunk/src/chrome/browser/views/frame/aero_glass_frame.h
   D /trunk/src/chrome/browser/views/frame/aero_glass_non_client_view.cc
   D /trunk/src/chrome/browser/views/frame/aero_glass_non_client_view.h
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/frame/browser_frame.cc
   R /trunk/src/chrome/browser/views/frame/browser_frame.h (from /trunk/src/chrome/browser/views/frame/aero_glass_frame.h:10646)
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/frame/browser_view.cc?r1=10757&r2=10756
   D /trunk/src/chrome/browser/views/frame/browser_window_factory.cc
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/frame/glass_browser_frame_view.cc
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/frame/glass_browser_frame_view.h
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/frame/opaque_browser_frame_view.cc
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/frame/opaque_browser_frame_view.h
   D /trunk/src/chrome/browser/views/frame/opaque_frame.cc
   D /trunk/src/chrome/browser/views/frame/opaque_frame.h
   D /trunk/src/chrome/browser/views/frame/opaque_non_client_view.cc
   D /trunk/src/chrome/browser/views/frame/opaque_non_client_view.h
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/hung_renderer_view.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/info_bubble.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/tabs/tab_renderer.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/tabs/tab_renderer.h?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/tabs/tab_strip.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/toolbar_view.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/views/toolbar_view.h?r1=10757&r2=10756
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/custom_frame_view.cc
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/custom_frame_view.h
   D /trunk/src/chrome/views/custom_frame_window.cc
   D /trunk/src/chrome/views/custom_frame_window.h
   D /trunk/src/chrome/views/default_non_client_view.cc
   D /trunk/src/chrome/views/default_non_client_view.h
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/native_frame_view.cc
   A http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/native_frame_view.h
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/non_client_view.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/non_client_view.h?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/root_view.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/root_view.h?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/view.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/view.h?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/views.vcproj?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/widget.h?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/widget_win.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/widget_win.h?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/window.cc?r1=10757&r2=10756
   M http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/window.h?r1=10757&r2=10756

Support DWM switching.

This completes the collapsing of window types and browser frames around a single class: views::Window. CustomFrameWindow is removed with this change.

The Browser window is represented by a single views::Window subclass: BrowserFrame, which replaces both AeroGlassFrame and OpaqueFrame.

NonClientView is now a container of two sibling classes - the Window's ClientView (in the Browser's case, BrowserView), and a NonClientFrameView subclass, which provides the rendering for the non-client portions of the window. These Views are siblings rather than the ClientView a child of the NonClientFrameView because when the DWM is toggled, the ClientView would have to be re-parented. Many Views make the assumption they are only inserted into a View hierarchy once, and so this is problematic. By having the views be siblings, this is avoided.

With this in mind, all of the former NonClientViews now become NonClientFrameView subclasses:

DefaultNonClientView -> CustomFrameView
(non-existent, NonClientView) -> NativeFrameView
AeroGlassNonClientView -> GlassBrowserFrameView
OpaqueNonClientView -> OpaqueBrowserFrameView

The latter two derive from NonClientFrameView via BrowserNonClientFrameView, which adds some extras.

I also had to modify the TabRenderer class to know how to drop its cache of tab background images when the theme changes since it uses different ones for Glass and non-Glass.

This change also fixes a few non-client flicker issues relating to window non-client activation by using more ScopedRedrawLocks. (Touches info_bubble.cc, window.cc)

Bugs fixed:
http://crbug.com/153
http://crbug.com/747
http://crbug.com/2371
http://crbug.com/3264
http://crbug.com/8234
Plumbing for http://crbug.com/8247

Design docs:
http://dev.chromium.org/developers/design-documents/views-windowing
http://dev.chromium.org/developers/design-documents/browser-window

Review URL: http://codereview.chromium.org/27317
------------------------------------------------------------------------

Comment 23 by ben.at.chromium.org, Mar 02, 2009
(No comment was entered for this change.)
Status: Fixed
Sign in to add a comment

Powered by Google Project Hosting