Index: services/ui/ws/event_dispatcher.h |
diff --git a/services/ui/ws/event_dispatcher.h b/services/ui/ws/event_dispatcher.h |
index 0bbac9e0417285c36b32f4ec09421fbc6ee6c1f6..e457c1cc205db3140e7d34f513f0e02780266cee 100644 |
--- a/services/ui/ws/event_dispatcher.h |
+++ b/services/ui/ws/event_dispatcher.h |
@@ -26,8 +26,12 @@ class LocatedEvent; |
namespace ws { |
class Accelerator; |
+class DragController; |
+class DragSource; |
+class DragTargetConnection; |
class EventDispatcherDelegate; |
class ServerWindow; |
+class WindowTree; |
namespace test { |
class EventDispatcherTestApi; |
@@ -75,6 +79,17 @@ class EventDispatcher : public ServerWindowObserver { |
return capture_window_client_id_; |
} |
+ void SetDragDropSourceWindow( |
+ DragSource* drag_source, |
+ ServerWindow* window, |
+ DragTargetConnection* source_connection, |
+ int32_t drag_pointer, |
+ mojo::Map<mojo::String, mojo::Array<uint8_t>> mime_data, |
+ uint32_t drag_operations); |
+ void EndDragDrop(); |
+ |
+ void OnWillDestroyDragTargetConnection(DragTargetConnection* connection); |
+ |
// Adds a system modal window. The window remains modal to system until it is |
// destroyed. There can exist multiple system modal windows, in which case the |
// one that is visible and added most recently or shown most recently would be |
@@ -204,6 +219,10 @@ class EventDispatcher : public ServerWindowObserver { |
ServerWindow* FindDeepestVisibleWindowForEvents(gfx::Point* location); |
+ // Clears the implicit captures in |pointer_targets_|, with the exception of |
+ // |window|. |window| may be null. |
+ void CancelImplicitCaptureExcept(ServerWindow* window); |
+ |
// ServerWindowObserver: |
void OnWillChangeWindowHierarchy(ServerWindow* window, |
ServerWindow* new_parent, |
@@ -216,6 +235,8 @@ class EventDispatcher : public ServerWindowObserver { |
ServerWindow* capture_window_; |
ClientSpecificId capture_window_client_id_; |
+ std::unique_ptr<DragController> drag_controller_; |
+ |
ModalWindowController modal_window_controller_; |
bool mouse_button_down_; |