anchor.diff:            controller.add(e);
           };
   
  -        // If new trigger logic is enabled listen to mouse down events. When it
  -        // is not enabled old logic will be used because the lastMouseDown event
  -        // will always be null.
  -        if (enableNewTriggerLogic) {
  -          // Keep track of mousedown events so that we can filter mouseup events
  -          // that occurred on a different element than the mousedown.
  -          mouseDownListener = document.onMouseDown.listen((MouseEvent e) {
  -            lastDownEvent = e;
  -          });
  -        }
  +        // Keep track of mousedown events so that we can filter mouseup events
  +        // that occurred on a different element than the mousedown.
  +        mouseDownListener = document.onMouseDown.listen((MouseEvent e) {
  +          lastDownEvent = e;
  +        });
   
           // Listen to mouseup to prevent scenarios where a single click event
           // both opens and closes an element.
  
positive.code:   return triggersOutsideAny((node) => node == element);
  }
  
  /// Flag to enable new trigger logic which will use mouse down to determine if
  /// a mouse up or click event should be listened to.
  ///
  /// Defaults to true for DDC tests/development, and false for
  /// dart2js tests/production when it is not explicitly set.
  bool enableNewTriggerLogic;
  
  /// A stream of click, mouseup or focus events of any node none of whose parents
  /// pass the check inside function.
  Stream<Event> triggersOutsideAny(Predicate<Node> checkNodeInside) {
  
negative.code:   StreamSubscription<MouseEvent> mouseDownListener;
    StreamSubscription<MouseEvent> mouseUpListener;
    EventListener listener;
  
    controller = StreamController.broadcast(
        sync: true,
  