diff options
author | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-01 23:00:02 +0000 |
---|---|---|
committer | msw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-01 23:00:02 +0000 |
commit | 1140046f0868117776b6df7e7c99c5bf3dd23731 (patch) | |
tree | 452207ccf4055c2b6caac65ff64495c44273bad7 /ui/views/win | |
parent | ddbe277fef3481dc636c8c1d04e63d785ee4200a (diff) | |
download | chromium_src-1140046f0868117776b6df7e7c99c5bf3dd23731.zip chromium_src-1140046f0868117776b6df7e7c99c5bf3dd23731.tar.gz chromium_src-1140046f0868117776b6df7e7c99c5bf3dd23731.tar.bz2 |
Fix DisableInactiveRendering issue for Views bubbles.
Fix HWNDMessageHandler::OnNCActivate re-enabling inactive rendering.
(the intent is to check if the window is becoming active)
Note that the original code contradicts this notion:
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/views/window.cc?r1=10757&r2=10756&pathrev=10757
Only ever show the Win-specific border widget inactive.
(there's no reason to activate the simple border/frame)
BUG=158369
TEST=Chrome doesn't appear inactive when bubbles are open, no regressions.
R=ben@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11365040
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165541 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/win')
-rw-r--r-- | ui/views/win/hwnd_message_handler.cc | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc index 70ed1bf..b72c08c 100644 --- a/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc @@ -1586,10 +1586,9 @@ LRESULT HWNDMessageHandler::OnNCActivate(BOOL active) { EnumChildWindows(hwnd(), EnumChildWindowsForRedraw, NULL); } - // If we're active again, we should be allowed to render as inactive, so - // tell the non-client view. + // On activation, lift any prior restriction against rendering as inactive. bool inactive_rendering_disabled = delegate_->IsInactiveRenderingDisabled(); - if (IsActive()) + if (active && inactive_rendering_disabled) delegate_->EnableInactiveRendering(); // Avoid DefWindowProc non-client rendering over our custom frame on newer |