Comment #108 on issue 20 by a...@chromium.org: Taskbar autohide doesn't  
work if you enable it while Chrome is maximized
http://code.google.com/p/chromium/issues/detail?id=20

Here's some background:

Basic problem here is that chrome top level windows don't have any  
non-client area
except borders. When such window is maximized (even using DefWindowProc),  
the task
bar performs a check to see if the currently maximized window is a 'full  
screen' app.

A 'full screen app' is something that has its entire client area stretched  
to the
screen. A normal window usually has some non-client elements like a title  
bar or menu
so the client area doesn't stretch the entire screen. Since that's not the  
case for
chrome, the taskbar detects that it's a full screen application and hides  
itself
behind maximized chrome window.

Previous fixes have been workarounds to reduce the client area by 1 pixel  
so that we
don't get marked as full screen apps. This is done by handling  
WM_GETMINMAXINFO and
reducing the size of the client area. However, things work little  
differently on
Vista and even if we return the reduced client area, the subsequent  
handling of
WM_SYSCOMMAND of SC_MAXIMIZE reverts it. The right thing to do here is  
probably
implement WM_SYSCOMMAND for SC_MAXIMIZE. This implementation is non-trivial.

On vista, I added another hack to reduce the client area by a larger amount  
so that
the DefWindowProc of WM_SYSCOMMAND for SC_MAXIMIZE would honor the new  
size. This
hack has its own set of drawbacks.



--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to