| Index: ui/views/widget/desktop_aura/desktop_root_window_host_x11.h
|
| diff --git a/ui/views/widget/desktop_aura/desktop_root_window_host_x11.h b/ui/views/widget/desktop_aura/desktop_root_window_host_x11.h
|
| index e2a936e238332ebf059e4de0e87595091e3a696f..3b7fad59ea4b6b425d7af25df6f9e6ff4ec19574 100644
|
| --- a/ui/views/widget/desktop_aura/desktop_root_window_host_x11.h
|
| +++ b/ui/views/widget/desktop_aura/desktop_root_window_host_x11.h
|
| @@ -15,6 +15,7 @@
|
| #include "ui/aura/client/cursor_client.h"
|
| #include "ui/aura/root_window_host.h"
|
| #include "ui/base/cursor/cursor_loader_x11.h"
|
| +#include "ui/base/dragdrop/desktop_selection_provider_aurax11.h"
|
| #include "ui/base/x/x11_atom_cache.h"
|
| #include "ui/gfx/rect.h"
|
| #include "ui/views/views_export.h"
|
| @@ -30,6 +31,7 @@ class ScreenPositionClient;
|
| namespace views {
|
| class DesktopActivationClient;
|
| class DesktopCaptureClient;
|
| +class DesktopDragDropClientAuraX11;
|
| class DesktopDispatcherClient;
|
| class X11DesktopWindowMoveClient;
|
| class X11WindowEventFilter;
|
| @@ -41,6 +43,7 @@ class CursorManager;
|
| class VIEWS_EXPORT DesktopRootWindowHostX11
|
| : public DesktopRootWindowHost,
|
| public aura::RootWindowHost,
|
| + public ui::DesktopSelectionProviderAuraX11,
|
| public MessageLoop::Dispatcher {
|
| public:
|
| DesktopRootWindowHostX11(
|
| @@ -171,6 +174,10 @@ class VIEWS_EXPORT DesktopRootWindowHostX11
|
| virtual void OnDeviceScaleFactorChanged(float device_scale_factor) OVERRIDE;
|
| virtual void PrepareForShutdown() OVERRIDE;
|
|
|
| + // Overridden from DesktopSelectionProviderAuraX11:
|
| + virtual void SetDropHandler(
|
| + ui::OSExchangeDataProviderAuraX11* handler) OVERRIDE;
|
| +
|
| // Overridden from Dispatcher:
|
| virtual bool Dispatch(const base::NativeEvent& event) OVERRIDE;
|
|
|
| @@ -208,6 +215,7 @@ class VIEWS_EXPORT DesktopRootWindowHostX11
|
| scoped_ptr<views::corewm::CursorManager> cursor_client_;
|
| scoped_ptr<DesktopDispatcherClient> dispatcher_client_;
|
| scoped_ptr<aura::client::ScreenPositionClient> position_client_;
|
| + scoped_ptr<DesktopDragDropClientAuraX11> drag_drop_client_;
|
|
|
| // Current Aura cursor.
|
| gfx::NativeCursor current_cursor_;
|
| @@ -224,6 +232,9 @@ class VIEWS_EXPORT DesktopRootWindowHostX11
|
| aura::RootWindowHostDelegate* root_window_host_delegate_;
|
| aura::Window* content_window_;
|
|
|
| + // We forward drop related messages to this object.
|
| + ui::OSExchangeDataProviderAuraX11* drop_handler_;
|
| +
|
| // The current root window host that has capture. While X11 has something
|
| // like Windows SetCapture()/ReleaseCapture(), it is entirely implicit and
|
| // there are no notifications when this changes. We need to track this so we
|
|
|