anchor.diff:          document.body.classes.remove(draggingClassBody);
         }
       }
  -    
  +
       // Reset.
       _resetCurrentDrag();
     }
  -  
  +
     /// Makes sure that a potential click event is ignored. This is necessary for
  -  /// [MouseEvent]s. We have to wait for and cancel a potential click event 
  -  /// happening after the mouseUp event. 
  +  /// [MouseEvent]s. We have to wait for and cancel a potential click event
  +  /// happening after the mouseUp event.
     void _suppressClickEvent() {
       StreamSubscription clickPreventer = _elementOrElementList.onClick.listen((event) {
         event.stopPropagation();
         event.preventDefault();
       });
  -    
  +
       // Wait until the end of event loop to see if a click event is fired.
       // Then cancel the listener.
       new Future(() {
  
positive.code: part of dnd;
  
  /// Info about the current drag operation. Must be a top-level variable so that 
  /// all [Draggable]s know when a drag operation is already handled.
  /// Is also used by the [Dropzone] because we can't pass an [Element] through
  /// the [CustomEvent]s.
  
negative.code:       // This is the case for InputElement with type 'file'.
      }
    }
  }
  
  
  /// Event used when a drag is detected.
  class DraggableEvent {
    /// The [Element] that is beeing dragged.
    final Element draggableElement;
  
    /// The [AvatarHandler] or null if there is none.
    final AvatarHandler avatarHandler;
  
    /// The original event which is either ...
    /// * a [MouseEvent],
    /// * a [TouchEvent],
    /// * a [KeyboardEvent] when the user clicks the esc-key, or
    /// * a normal [Event] when the window loses focus (blur event).
    final Event originalEvent;
  
    /// Position where the drag started, relative to the whole document (page
    /// position).
    final Point startPosition;
  
    /// The current mouse/touch position, relative to the whole document (page
    /// position).
    final Point position;
  
    /// Indicates if this [DraggableEvent] was [cancelled]. This is currently
    /// only used for [onDragEnd] events to indicate a drag end through a
    /// cancelling oparation like `esc` key or windows loosing focus.
    final bool cancelled;
  
    /// Private constructor for [DraggableEvent].
    DraggableEvent._(this.originalEvent, _DragInfo dragInfo, {this.cancelled: false})
        : draggableElement = dragInfo.element,
  