Index: ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11_unittest.cc |
diff --git a/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11_unittest.cc b/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11_unittest.cc |
index b911bc412bcefa3f1b1a7f652b9b53f250dd1254..4286d1873a51805d09053f9c4e900e3213a46332 100644 |
--- a/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11_unittest.cc |
+++ b/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11_unittest.cc |
@@ -10,7 +10,6 @@ |
#include "ui/views/test/views_test_base.h" |
#include "base/memory/scoped_ptr.h" |
-#include "base/run_loop.h" |
#include "base/strings/utf_string_conversions.h" |
#include "ui/aura/window.h" |
#include "ui/aura/window_tree_host.h" |
@@ -22,7 +21,6 @@ |
#include "ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.h" |
#include "ui/views/widget/desktop_aura/desktop_native_cursor_manager.h" |
#include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" |
-#include "ui/views/widget/desktop_aura/x11_move_loop.h" |
#include "ui/views/widget/widget.h" |
#include <X11/Xlib.h> |
@@ -75,34 +73,6 @@ |
DISALLOW_COPY_AND_ASSIGN(ClientMessageEventCollector); |
}; |
-// An implementation of X11MoveLoop where RunMoveLoop() always starts the move |
-// loop. |
-class TestMoveLoop : public X11MoveLoop { |
- public: |
- explicit TestMoveLoop(X11MoveLoopDelegate* delegate); |
- virtual ~TestMoveLoop(); |
- |
- // Returns true if the move loop is running. |
- bool IsRunning() const; |
- |
- // X11MoveLoop: |
- virtual bool RunMoveLoop(aura::Window* window, |
- gfx::NativeCursor cursor) OVERRIDE; |
- virtual void UpdateCursor(gfx::NativeCursor cursor) OVERRIDE; |
- virtual void EndMoveLoop() OVERRIDE; |
- virtual void SetDragImage(const gfx::ImageSkia& image, |
- const gfx::Vector2dF& offset) OVERRIDE; |
- |
- private: |
- // Not owned. |
- X11MoveLoopDelegate* delegate_; |
- |
- // Ends the move loop. |
- base::Closure quit_closure_; |
- |
- bool is_running_; |
-}; |
- |
// Implementation of DesktopDragDropClientAuraX11 which works with a fake |
// |DesktopDragDropClientAuraX11::source_current_window_|. |
class TestDragDropClient : public DesktopDragDropClientAuraX11 { |
@@ -152,10 +122,18 @@ |
// Returns true if the move loop is running. |
bool IsMoveLoopRunning(); |
+ // DesktopDragDropClientAuraX11: |
+ virtual int StartDragAndDrop( |
+ const ui::OSExchangeData& data, |
+ aura::Window* root_window, |
+ aura::Window* source_window, |
+ const gfx::Point& root_location, |
+ int operation, |
+ ui::DragDropTypes::DragEventSource source) OVERRIDE; |
+ virtual void OnMoveLoopEnded() OVERRIDE; |
+ |
private: |
// DesktopDragDropClientAuraX11: |
- virtual scoped_ptr<X11MoveLoop> CreateMoveLoop( |
- X11MoveLoopDelegate* delegate) OVERRIDE; |
virtual ::Window FindWindowFor(const gfx::Point& screen_point) OVERRIDE; |
virtual void SendXClientEvent(::Window xid, XEvent* event) OVERRIDE; |
@@ -166,8 +144,8 @@ |
// current mouse position. |
::Window target_xid_; |
- // The move loop. Not owned. |
- TestMoveLoop* loop_; |
+ // Whether the move loop is running. |
+ bool move_loop_running_; |
// Map of ::Windows to the collector which intercepts XClientMessageEvents |
// for that window. |
@@ -202,46 +180,6 @@ |
void ClientMessageEventCollector::RecordEvent( |
const XClientMessageEvent& event) { |
events_.push_back(event); |
-} |
- |
-/////////////////////////////////////////////////////////////////////////////// |
-// TestMoveLoop |
- |
-TestMoveLoop::TestMoveLoop(X11MoveLoopDelegate* delegate) |
- : delegate_(delegate), |
- is_running_(false) { |
-} |
- |
-TestMoveLoop::~TestMoveLoop() { |
-} |
- |
-bool TestMoveLoop::IsRunning() const { |
- return is_running_; |
-} |
- |
-bool TestMoveLoop::RunMoveLoop( |
- aura::Window* window, |
- gfx::NativeCursor cursor) { |
- is_running_ = true; |
- base::RunLoop run_loop; |
- quit_closure_ = run_loop.QuitClosure(); |
- run_loop.Run(); |
- return true; |
-} |
- |
-void TestMoveLoop::UpdateCursor(gfx::NativeCursor cursor) { |
-} |
- |
-void TestMoveLoop::EndMoveLoop() { |
- if (is_running_) { |
- delegate_->OnMoveLoopEnded(); |
- is_running_ = false; |
- quit_closure_.Run(); |
- } |
-} |
- |
-void TestMoveLoop::SetDragImage(const gfx::ImageSkia& image, |
- const gfx::Vector2dF& offset) { |
} |
/////////////////////////////////////////////////////////////////////////////// |
@@ -262,7 +200,7 @@ |
window->GetHost()->GetAcceleratedWidget()), |
source_xid_(window->GetHost()->GetAcceleratedWidget()), |
target_xid_(None), |
- loop_(NULL), |
+ move_loop_running_(false), |
atom_cache_(gfx::GetXDisplay(), kAtomsToCache) { |
} |
@@ -328,13 +266,24 @@ |
} |
bool TestDragDropClient::IsMoveLoopRunning() { |
- return loop_->IsRunning(); |
-} |
- |
-scoped_ptr<X11MoveLoop> TestDragDropClient::CreateMoveLoop( |
- X11MoveLoopDelegate* delegate) { |
- loop_ = new TestMoveLoop(delegate); |
- return scoped_ptr<X11MoveLoop>(loop_); |
+ return move_loop_running_; |
+} |
+ |
+int TestDragDropClient::StartDragAndDrop( |
+ const ui::OSExchangeData& data, |
+ aura::Window* root_window, |
+ aura::Window* source_window, |
+ const gfx::Point& root_location, |
+ int operation, |
+ ui::DragDropTypes::DragEventSource source) { |
+ move_loop_running_ = true; |
+ return DesktopDragDropClientAuraX11::StartDragAndDrop(data, root_window, |
+ source_window, root_location, operation, source); |
+} |
+ |
+void TestDragDropClient::OnMoveLoopEnded() { |
+ DesktopDragDropClientAuraX11::OnMoveLoopEnded(); |
+ move_loop_running_ = false; |
} |
::Window TestDragDropClient::FindWindowFor(const gfx::Point& screen_point) { |
@@ -389,7 +338,6 @@ |
client_.reset(new TestDragDropClient(widget_->GetNativeWindow(), |
cursor_manager_.get())); |
- client_->Init(); |
} |
virtual void TearDown() OVERRIDE { |