Update DDC libraries to match SDK, and debugger_test golden file

BUG=
R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2903333002 .
diff --git a/pkg/dev_compiler/tool/input_sdk/lib/html/dart2js/html_dart2js.dart b/pkg/dev_compiler/tool/input_sdk/lib/html/dart2js/html_dart2js.dart
index 796ae67..d0cb36a 100644
--- a/pkg/dev_compiler/tool/input_sdk/lib/html/dart2js/html_dart2js.dart
+++ b/pkg/dev_compiler/tool/input_sdk/lib/html/dart2js/html_dart2js.dart
@@ -10385,37 +10385,37 @@
   /// Stream of `drag` events handled by this [Document].
   @DomName('Document.ondrag')
   @DocsEditable()
-  Stream<DragEvent> get onDrag => Element.dragEvent.forTarget(this);
+  Stream<MouseEvent> get onDrag => Element.dragEvent.forTarget(this);
 
   /// Stream of `dragend` events handled by this [Document].
   @DomName('Document.ondragend')
   @DocsEditable()
-  Stream<DragEvent> get onDragEnd => Element.dragEndEvent.forTarget(this);
+  Stream<MouseEvent> get onDragEnd => Element.dragEndEvent.forTarget(this);
 
   /// Stream of `dragenter` events handled by this [Document].
   @DomName('Document.ondragenter')
   @DocsEditable()
-  Stream<DragEvent> get onDragEnter => Element.dragEnterEvent.forTarget(this);
+  Stream<MouseEvent> get onDragEnter => Element.dragEnterEvent.forTarget(this);
 
   /// Stream of `dragleave` events handled by this [Document].
   @DomName('Document.ondragleave')
   @DocsEditable()
-  Stream<DragEvent> get onDragLeave => Element.dragLeaveEvent.forTarget(this);
+  Stream<MouseEvent> get onDragLeave => Element.dragLeaveEvent.forTarget(this);
 
   /// Stream of `dragover` events handled by this [Document].
   @DomName('Document.ondragover')
   @DocsEditable()
-  Stream<DragEvent> get onDragOver => Element.dragOverEvent.forTarget(this);
+  Stream<MouseEvent> get onDragOver => Element.dragOverEvent.forTarget(this);
 
   /// Stream of `dragstart` events handled by this [Document].
   @DomName('Document.ondragstart')
   @DocsEditable()
-  Stream<DragEvent> get onDragStart => Element.dragStartEvent.forTarget(this);
+  Stream<MouseEvent> get onDragStart => Element.dragStartEvent.forTarget(this);
 
   /// Stream of `drop` events handled by this [Document].
   @DomName('Document.ondrop')
   @DocsEditable()
-  Stream<DragEvent> get onDrop => Element.dropEvent.forTarget(this);
+  Stream<MouseEvent> get onDrop => Element.dropEvent.forTarget(this);
 
   @DomName('Document.ondurationchange')
   @DocsEditable()
@@ -11857,38 +11857,6 @@
 // BSD-style license that can be found in the LICENSE file.
 
 @DocsEditable()
-@DomName('DragEvent')
-@Experimental() // untriaged
-@Native("DragEvent")
-class DragEvent extends MouseEvent {
-  // To suppress missing implicit constructor warnings.
-  factory DragEvent._() {
-    throw new UnsupportedError("Not supported");
-  }
-
-  @DomName('DragEvent.DragEvent')
-  @DocsEditable()
-  factory DragEvent(String type, [Map eventInitDict]) {
-    if (eventInitDict != null) {
-      var eventInitDict_1 = convertDartToNative_Dictionary(eventInitDict);
-      return DragEvent._create_1(type, eventInitDict_1);
-    }
-    return DragEvent._create_2(type);
-  }
-  static DragEvent _create_1(type, eventInitDict) =>
-      JS('DragEvent', 'new DragEvent(#,#)', type, eventInitDict);
-  static DragEvent _create_2(type) => JS('DragEvent', 'new DragEvent(#)', type);
-
-  @DomName('DragEvent.dataTransfer')
-  @DocsEditable()
-  @Experimental() // untriaged
-  final DataTransfer dataTransfer;
-}
-// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-@DocsEditable()
 @DomName('EffectModel')
 @Experimental() // untriaged
 @Native("EffectModel")
@@ -12231,7 +12199,7 @@
    */
   @DomName('Element.ondrag')
   @DocsEditable()
-  ElementStream<DragEvent> get onDrag;
+  ElementStream<MouseEvent> get onDrag;
 
   /**
    * A stream of `dragend` events fired when this element completes a drag
@@ -12249,7 +12217,7 @@
    */
   @DomName('Element.ondragend')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragEnd;
+  ElementStream<MouseEvent> get onDragEnd;
 
   /**
    * A stream of `dragenter` events fired when a dragged object is first dragged
@@ -12267,7 +12235,7 @@
    */
   @DomName('Element.ondragenter')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragEnter;
+  ElementStream<MouseEvent> get onDragEnter;
 
   /**
    * A stream of `dragleave` events fired when an object being dragged over this
@@ -12285,7 +12253,7 @@
    */
   @DomName('Element.ondragleave')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragLeave;
+  ElementStream<MouseEvent> get onDragLeave;
 
   /**
    * A stream of `dragover` events fired when a dragged object is currently
@@ -12303,7 +12271,7 @@
    */
   @DomName('Element.ondragover')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragOver;
+  ElementStream<MouseEvent> get onDragOver;
 
   /**
    * A stream of `dragstart` events fired when this element starts being
@@ -12321,7 +12289,7 @@
    */
   @DomName('Element.ondragstart')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragStart;
+  ElementStream<MouseEvent> get onDragStart;
 
   /**
    * A stream of `drop` events fired when a dragged object is dropped on this
@@ -12339,7 +12307,7 @@
    */
   @DomName('Element.ondrop')
   @DocsEditable()
-  ElementStream<DragEvent> get onDrop;
+  ElementStream<MouseEvent> get onDrop;
 
   @DomName('Element.ondurationchange')
   @DocsEditable()
@@ -12771,7 +12739,7 @@
    */
   @DomName('Element.ondrag')
   @DocsEditable()
-  ElementStream<DragEvent> get onDrag =>
+  ElementStream<MouseEvent> get onDrag =>
       Element.dragEvent._forElementList(this);
 
   /**
@@ -12790,7 +12758,7 @@
    */
   @DomName('Element.ondragend')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragEnd =>
+  ElementStream<MouseEvent> get onDragEnd =>
       Element.dragEndEvent._forElementList(this);
 
   /**
@@ -12809,7 +12777,7 @@
    */
   @DomName('Element.ondragenter')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragEnter =>
+  ElementStream<MouseEvent> get onDragEnter =>
       Element.dragEnterEvent._forElementList(this);
 
   /**
@@ -12828,7 +12796,7 @@
    */
   @DomName('Element.ondragleave')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragLeave =>
+  ElementStream<MouseEvent> get onDragLeave =>
       Element.dragLeaveEvent._forElementList(this);
 
   /**
@@ -12847,7 +12815,7 @@
    */
   @DomName('Element.ondragover')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragOver =>
+  ElementStream<MouseEvent> get onDragOver =>
       Element.dragOverEvent._forElementList(this);
 
   /**
@@ -12866,7 +12834,7 @@
    */
   @DomName('Element.ondragstart')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragStart =>
+  ElementStream<MouseEvent> get onDragStart =>
       Element.dragStartEvent._forElementList(this);
 
   /**
@@ -12885,7 +12853,7 @@
    */
   @DomName('Element.ondrop')
   @DocsEditable()
-  ElementStream<DragEvent> get onDrop =>
+  ElementStream<MouseEvent> get onDrop =>
       Element.dropEvent._forElementList(this);
 
   @DomName('Element.ondurationchange')
@@ -14581,8 +14549,8 @@
    */
   @DomName('Element.dragEvent')
   @DocsEditable()
-  static const EventStreamProvider<DragEvent> dragEvent =
-      const EventStreamProvider<DragEvent>('drag');
+  static const EventStreamProvider<MouseEvent> dragEvent =
+      const EventStreamProvider<MouseEvent>('drag');
 
   /**
    * A stream of `dragend` events fired when an element completes a drag
@@ -14600,8 +14568,8 @@
    */
   @DomName('Element.dragendEvent')
   @DocsEditable()
-  static const EventStreamProvider<DragEvent> dragEndEvent =
-      const EventStreamProvider<DragEvent>('dragend');
+  static const EventStreamProvider<MouseEvent> dragEndEvent =
+      const EventStreamProvider<MouseEvent>('dragend');
 
   /**
    * A stream of `dragenter` events fired when a dragged object is first dragged
@@ -14619,8 +14587,8 @@
    */
   @DomName('Element.dragenterEvent')
   @DocsEditable()
-  static const EventStreamProvider<DragEvent> dragEnterEvent =
-      const EventStreamProvider<DragEvent>('dragenter');
+  static const EventStreamProvider<MouseEvent> dragEnterEvent =
+      const EventStreamProvider<MouseEvent>('dragenter');
 
   /**
    * A stream of `dragleave` events fired when an object being dragged over an
@@ -14638,8 +14606,8 @@
    */
   @DomName('Element.dragleaveEvent')
   @DocsEditable()
-  static const EventStreamProvider<DragEvent> dragLeaveEvent =
-      const EventStreamProvider<DragEvent>('dragleave');
+  static const EventStreamProvider<MouseEvent> dragLeaveEvent =
+      const EventStreamProvider<MouseEvent>('dragleave');
 
   /**
    * A stream of `dragover` events fired when a dragged object is currently
@@ -14657,8 +14625,8 @@
    */
   @DomName('Element.dragoverEvent')
   @DocsEditable()
-  static const EventStreamProvider<DragEvent> dragOverEvent =
-      const EventStreamProvider<DragEvent>('dragover');
+  static const EventStreamProvider<MouseEvent> dragOverEvent =
+      const EventStreamProvider<MouseEvent>('dragover');
 
   /**
    * A stream of `dragstart` events for a dragged element whose drag has begun.
@@ -14675,8 +14643,8 @@
    */
   @DomName('Element.dragstartEvent')
   @DocsEditable()
-  static const EventStreamProvider<DragEvent> dragStartEvent =
-      const EventStreamProvider<DragEvent>('dragstart');
+  static const EventStreamProvider<MouseEvent> dragStartEvent =
+      const EventStreamProvider<MouseEvent>('dragstart');
 
   /**
    * A stream of `drop` events fired when a dragged object is dropped on an
@@ -14694,8 +14662,8 @@
    */
   @DomName('Element.dropEvent')
   @DocsEditable()
-  static const EventStreamProvider<DragEvent> dropEvent =
-      const EventStreamProvider<DragEvent>('drop');
+  static const EventStreamProvider<MouseEvent> dropEvent =
+      const EventStreamProvider<MouseEvent>('drop');
 
   @DomName('Element.durationchangeEvent')
   @DocsEditable()
@@ -15795,7 +15763,7 @@
    */
   @DomName('Element.ondrag')
   @DocsEditable()
-  ElementStream<DragEvent> get onDrag => dragEvent.forElement(this);
+  ElementStream<MouseEvent> get onDrag => dragEvent.forElement(this);
 
   /**
    * A stream of `dragend` events fired when this element completes a drag
@@ -15813,7 +15781,7 @@
    */
   @DomName('Element.ondragend')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragEnd => dragEndEvent.forElement(this);
+  ElementStream<MouseEvent> get onDragEnd => dragEndEvent.forElement(this);
 
   /**
    * A stream of `dragenter` events fired when a dragged object is first dragged
@@ -15831,7 +15799,7 @@
    */
   @DomName('Element.ondragenter')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragEnter => dragEnterEvent.forElement(this);
+  ElementStream<MouseEvent> get onDragEnter => dragEnterEvent.forElement(this);
 
   /**
    * A stream of `dragleave` events fired when an object being dragged over this
@@ -15849,7 +15817,7 @@
    */
   @DomName('Element.ondragleave')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragLeave => dragLeaveEvent.forElement(this);
+  ElementStream<MouseEvent> get onDragLeave => dragLeaveEvent.forElement(this);
 
   /**
    * A stream of `dragover` events fired when a dragged object is currently
@@ -15867,7 +15835,7 @@
    */
   @DomName('Element.ondragover')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragOver => dragOverEvent.forElement(this);
+  ElementStream<MouseEvent> get onDragOver => dragOverEvent.forElement(this);
 
   /**
    * A stream of `dragstart` events fired when this element starts being
@@ -15885,7 +15853,7 @@
    */
   @DomName('Element.ondragstart')
   @DocsEditable()
-  ElementStream<DragEvent> get onDragStart => dragStartEvent.forElement(this);
+  ElementStream<MouseEvent> get onDragStart => dragStartEvent.forElement(this);
 
   /**
    * A stream of `drop` events fired when a dragged object is dropped on this
@@ -15903,7 +15871,7 @@
    */
   @DomName('Element.ondrop')
   @DocsEditable()
-  ElementStream<DragEvent> get onDrop => dropEvent.forElement(this);
+  ElementStream<MouseEvent> get onDrop => dropEvent.forElement(this);
 
   @DomName('Element.ondurationchange')
   @DocsEditable()
@@ -18619,44 +18587,44 @@
   @DomName('GlobalEventHandlers.dragEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragEvent =
-      const EventStreamProvider<DragEvent>('drag');
+  static const EventStreamProvider<MouseEvent> dragEvent =
+      const EventStreamProvider<MouseEvent>('drag');
 
   @DomName('GlobalEventHandlers.dragendEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragEndEvent =
-      const EventStreamProvider<DragEvent>('dragend');
+  static const EventStreamProvider<MouseEvent> dragEndEvent =
+      const EventStreamProvider<MouseEvent>('dragend');
 
   @DomName('GlobalEventHandlers.dragenterEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragEnterEvent =
-      const EventStreamProvider<DragEvent>('dragenter');
+  static const EventStreamProvider<MouseEvent> dragEnterEvent =
+      const EventStreamProvider<MouseEvent>('dragenter');
 
   @DomName('GlobalEventHandlers.dragleaveEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragLeaveEvent =
-      const EventStreamProvider<DragEvent>('dragleave');
+  static const EventStreamProvider<MouseEvent> dragLeaveEvent =
+      const EventStreamProvider<MouseEvent>('dragleave');
 
   @DomName('GlobalEventHandlers.dragoverEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragOverEvent =
-      const EventStreamProvider<DragEvent>('dragover');
+  static const EventStreamProvider<MouseEvent> dragOverEvent =
+      const EventStreamProvider<MouseEvent>('dragover');
 
   @DomName('GlobalEventHandlers.dragstartEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragStartEvent =
-      const EventStreamProvider<DragEvent>('dragstart');
+  static const EventStreamProvider<MouseEvent> dragStartEvent =
+      const EventStreamProvider<MouseEvent>('dragstart');
 
   @DomName('GlobalEventHandlers.dropEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dropEvent =
-      const EventStreamProvider<DragEvent>('drop');
+  static const EventStreamProvider<MouseEvent> dropEvent =
+      const EventStreamProvider<MouseEvent>('drop');
 
   @DomName('GlobalEventHandlers.durationchangeEvent')
   @DocsEditable()
@@ -18947,37 +18915,37 @@
   @DomName('GlobalEventHandlers.ondrag')
   @DocsEditable()
   @Experimental() // untriaged
-  Stream<DragEvent> get onDrag => dragEvent.forTarget(this);
+  Stream<MouseEvent> get onDrag => dragEvent.forTarget(this);
 
   @DomName('GlobalEventHandlers.ondragend')
   @DocsEditable()
   @Experimental() // untriaged
-  Stream<DragEvent> get onDragEnd => dragEndEvent.forTarget(this);
+  Stream<MouseEvent> get onDragEnd => dragEndEvent.forTarget(this);
 
   @DomName('GlobalEventHandlers.ondragenter')
   @DocsEditable()
   @Experimental() // untriaged
-  Stream<DragEvent> get onDragEnter => dragEnterEvent.forTarget(this);
+  Stream<MouseEvent> get onDragEnter => dragEnterEvent.forTarget(this);
 
   @DomName('GlobalEventHandlers.ondragleave')
   @DocsEditable()
   @Experimental() // untriaged
-  Stream<DragEvent> get onDragLeave => dragLeaveEvent.forTarget(this);
+  Stream<MouseEvent> get onDragLeave => dragLeaveEvent.forTarget(this);
 
   @DomName('GlobalEventHandlers.ondragover')
   @DocsEditable()
   @Experimental() // untriaged
-  Stream<DragEvent> get onDragOver => dragOverEvent.forTarget(this);
+  Stream<MouseEvent> get onDragOver => dragOverEvent.forTarget(this);
 
   @DomName('GlobalEventHandlers.ondragstart')
   @DocsEditable()
   @Experimental() // untriaged
-  Stream<DragEvent> get onDragStart => dragStartEvent.forTarget(this);
+  Stream<MouseEvent> get onDragStart => dragStartEvent.forTarget(this);
 
   @DomName('GlobalEventHandlers.ondrop')
   @DocsEditable()
   @Experimental() // untriaged
-  Stream<DragEvent> get onDrop => dropEvent.forTarget(this);
+  Stream<MouseEvent> get onDrop => dropEvent.forTarget(this);
 
   @DomName('GlobalEventHandlers.ondurationchange')
   @DocsEditable()
@@ -25127,7 +25095,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 @DomName('MouseEvent')
-@Native("MouseEvent")
+@Native("MouseEvent,DragEvent")
 class MouseEvent extends UIEvent {
   factory MouseEvent(String type,
       {Window view,
@@ -25413,6 +25381,10 @@
   @DomName('MouseEvent.pageX')
   @DomName('MouseEvent.pageY')
   Point get page => new Point/*<num>*/(_pageX, _pageY);
+
+  @DomName('MouseEvent.dataTransfer')
+  DataTransfer get dataTransfer =>
+      JS('DataTransfer', "#['dataTransfer']", this);
 }
 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
@@ -30539,49 +30511,6 @@
   @DocsEditable()
   List<RtcStatsReport> result() native;
 }
-// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-@DocsEditable()
-@DomName('Scale')
-@Experimental() // untriaged
-@Native("Scale")
-class Scale extends TransformComponent {
-  // To suppress missing implicit constructor warnings.
-  factory Scale._() {
-    throw new UnsupportedError("Not supported");
-  }
-
-  @DomName('Scale.Scale')
-  @DocsEditable()
-  factory Scale(num x, num y, [num z]) {
-    if ((y is num) && (x is num) && z == null) {
-      return Scale._create_1(x, y);
-    }
-    if ((z is num) && (y is num) && (x is num)) {
-      return Scale._create_2(x, y, z);
-    }
-    throw new ArgumentError("Incorrect number or type of arguments");
-  }
-  static Scale _create_1(x, y) => JS('Scale', 'new Scale(#,#)', x, y);
-  static Scale _create_2(x, y, z) => JS('Scale', 'new Scale(#,#,#)', x, y, z);
-
-  @DomName('Scale.x')
-  @DocsEditable()
-  @Experimental() // untriaged
-  final double x;
-
-  @DomName('Scale.y')
-  @DocsEditable()
-  @Experimental() // untriaged
-  final double y;
-
-  @DomName('Scale.z')
-  @DocsEditable()
-  @Experimental() // untriaged
-  final double z;
-}
 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
@@ -38625,37 +38554,37 @@
   /// Stream of `drag` events handled by this [Window].
   @DomName('Window.ondrag')
   @DocsEditable()
-  Stream<DragEvent> get onDrag => Element.dragEvent.forTarget(this);
+  Stream<MouseEvent> get onDrag => Element.dragEvent.forTarget(this);
 
   /// Stream of `dragend` events handled by this [Window].
   @DomName('Window.ondragend')
   @DocsEditable()
-  Stream<DragEvent> get onDragEnd => Element.dragEndEvent.forTarget(this);
+  Stream<MouseEvent> get onDragEnd => Element.dragEndEvent.forTarget(this);
 
   /// Stream of `dragenter` events handled by this [Window].
   @DomName('Window.ondragenter')
   @DocsEditable()
-  Stream<DragEvent> get onDragEnter => Element.dragEnterEvent.forTarget(this);
+  Stream<MouseEvent> get onDragEnter => Element.dragEnterEvent.forTarget(this);
 
   /// Stream of `dragleave` events handled by this [Window].
   @DomName('Window.ondragleave')
   @DocsEditable()
-  Stream<DragEvent> get onDragLeave => Element.dragLeaveEvent.forTarget(this);
+  Stream<MouseEvent> get onDragLeave => Element.dragLeaveEvent.forTarget(this);
 
   /// Stream of `dragover` events handled by this [Window].
   @DomName('Window.ondragover')
   @DocsEditable()
-  Stream<DragEvent> get onDragOver => Element.dragOverEvent.forTarget(this);
+  Stream<MouseEvent> get onDragOver => Element.dragOverEvent.forTarget(this);
 
   /// Stream of `dragstart` events handled by this [Window].
   @DomName('Window.ondragstart')
   @DocsEditable()
-  Stream<DragEvent> get onDragStart => Element.dragStartEvent.forTarget(this);
+  Stream<MouseEvent> get onDragStart => Element.dragStartEvent.forTarget(this);
 
   /// Stream of `drop` events handled by this [Window].
   @DomName('Window.ondrop')
   @DocsEditable()
-  Stream<DragEvent> get onDrop => Element.dropEvent.forTarget(this);
+  Stream<MouseEvent> get onDrop => Element.dropEvent.forTarget(this);
 
   @DomName('Window.ondurationchange')
   @DocsEditable()
diff --git a/pkg/dev_compiler/tool/input_sdk/lib/svg/dart2js/svg_dart2js.dart b/pkg/dev_compiler/tool/input_sdk/lib/svg/dart2js/svg_dart2js.dart
index 526ac96..0a0a937 100644
--- a/pkg/dev_compiler/tool/input_sdk/lib/svg/dart2js/svg_dart2js.dart
+++ b/pkg/dev_compiler/tool/input_sdk/lib/svg/dart2js/svg_dart2js.dart
@@ -4244,44 +4244,44 @@
   @DomName('SVGElement.dragEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragEvent =
-      const EventStreamProvider<DragEvent>('drag');
+  static const EventStreamProvider<MouseEvent> dragEvent =
+      const EventStreamProvider<MouseEvent>('drag');
 
   @DomName('SVGElement.dragendEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragEndEvent =
-      const EventStreamProvider<DragEvent>('dragend');
+  static const EventStreamProvider<MouseEvent> dragEndEvent =
+      const EventStreamProvider<MouseEvent>('dragend');
 
   @DomName('SVGElement.dragenterEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragEnterEvent =
-      const EventStreamProvider<DragEvent>('dragenter');
+  static const EventStreamProvider<MouseEvent> dragEnterEvent =
+      const EventStreamProvider<MouseEvent>('dragenter');
 
   @DomName('SVGElement.dragleaveEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragLeaveEvent =
-      const EventStreamProvider<DragEvent>('dragleave');
+  static const EventStreamProvider<MouseEvent> dragLeaveEvent =
+      const EventStreamProvider<MouseEvent>('dragleave');
 
   @DomName('SVGElement.dragoverEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragOverEvent =
-      const EventStreamProvider<DragEvent>('dragover');
+  static const EventStreamProvider<MouseEvent> dragOverEvent =
+      const EventStreamProvider<MouseEvent>('dragover');
 
   @DomName('SVGElement.dragstartEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dragStartEvent =
-      const EventStreamProvider<DragEvent>('dragstart');
+  static const EventStreamProvider<MouseEvent> dragStartEvent =
+      const EventStreamProvider<MouseEvent>('dragstart');
 
   @DomName('SVGElement.dropEvent')
   @DocsEditable()
   @Experimental() // untriaged
-  static const EventStreamProvider<DragEvent> dropEvent =
-      const EventStreamProvider<DragEvent>('drop');
+  static const EventStreamProvider<MouseEvent> dropEvent =
+      const EventStreamProvider<MouseEvent>('drop');
 
   @DomName('SVGElement.durationchangeEvent')
   @DocsEditable()
@@ -4608,37 +4608,37 @@
   @DomName('SVGElement.ondrag')
   @DocsEditable()
   @Experimental() // untriaged
-  ElementStream<DragEvent> get onDrag => dragEvent.forElement(this);
+  ElementStream<MouseEvent> get onDrag => dragEvent.forElement(this);
 
   @DomName('SVGElement.ondragend')
   @DocsEditable()
   @Experimental() // untriaged
-  ElementStream<DragEvent> get onDragEnd => dragEndEvent.forElement(this);
+  ElementStream<MouseEvent> get onDragEnd => dragEndEvent.forElement(this);
 
   @DomName('SVGElement.ondragenter')
   @DocsEditable()
   @Experimental() // untriaged
-  ElementStream<DragEvent> get onDragEnter => dragEnterEvent.forElement(this);
+  ElementStream<MouseEvent> get onDragEnter => dragEnterEvent.forElement(this);
 
   @DomName('SVGElement.ondragleave')
   @DocsEditable()
   @Experimental() // untriaged
-  ElementStream<DragEvent> get onDragLeave => dragLeaveEvent.forElement(this);
+  ElementStream<MouseEvent> get onDragLeave => dragLeaveEvent.forElement(this);
 
   @DomName('SVGElement.ondragover')
   @DocsEditable()
   @Experimental() // untriaged
-  ElementStream<DragEvent> get onDragOver => dragOverEvent.forElement(this);
+  ElementStream<MouseEvent> get onDragOver => dragOverEvent.forElement(this);
 
   @DomName('SVGElement.ondragstart')
   @DocsEditable()
   @Experimental() // untriaged
-  ElementStream<DragEvent> get onDragStart => dragStartEvent.forElement(this);
+  ElementStream<MouseEvent> get onDragStart => dragStartEvent.forElement(this);
 
   @DomName('SVGElement.ondrop')
   @DocsEditable()
   @Experimental() // untriaged
-  ElementStream<DragEvent> get onDrop => dropEvent.forElement(this);
+  ElementStream<MouseEvent> get onDrop => dropEvent.forElement(this);
 
   @DomName('SVGElement.ondurationchange')
   @DocsEditable()
diff --git a/pkg/dev_compiler/tool/sdk_expected_errors.txt b/pkg/dev_compiler/tool/sdk_expected_errors.txt
index 293deef..839054d 100644
--- a/pkg/dev_compiler/tool/sdk_expected_errors.txt
+++ b/pkg/dev_compiler/tool/sdk_expected_errors.txt
@@ -2,35 +2,35 @@
 [warning] The final variable 'origin' must be initialized. (dart:html, line 862, col 3)
 [warning] The final variables 'form', 'labels' and '3' more must be initialized. (dart:html, line 1678, col 3)
 [warning] The final variable 'options' must be initialized. (dart:html, line 8974, col 3)
-[warning] The final variables '_attributes', '_childElementCount' and '19' more must be initialized. (dart:html, line 13262, col 3)
-[warning] The final variables 'elements', 'form' and '4' more must be initialized. (dart:html, line 17138, col 3)
-[warning] The final variable 'length' must be initialized. (dart:html, line 18088, col 3)
-[warning] The final variables '_get_contentWindow' and 'sandbox' must be initialized. (dart:html, line 20800, col 3)
-[warning] The final variables 'complete', 'currentSrc' and '2' more must be initialized. (dart:html, line 21007, col 3)
-[warning] The final variables '_get_valueAsDate', 'entries' and '6' more must be initialized. (dart:html, line 21172, col 3)
-[warning] The final variables 'form', 'labels' and '4' more must be initialized. (dart:html, line 22382, col 3)
-[warning] The final variables 'control' and 'form' must be initialized. (dart:html, line 22529, col 3)
-[warning] The final variable 'form' must be initialized. (dart:html, line 22568, col 3)
-[warning] The final variables 'import', 'relList' and '2' more must be initialized. (dart:html, line 22657, col 3)
-[warning] The final variable 'areas' must be initialized. (dart:html, line 22820, col 3)
-[warning] The final variables 'audioDecodedByteCount', 'audioTracks' and '16' more must be initialized. (dart:html, line 23121, col 3)
-[warning] The final variable 'labels' must be initialized. (dart:html, line 24715, col 3)
-[warning] The final variables 'baseUri', 'childNodes' and '11' more must be initialized. (dart:html, line 26251, col 3)
-[warning] The final variables 'form', 'validationMessage' and '2' more must be initialized. (dart:html, line 27203, col 3)
-[warning] The final variables 'form' and 'index' must be initialized. (dart:html, line 27385, col 3)
-[warning] The final variables 'form', 'htmlFor' and '5' more must be initialized. (dart:html, line 27439, col 3)
-[warning] The final variables 'labels' and 'position' must be initialized. (dart:html, line 29001, col 3)
-[warning] The final variables 'form', 'labels' and '4' more must be initialized. (dart:html, line 30973, col 3)
-[warning] The final variable 'sheet' must be initialized. (dart:html, line 33448, col 3)
-[warning] The final variable 'cellIndex' must be initialized. (dart:html, line 33713, col 3)
-[warning] The final variables '_rows' and '_tBodies' must be initialized. (dart:html, line 33832, col 3)
-[warning] The final variables '_cells', 'rowIndex' and '1' more must be initialized. (dart:html, line 33949, col 3)
-[warning] The final variable '_rows' must be initialized. (dart:html, line 34018, col 3)
-[warning] The final variable 'content' must be initialized. (dart:html, line 34062, col 3)
-[warning] The final variables 'form', 'labels' and '5' more must be initialized. (dart:html, line 34151, col 3)
-[warning] The final variables 'readyState' and 'track' must be initialized. (dart:html, line 35211, col 3)
-[warning] The final variables 'decodedFrameCount', 'droppedFrameCount' and '2' more must be initialized. (dart:html, line 36118, col 3)
-[warning] The final variable 'sourceCapabilities' must be initialized. (dart:html, line 46095, col 3)
+[warning] The final variables '_attributes', '_childElementCount' and '19' more must be initialized. (dart:html, line 13230, col 3)
+[warning] The final variables 'elements', 'form' and '4' more must be initialized. (dart:html, line 17106, col 3)
+[warning] The final variable 'length' must be initialized. (dart:html, line 18056, col 3)
+[warning] The final variables '_get_contentWindow' and 'sandbox' must be initialized. (dart:html, line 20768, col 3)
+[warning] The final variables 'complete', 'currentSrc' and '2' more must be initialized. (dart:html, line 20975, col 3)
+[warning] The final variables '_get_valueAsDate', 'entries' and '6' more must be initialized. (dart:html, line 21140, col 3)
+[warning] The final variables 'form', 'labels' and '4' more must be initialized. (dart:html, line 22350, col 3)
+[warning] The final variables 'control' and 'form' must be initialized. (dart:html, line 22497, col 3)
+[warning] The final variable 'form' must be initialized. (dart:html, line 22536, col 3)
+[warning] The final variables 'import', 'relList' and '2' more must be initialized. (dart:html, line 22625, col 3)
+[warning] The final variable 'areas' must be initialized. (dart:html, line 22788, col 3)
+[warning] The final variables 'audioDecodedByteCount', 'audioTracks' and '16' more must be initialized. (dart:html, line 23089, col 3)
+[warning] The final variable 'labels' must be initialized. (dart:html, line 24683, col 3)
+[warning] The final variables 'baseUri', 'childNodes' and '11' more must be initialized. (dart:html, line 26223, col 3)
+[warning] The final variables 'form', 'validationMessage' and '2' more must be initialized. (dart:html, line 27175, col 3)
+[warning] The final variables 'form' and 'index' must be initialized. (dart:html, line 27357, col 3)
+[warning] The final variables 'form', 'htmlFor' and '5' more must be initialized. (dart:html, line 27411, col 3)
+[warning] The final variables 'labels' and 'position' must be initialized. (dart:html, line 28973, col 3)
+[warning] The final variables 'form', 'labels' and '4' more must be initialized. (dart:html, line 30902, col 3)
+[warning] The final variable 'sheet' must be initialized. (dart:html, line 33377, col 3)
+[warning] The final variable 'cellIndex' must be initialized. (dart:html, line 33642, col 3)
+[warning] The final variables '_rows' and '_tBodies' must be initialized. (dart:html, line 33761, col 3)
+[warning] The final variables '_cells', 'rowIndex' and '1' more must be initialized. (dart:html, line 33878, col 3)
+[warning] The final variable '_rows' must be initialized. (dart:html, line 33947, col 3)
+[warning] The final variable 'content' must be initialized. (dart:html, line 33991, col 3)
+[warning] The final variables 'form', 'labels' and '5' more must be initialized. (dart:html, line 34080, col 3)
+[warning] The final variables 'readyState' and 'track' must be initialized. (dart:html, line 35140, col 3)
+[warning] The final variables 'decodedFrameCount', 'droppedFrameCount' and '2' more must be initialized. (dart:html, line 36047, col 3)
+[warning] The final variable 'sourceCapabilities' must be initialized. (dart:html, line 46024, col 3)
 [warning] The final variables 'href' and 'target' must be initialized. (dart:svg, line 56, col 3)
 [warning] The final variables 'requiredExtensions', 'requiredFeatures' and '2' more must be initialized. (dart:svg, line 512, col 3)
 [warning] The final variables 'cx', 'cy' and '1' more must be initialized. (dart:svg, line 583, col 3)
diff --git a/tests/lib_strong/html/debugger_test_golden.txt b/tests/lib_strong/html/debugger_test_golden.txt
index f1897b9..43b4cfb 100644
--- a/tests/lib_strong/html/debugger_test_golden.txt
+++ b/tests/lib_strong/html/debugger_test_golden.txt
@@ -6916,6 +6916,30 @@
         },
         [
             "span",
+            {},
+            [
+                "span",
+                {
+                    "style": "color: rgb(136, 19, 145); margin-right: -13px"
+                },
+                "dataTransfer: "
+            ],
+            [
+                "span",
+                {
+                    "style": "margin-left: 13px"
+                },
+                "null"
+            ]
+        ]
+    ],
+    [
+        "li",
+        {
+            "style": "padding-left: 13px;"
+        },
+        [
+            "span",
             {
                 "style": "color: rgb(136, 19, 145); margin-right: -13px"
             },