Index: ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc |
diff --git a/ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc b/ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc |
index 54f423c8ea27fb71ce38e013b14dbc177002318c..37c9fa76d7a05c54380e9aaf3db06e5ac95abb54 100644 |
--- a/ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc |
+++ b/ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc |
@@ -89,6 +89,7 @@ const char* kAtomsToCache[] = { |
"_NET_WM_STATE_SKIP_TASKBAR", |
"_NET_WM_WINDOW_OPACITY", |
"_NET_WM_WINDOW_TYPE", |
+ "_NET_WM_WINDOW_TYPE_DND", |
"_NET_WM_WINDOW_TYPE_MENU", |
"_NET_WM_WINDOW_TYPE_NORMAL", |
"_NET_WM_WINDOW_TYPE_NOTIFICATION", |
@@ -923,7 +924,6 @@ void DesktopRootWindowHostX11::InitX11Window( |
switch (params.type) { |
case Widget::InitParams::TYPE_MENU: |
swa.override_redirect = True; |
- attribute_mask |= CWOverrideRedirect; |
window_type = atom_cache_.GetAtom("_NET_WM_WINDOW_TYPE_MENU"); |
break; |
case Widget::InitParams::TYPE_TOOLTIP: |
@@ -931,13 +931,18 @@ void DesktopRootWindowHostX11::InitX11Window( |
break; |
case Widget::InitParams::TYPE_POPUP: |
swa.override_redirect = True; |
- attribute_mask |= CWOverrideRedirect; |
window_type = atom_cache_.GetAtom("_NET_WM_WINDOW_TYPE_NOTIFICATION"); |
break; |
+ case Widget::InitParams::TYPE_DRAG: |
+ swa.override_redirect = True; |
+ window_type = atom_cache_.GetAtom("_NET_WM_WINDOW_TYPE_DND"); |
+ break; |
default: |
window_type = atom_cache_.GetAtom("_NET_WM_WINDOW_TYPE_NORMAL"); |
break; |
} |
+ if (swa.override_redirect) |
+ attribute_mask |= CWOverrideRedirect; |
bounds_ = params.bounds; |
xwindow_ = XCreateWindow( |