Index: chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc |
diff --git a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc |
index 835567791cb28791ad33add8594b8ee9c8c70f0b..a326c974d760fe538cc30dc985d43617b367a5be 100644 |
--- a/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc |
+++ b/chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc |
@@ -10,6 +10,7 @@ |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/themes/theme_service.h" |
#include "chrome/browser/themes/theme_service_factory.h" |
+#include "chrome/browser/ui/browser_list.h" |
#include "chrome/browser/ui/libgtk2ui/gtk2_ui.h" |
#include "chrome/browser/ui/simple_message_box.h" |
#include "chrome/browser/ui/views/frame/browser_view.h" |
@@ -28,6 +29,7 @@ |
#include "ui/native_theme/native_theme_dark_aura.h" |
#include "ui/views/linux_ui/linux_ui.h" |
#include "ui/views/widget/desktop_aura/desktop_screen.h" |
+#include "ui/views/widget/desktop_aura/x11_desktop_handler.h" |
#include "ui/views/widget/native_widget_aura.h" |
namespace { |
@@ -89,6 +91,8 @@ void ChromeBrowserMainExtraPartsViewsLinux::PreCreateThreads() { |
views::LinuxUI::instance()->MaterialDesignControllerReady(); |
views::LinuxUI::instance()->UpdateDeviceScaleFactor( |
display::Screen::GetScreen()->GetPrimaryDisplay().device_scale_factor()); |
+ |
+ views::X11DesktopHandler::get()->AddObserver(this); |
} |
void ChromeBrowserMainExtraPartsViewsLinux::PreProfileInit() { |
@@ -117,3 +121,8 @@ void ChromeBrowserMainExtraPartsViewsLinux::PreProfileInit() { |
exit(EXIT_FAILURE); |
} |
+ |
+void ChromeBrowserMainExtraPartsViewsLinux::OnWorkspaceChanged( |
+ const std::string& new_workspace) { |
+ BrowserList::ReorderAfterWorkspaceChange(new_workspace); |
+} |