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 ab24051d24d067fff98ff44496cbadcff145924e..e82f2c00b34dead422043b9cc00d0b349e3192ff 100644 |
--- a/chrome/browser/ui/panels/panel_browser_view.cc |
+++ b/chrome/browser/ui/panels/panel_browser_view.cc |
@@ -542,19 +542,26 @@ bool PanelBrowserView::EndDragging(bool cancelled) { |
void PanelBrowserView::SetPanelAppIconVisibility(bool visible) { |
#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: |