Index: ui/aura/root_window_host_linux.cc |
diff --git a/ui/aura/root_window_host_linux.cc b/ui/aura/root_window_host_linux.cc |
index 1f8cc0d1431cf0e3bcd670b3ca9694ebfa67b05a..6eea168a47f49487b14eb26396a618e30070b466 100644 |
--- a/ui/aura/root_window_host_linux.cc |
+++ b/ui/aura/root_window_host_linux.cc |
@@ -511,6 +511,22 @@ bool RootWindowHostLinux::Dispatch(const base::NativeEvent& event) { |
delegate_->OnHostResized(bounds.size()); |
if (origin_changed) |
delegate_->OnHostMoved(bounds_.origin()); |
+#if defined(OS_CHROMEOS) |
+ // TODO(oshima): Clear the root when the window is moved or |
+ // resized while the extended desktop is disabled. |
+ // crbug.com/152003. |
+ if (base::chromeos::IsRunningOnChromeOS()) { |
+ XGCValues gc_values = {0}; |
+ gc_values.foreground = BlackPixel(xdisplay_, DefaultScreen(xdisplay_)); |
+ GC gc = XCreateGC(xdisplay_, x_root_window_, GCForeground, &gc_values); |
+ XFillRectangle(xdisplay_, x_root_window_, gc, |
+ x_root_bounds_.x(), |
+ x_root_bounds_.y(), |
+ x_root_bounds_.width(), |
+ x_root_bounds_.height()); |
+ XFreeGC(xdisplay_, gc); |
+ } |
+#endif |
break; |
} |
case GenericEvent: |