Index: chrome/browser/ui/panels/panel_browser_view.cc |
diff --git a/chrome/browser/ui/panels/panel_browser_view.cc b/chrome/browser/ui/panels/panel_browser_view.cc |
index 92daaa3b372e838fc27f89b9780dc515e1461371..7139b9c7fa4a24a0beea43aae87e21e9b9c3a3e0 100644 |
--- a/chrome/browser/ui/panels/panel_browser_view.cc |
+++ b/chrome/browser/ui/panels/panel_browser_view.cc |
@@ -522,21 +522,29 @@ bool PanelBrowserView::EndDragging(bool cancelled) { |
} |
void PanelBrowserView::SetPanelAppIconVisibility(bool visible) { |
+ // The panel should not show app icon in the desktop bar if it is in overflow. |
jennb
2012/03/08 23:41:09
Delete. If you need such a comment, it belongs in
jianli
2012/03/09 21:48:58
Done.
|
#if defined(OS_WIN) && !defined(USE_AURA) |
gfx::NativeWindow native_window = GetNativeHandle(); |
- ::ShowWindow(native_window, SW_HIDE); |
int style = ::GetWindowLong(native_window, GWL_EXSTYLE); |
+ int new_style = style; |
if (visible) |
- style &= (~WS_EX_TOOLWINDOW); |
+ new_style &= (~WS_EX_TOOLWINDOW); |
else |
- style |= WS_EX_TOOLWINDOW; |
- ::SetWindowLong(native_window, GWL_EXSTYLE, style); |
- ::ShowWindow(native_window, SW_SHOWNA); |
+ new_style |= WS_EX_TOOLWINDOW; |
+ if (style != new_style) { |
+ ::ShowWindow(native_window, SW_HIDE); |
+ ::SetWindowLong(native_window, GWL_EXSTYLE, new_style); |
+ ::ShowWindow(native_window, SW_SHOWNA); |
+ } |
#else |
NOTIMPLEMENTED(); |
#endif |
} |
+void PanelBrowserView::SetPanelAlwaysOnTop(bool on_top) { |
+ GetWidget()->SetAlwaysOnTop(on_top); |
+} |
+ |
// NativePanelTesting implementation. |
class NativePanelTestingWin : public NativePanelTesting { |
public: |