Index: chrome/browser/ui/panels/panel_browser_window_gtk.cc |
diff --git a/chrome/browser/ui/panels/panel_browser_window_gtk.cc b/chrome/browser/ui/panels/panel_browser_window_gtk.cc |
index c9342e02c86ccdf031a714d97855f9a16d7598d2..d934806ab45babbb35b989d62c7eeaeb76328d75 100644 |
--- a/chrome/browser/ui/panels/panel_browser_window_gtk.cc |
+++ b/chrome/browser/ui/panels/panel_browser_window_gtk.cc |
@@ -13,6 +13,7 @@ |
#include "content/public/browser/notification_service.h" |
#include "ui/base/animation/slide_animation.h" |
#include "ui/base/dragdrop/gtk_dnd_util.h" |
+#include "ui/base/x/work_area_watcher_x.h" |
namespace { |
@@ -70,6 +71,7 @@ PanelBrowserWindowGtk::~PanelBrowserWindowGtk() { |
DestroyDragWidget(); |
} |
panel_->OnNativePanelClosed(); |
+ ui::WorkAreaWatcherX::RemoveObserver(this); |
} |
void PanelBrowserWindowGtk::Init() { |
@@ -92,6 +94,8 @@ void PanelBrowserWindowGtk::Init() { |
G_CALLBACK(OnTitlebarButtonPressEventThunk), this); |
g_signal_connect(titlebar_widget(), "button-release-event", |
G_CALLBACK(OnTitlebarButtonReleaseEventThunk), this); |
+ |
+ ui::WorkAreaWatcherX::AddObserver(this); |
} |
bool PanelBrowserWindowGtk::GetWindowEdge(int x, int y, GdkWindowEdge* edge) { |
@@ -225,6 +229,10 @@ BrowserWindowGtk::TitleDecoration PanelBrowserWindowGtk::GetWindowTitle( |
} |
} |
+void PanelBrowserWindowGtk::WorkAreaChanged() { |
+ panel_->manager()->OnDisplayChanged(); |
+} |
+ |
void PanelBrowserWindowGtk::ShowPanel() { |
Show(); |
} |