Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Issue 484963002: Fix a long standing painting problem seen in the tabstrip on Windows Desktop Chrome. (Closed)

Created:
6 years, 4 months ago by ananta
Modified:
6 years, 4 months ago
Reviewers:
sky
CC:
chromium-reviews, tfarina
Project:
chromium
Visibility:
Public.

Description

Fix a long standing painting problem seen in the tabstrip on Windows Desktop Chrome. The problem appears when we switch away from an installed theme to glass while in fullscreen mode. Debugging this revealed the following:- 1. Windows sends the WM_DWMNCRENDERINGCHANGED message when DWM NC rendering is enabled or disabled for a window. The wParam in the message indicates if NC rendering is enabled. 2. In fullscreen mode if we attempt to transition a window to DWM we get the above message with wParam as TRUE which indicates that DWM is enabled. However we eventually receive this message again with wParam as FALSE indicating that DWM is turned off for the window. Some windbg debugging revealed that there is a function in the themes dll which turns off DWM for fullscreen windows. The painting problem occurs because we think we are in DWM and Windows does not. Attempted fix is to delay the DWM portion of the themes change until the window comes out of fullscreen mode. BUG=404564 R=sky@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=290941

Patch Set 1 #

Total comments: 2

Patch Set 2 : Added code to delay DWM until the window comes out of fullscreen #

Total comments: 4

Patch Set 3 : Code review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+65 lines, -28 lines) Patch
M ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M ui/views/win/hwnd_message_handler.h View 1 2 3 chunks +13 lines, -0 lines 0 comments Download
M ui/views/win/hwnd_message_handler.cc View 1 2 5 chunks +51 lines, -27 lines 0 comments Download

Messages

Total messages: 18 (0 generated)
ananta
6 years, 4 months ago (2014-08-19 02:04:07 UTC) #1
sky
https://codereview.chromium.org/484963002/diff/1/chrome/browser/ui/views/frame/browser_view.cc File chrome/browser/ui/views/frame/browser_view.cc (right): https://codereview.chromium.org/484963002/diff/1/chrome/browser/ui/views/frame/browser_view.cc#newcode1253 chrome/browser/ui/views/frame/browser_view.cc:1253: if (IsFullscreen()) This makes no sense to me. The ...
6 years, 4 months ago (2014-08-19 13:19:36 UTC) #2
ananta
https://codereview.chromium.org/484963002/diff/1/chrome/browser/ui/views/frame/browser_view.cc File chrome/browser/ui/views/frame/browser_view.cc (right): https://codereview.chromium.org/484963002/diff/1/chrome/browser/ui/views/frame/browser_view.cc#newcode1253 chrome/browser/ui/views/frame/browser_view.cc:1253: if (IsFullscreen()) On 2014/08/19 13:19:36, sky wrote: > This ...
6 years, 4 months ago (2014-08-20 02:28:06 UTC) #3
ananta
On 2014/08/20 02:28:06, ananta wrote: > https://codereview.chromium.org/484963002/diff/1/chrome/browser/ui/views/frame/browser_view.cc > File chrome/browser/ui/views/frame/browser_view.cc (right): > > https://codereview.chromium.org/484963002/diff/1/chrome/browser/ui/views/frame/browser_view.cc#newcode1253 > ...
6 years, 4 months ago (2014-08-20 03:51:21 UTC) #4
sky
https://codereview.chromium.org/484963002/diff/20001/ui/views/win/hwnd_message_handler.cc File ui/views/win/hwnd_message_handler.cc (right): https://codereview.chromium.org/484963002/diff/20001/ui/views/win/hwnd_message_handler.cc#newcode805 ui/views/win/hwnd_message_handler.cc:805: dwm_transition_desired_ = true; Shouldn't this be conditional on whether ...
6 years, 4 months ago (2014-08-20 15:25:56 UTC) #5
ananta
https://codereview.chromium.org/484963002/diff/20001/ui/views/win/hwnd_message_handler.cc File ui/views/win/hwnd_message_handler.cc (right): https://codereview.chromium.org/484963002/diff/20001/ui/views/win/hwnd_message_handler.cc#newcode805 ui/views/win/hwnd_message_handler.cc:805: dwm_transition_desired_ = true; On 2014/08/20 15:25:56, sky wrote: > ...
6 years, 4 months ago (2014-08-20 18:52:55 UTC) #6
sky
LGTM
6 years, 4 months ago (2014-08-20 19:20:53 UTC) #7
ananta
The CQ bit was checked by ananta@chromium.org
6 years, 4 months ago (2014-08-20 19:55:11 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ananta@chromium.org/484963002/100001
6 years, 4 months ago (2014-08-20 19:56:16 UTC) #9
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_gpu on tryserver.chromium.gpu ...
6 years, 4 months ago (2014-08-20 21:31:58 UTC) #10
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-20 21:36:50 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: linux_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/linux_gpu/builds/55130)
6 years, 4 months ago (2014-08-20 21:36:51 UTC) #12
ananta
The CQ bit was checked by ananta@chromium.org
6 years, 4 months ago (2014-08-20 21:37:20 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ananta@chromium.org/484963002/100001
6 years, 4 months ago (2014-08-20 21:38:51 UTC) #14
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). The failing builders are: linux_gpu on tryserver.chromium.gpu ...
6 years, 4 months ago (2014-08-20 22:30:19 UTC) #15
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 4 months ago (2014-08-20 22:34:33 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: linux_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/linux_gpu/builds/55185)
6 years, 4 months ago (2014-08-20 22:34:34 UTC) #17
ananta
6 years, 4 months ago (2014-08-20 22:59:57 UTC) #18
Message was sent while issue was closed.
Committed patchset #3 manually as 290941 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698