My favorites | Sign in
Logo
             
New issue | Search
for
| Advanced search | Search tips
Issue 747: Window frame (tab bar and minimize/maximize/close) do not redraw when switching from Aero to Basic over RDP
3 people starred this issue and may be notified of changes. Back to list
Status:  Fixed
Owner:  ben.at.chromium.org
Closed:  Mar 2009
Type-Bug
Pri-2
OS-All
Area-BrowserUI
Mstone-2.0


Sign in to add a comment
 
Reported by iyoung, Sep 03, 2008
Product Version      : 0.2.149.27
URLs (if applicable) :
Other browsers tested:
Add OK or FAIL after other browsers where you have tested this issue:
Safari 3:
Firefox 3:
IE 7:

What steps will reproduce the problem?
1. Run Chrome under Aero Glass
2. remotely connect to session via RDP ("Remote Desktop")
3. Window area does not redraw, remains black, and window control buttons 
do not respond (when clicking where they should be).

What is the expected result?
Chrome should load with opaque window border

What happens instead?
upper window border is invisible


Please provide any additional information below. Attach a screenshot if 
possible.

On a Lenovo ThinkPad X61
 
Comment 1 by daveeeh, Sep 03, 2008
also noticed this but not over RDP.  Computer switched to basic from aero and the bar 
behind the tabs just disappeared.
Comment 2 by Ben.Lings, Sep 10, 2008
See the same thing here. Vista Enterprise SP1. Chrome 0.2.149.29 (1798).

1. Run Chrome under Aero Glass
2. Switch to basic (eg. run an application that isn't compatible with Glass)
3. Title bar area turns black.

See attached screenshot.
chrome-title-bar.png
17.4 KB   View   Download
Comment 3 by drpizza, Sep 25, 2008
I think this bug has now changed form somewhat.

I started Chrome over RDP (no glass) and (naturally) got the blue non-glass borders. 
I then attached to the same session at the console (with glass), but Chrome retained 
its blue borders; it didn't revert to glass, even though that is what it should do.
Comment 4 by mal.chromium, Sep 29, 2008
(No comment was entered for this change.)
Labels: -area-unknown Area-Misc
Comment 5 by jon@chromium.org, Feb 03, 2009
Would you please try this again with one of our dev channel releases?  You can learn 
more about the dev channel and how to switch at http://dev.chromium.org/getting-
involved/dev-channel

If I don't hear back from you by March 1st I will assume the issue can be closed as 
Fixed.

Status: Assigned
Owner: j...@chromium.org
Labels: -Area-Misc Area-BrowserUI Mstone-2.0 Close20090301
Comment 7 by Ben.Lings, Feb 04, 2009
Still seeing this effect when switching from Aero Glass to Aero Basic (not under 
RDP).

Vista Enterprise SP1.  Chrome 2.0.159.0 (dev channel)

1. Run Chrome under Aero Glass
2. Switch to basic (eg. run an application that isn't compatible with Glass)
3. Title bar area turns black.

See attached screenshot.
chrome-title-bar.png
19.3 KB   View   Download
Comment 8 by jon@chromium.org, Feb 04, 2009
Peter, is this related to the work you have been doing?
Owner: pkast...@chromium.org
Labels: -Close20090301
Comment 9 by pkasting@chromium.org, Feb 04, 2009
No, this would probably be a dupe of any bugs we have on not supporting theme 
changes.
Comment 10 by pkasting@chromium.org, Feb 23, 2009
(No comment was entered for this change.)
Status: Available
Owner: ---
Comment 11 by ben.at.chromium.org, Feb 28, 2009
(No comment was entered for this change.)
Status: Assigned
Owner: b...@chromium.org
Comment 12 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 13 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