Index: ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
index 236fb0884bb753694f82dc9af222848015650eb5..71e74fb73bab98378f50ee479fb0cb40e02ccde7 100644 |
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc |
@@ -304,7 +304,8 @@ void DesktopWindowTreeHostX11::OnNativeWidgetCreated( |
// TODO(erg): Unify this code once the other consumer goes away. |
SwapNonClientEventHandler( |
scoped_ptr<ui::EventHandler>(new X11WindowEventFilter(this)).Pass()); |
- SetUseNativeFrame(params.type == Widget::InitParams::TYPE_WINDOW && |
+ SetUseNativeFrame((params.type == Widget::InitParams::TYPE_WINDOW || |
+ params.type == Widget::InitParams::TYPE_DRAG_BROWSER) && |
!params.remove_standard_frame); |
x11_window_move_client_.reset(new X11DesktopWindowMoveClient); |
@@ -1099,6 +1100,9 @@ void DesktopWindowTreeHostX11::InitX11Window( |
swa.override_redirect = True; |
window_type = atom_cache_.GetAtom("_NET_WM_WINDOW_TYPE_DND"); |
break; |
+ case Widget::InitParams::TYPE_DRAG_BROWSER: |
+ swa.override_redirect = True; |
+ break; |
default: |
window_type = atom_cache_.GetAtom("_NET_WM_WINDOW_TYPE_NORMAL"); |
break; |
@@ -1279,6 +1283,14 @@ void DesktopWindowTreeHostX11::InitX11Window( |
OnAcceleratedWidgetAvailable(); |
} |
+void DesktopWindowTreeHostX11::RemapWindow() { |
+ XUnmapWindow(xdisplay_, xwindow_); |
+ XSetWindowAttributes swa; |
+ swa.override_redirect = False; |
Daniel Erat
2015/12/28 21:33:02
i wouldn't have expected a method named RemapWindo
stapelberg
2016/01/18 17:22:23
Done.
|
+ XChangeWindowAttributes(xdisplay_, xwindow_, CWOverrideRedirect, &swa); |
+ XMapWindow(xdisplay_, xwindow_); |
+} |
+ |
gfx::Size DesktopWindowTreeHostX11::AdjustSize( |
const gfx::Size& requested_size_in_pixels) { |
std::vector<gfx::Display> displays = |