Version 1.13.0-dev.7.7

Cherry-pick d0f456a910675bab3b47b80fddf1fda5ee9b7fa8 to dev
Cherry-pick 688b69fb65f2c6c51a68df56551de484fd5d2eea to dev
Cherry-pick e0d2263bb3b77e20b319a539cfefe3e8a76a2d5c to dev
Cherry-pick 323ce5d6939201738cf6a5a597ac429bafc811db to dev
Cherry-pick 156bc53866492316154278538b8395dd12afc890 to dev
Cherry-pick 6566e91f04be7a72ad277e1ccede3c103c5e1cd6 to dev
Cherry-pick 1adacaf300e0ac7eae222aa45d61ffbfe7b48383 to dev
Cherry-pick 03bfdf5f243560c7f1d511f8405f1396fc6f94b0 to dev
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3ebd535..638c5fd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,18 @@
     the last release to contain the Resource class.
 
 * `dart:io`
+  * **Breaking:** Secure networking has changed, replacing the NSS library
+    with the BoringSSL library. `SecureSocket`, `SecureServerSocket`,
+    `RawSecureSocket`,`RawSecureServerSocket`, `HttpClient`, and `HttpServer`
+    now all use a `SecurityContext` object which contains the certificates
+    and keys used for secure TLS (SSL) networking.
+
+    This is a breaking change for server applications and for some client
+    applications. Certificates and keys are loaded into the `SecurityContext`
+    from PEM files, instead of from an NSS certificate database. Information
+    about how to change applications that use secure networking is at
+    https://www.dartlang.org/server/tls-ssl.html
+
   * `HttpClient` no longer sends URI fragments in the request. This is not
     allowed by the HTTP protocol.
     The `HttpServer` still gracefully receives fragments, but discards them
diff --git a/pkg/analyzer/lib/src/context/context.dart b/pkg/analyzer/lib/src/context/context.dart
index 1a8fdf8..4f2c08d 100644
--- a/pkg/analyzer/lib/src/context/context.dart
+++ b/pkg/analyzer/lib/src/context/context.dart
@@ -1043,13 +1043,17 @@
   @override
   bool isClientLibrary(Source librarySource) {
     CacheEntry entry = _cache.get(librarySource);
-    return _referencesDartHtml(librarySource) && entry.getValue(IS_LAUNCHABLE);
+    return entry != null &&
+        _referencesDartHtml(librarySource) &&
+        entry.getValue(IS_LAUNCHABLE);
   }
 
   @override
   bool isServerLibrary(Source librarySource) {
     CacheEntry entry = _cache.get(librarySource);
-    return !_referencesDartHtml(librarySource) && entry.getValue(IS_LAUNCHABLE);
+    return entry != null &&
+        !_referencesDartHtml(librarySource) &&
+        entry.getValue(IS_LAUNCHABLE);
   }
 
   @override
diff --git a/pkg/analyzer/test/src/context/context_test.dart b/pkg/analyzer/test/src/context/context_test.dart
index f95e3dc..f0d2110 100644
--- a/pkg/analyzer/test/src/context/context_test.dart
+++ b/pkg/analyzer/test/src/context/context_test.dart
@@ -1428,6 +1428,11 @@
     expect(context.isClientLibrary(source), isFalse);
   }
 
+  void test_isClientLibrary_unknown() {
+    Source source = newSource("/test.dart");
+    expect(context.isClientLibrary(source), isFalse);
+  }
+
   void test_isServerLibrary_dart() {
     Source source = addSource(
         "/test.dart",
@@ -1447,6 +1452,11 @@
     expect(context.isServerLibrary(source), isFalse);
   }
 
+  void test_isServerLibrary_unknown() {
+    Source source = newSource("/test.dart");
+    expect(context.isServerLibrary(source), isFalse);
+  }
+
   void test_parseCompilationUnit_errors() {
     Source source = addSource("/lib.dart", "library {");
     CompilationUnit compilationUnit = context.parseCompilationUnit(source);
diff --git a/pkg/compiler/lib/src/diagnostics/messages.dart b/pkg/compiler/lib/src/diagnostics/messages.dart
index ce8b6a7..900ef01 100644
--- a/pkg/compiler/lib/src/diagnostics/messages.dart
+++ b/pkg/compiler/lib/src/diagnostics/messages.dart
@@ -277,6 +277,8 @@
   INVALID_USE_OF_SUPER,
   JS_INTEROP_CLASS_CANNOT_EXTEND_DART_CLASS,
   JS_INTEROP_CLASS_NON_EXTERNAL_MEMBER,
+  JS_OBJECT_LITERAL_CONSTRUCTOR_WITH_POSITIONAL_ARGUMENTS,
+  JS_INTEROP_METHOD_WITH_NAMED_ARGUMENTS,
   LIBRARY_NAME_MISMATCH,
   LIBRARY_NOT_FOUND,
   LIBRARY_NOT_SUPPORTED,
@@ -2171,6 +2173,51 @@
               }
               """]),
 
+      MessageKind.JS_INTEROP_METHOD_WITH_NAMED_ARGUMENTS:
+        const MessageTemplate(
+          MessageKind.JS_INTEROP_METHOD_WITH_NAMED_ARGUMENTS,
+          "Js-interop method '#{method}' has named arguments but is not "
+          "a factory constructor of an @anonymous @JS class.",
+          howToFix: "Remove all named arguments from js-interop method or "
+                    "in the case of a factory constructor annotate the class "
+                    "as @anonymous.",
+          examples: const [
+              """
+              import 'package:js/js.dart';
+
+              @JS()
+              class Foo {
+                external bar(foo, {baz});
+              }
+
+              main() {
+                new Foo().bar(4, baz: 5);
+              }
+              """]),
+
+      MessageKind.JS_OBJECT_LITERAL_CONSTRUCTOR_WITH_POSITIONAL_ARGUMENTS:
+        const MessageTemplate(
+          MessageKind.JS_OBJECT_LITERAL_CONSTRUCTOR_WITH_POSITIONAL_ARGUMENTS,
+          "Parameter '#{parameter}' in anonymous js-interop class '#{cls}' "
+          "object literal constructor is positional instead of named."
+          ".",
+          howToFix: "Make all arguments in external factory object literal "
+                    "constructors named.",
+          examples: const [
+              """
+              import 'package:js/js.dart';
+
+              @anonymous
+              @JS()
+              class Foo {
+                external factory Foo(foo, {baz});
+              }
+
+              main() {
+                new Foo(5, baz: 5);
+              }
+              """]),
+
       MessageKind.LIBRARY_NOT_FOUND:
         const MessageTemplate(MessageKind.LIBRARY_NOT_FOUND,
           "Library not found '#{resolvedUri}'."),
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
index 1e4e925..892f819 100644
--- a/pkg/compiler/lib/src/js_backend/backend.dart
+++ b/pkg/compiler/lib/src/js_backend/backend.dart
@@ -332,6 +332,7 @@
   ClassElement irRepresentationClass;
 
   ClassElement jsAnnotationClass;
+  ClassElement jsAnonymousClass;
 
   Element getInterceptorMethod;
 
@@ -2066,6 +2067,7 @@
         typedArrayOfIntClass = findClass('NativeTypedArrayOfInt');
       } else if (uri == PACKAGE_JS) {
         jsAnnotationClass = find(library, 'JS');
+        jsAnonymousClass = find(library, '_Anonymous');
       }
       annotations.onLibraryScanned(library);
     });
diff --git a/pkg/compiler/lib/src/js_backend/js_interop_analysis.dart b/pkg/compiler/lib/src/js_backend/js_interop_analysis.dart
index 777a368..e6cce5b 100644
--- a/pkg/compiler/lib/src/js_backend/js_interop_analysis.dart
+++ b/pkg/compiler/lib/src/js_backend/js_interop_analysis.dart
@@ -23,6 +23,7 @@
         FieldElement,
         FunctionElement,
         LibraryElement,
+        ParameterElement,
         MetadataAnnotation;
 
 import '../js/js.dart' as jsAst;
@@ -79,11 +80,39 @@
     }
   }
 
+  bool hasAnonymousAnnotation(Element element) {
+    if (backend.jsAnonymousClass == null) return false;
+    return element.metadata.any((MetadataAnnotation annotation) {
+      ConstantValue constant = backend.compiler.constants.getConstantValue(
+          annotation.constant);
+      if (constant == null ||
+          constant is! ConstructedConstantValue) return false;
+      ConstructedConstantValue constructedConstant = constant;
+      return constructedConstant.type.element ==
+          backend.jsAnonymousClass;
+    });
+  }
+
+  void _checkFunctionParameters(FunctionElement fn) {
+    if (fn.hasFunctionSignature &&
+        fn.functionSignature.optionalParametersAreNamed) {
+      backend.reporter.reportErrorMessage(fn,
+          MessageKind.JS_INTEROP_METHOD_WITH_NAMED_ARGUMENTS, {
+            'method': fn.name
+          });
+    }
+  }
+
   void processJsInteropAnnotationsInLibrary(LibraryElement library) {
     processJsInteropAnnotation(library);
     library.implementation.forEachLocalMember((Element element) {
       processJsInteropAnnotation(element);
-      if (!element.isClass || !element.isJsInterop) return;
+      if (!element.isJsInterop) return;
+      if (element is FunctionElement) {
+        _checkFunctionParameters(element);
+      }
+
+      if (!element.isClass) return;
 
       ClassElement classElement = element;
 
@@ -104,12 +133,30 @@
             classElement.isJsInterop &&
             member is FunctionElement) {
           FunctionElement fn = member;
-          if (!fn.isExternal && !fn.isAbstract) {
+          if (!fn.isExternal && !fn.isAbstract && !fn.isConstructor &&
+              !fn.isStatic) {
             backend.reporter.reportErrorMessage(
                 fn,
                 MessageKind.JS_INTEROP_CLASS_NON_EXTERNAL_MEMBER,
                 {'cls': classElement.name, 'member': member.name});
           }
+
+          if (fn.isFactoryConstructor && hasAnonymousAnnotation(classElement)) {
+              fn.functionSignature.orderedForEachParameter(
+                  (ParameterElement parameter) {
+                if (!parameter.isNamed) {
+                  backend.reporter.reportErrorMessage(parameter,
+                    MessageKind
+                        .JS_OBJECT_LITERAL_CONSTRUCTOR_WITH_POSITIONAL_ARGUMENTS,
+                    {
+                      'parameter': parameter.name,
+                      'cls': classElement.name
+                    });
+              }
+            });
+          } else {
+            _checkFunctionParameters(fn);
+          }
         }
       });
     });
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
index 01d3f3846..687bea3 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
@@ -27,7 +27,9 @@
 import '../../closure.dart' show
     ClosureFieldElement;
 import '../../dart_types.dart' show
-    DartType;
+    DartType,
+    FunctionType,
+    TypedefType;
 import '../../elements/elements.dart' show
     ClassElement,
     Element,
@@ -35,6 +37,7 @@
     FieldElement,
     FunctionElement,
     FunctionSignature,
+    GetterElement,
     LibraryElement,
     MethodElement,
     Name,
@@ -404,10 +407,50 @@
               }
             }
 
+            // Generating stubs for direct calls and stubs for call-through
+            // of getters that happen to be functions.
+            bool isFunctionLike = false;
+            FunctionType functionType = null;
+
             if (member.isFunction) {
+              FunctionElement fn = member;
+              functionType = fn.type;
+            } else if (member.isGetter) {
+              if (_compiler.trustTypeAnnotations) {
+                GetterElement getter = member;
+                DartType returnType = getter.type.returnType;
+                if (returnType.isFunctionType) {
+                  functionType = returnType;
+                } else if (returnType.treatAsDynamic ||
+                    _compiler.types.isSubtype(returnType,
+                        backend.coreTypes.functionType)) {
+                  if (returnType.isTypedef) {
+                    TypedefType typedef = returnType;
+                    // TODO(jacobr): can we just use typdef.unaliased instead?
+                    functionType = typedef.element.functionSignature.type;
+                  } else {
+                    // Other misc function type such as coreTypes.Function.
+                    // Allow any number of arguments.
+                    isFunctionLike = true;
+                  }
+                }
+              } else {
+                isFunctionLike = true;
+              }
+            } // TODO(jacobr): handle field elements.
+
+            if (isFunctionLike || functionType != null) {
+              int minArgs;
+              int maxArgs;
+              if (functionType != null) {
+                minArgs = functionType.parameterTypes.length;
+                maxArgs = minArgs + functionType.optionalParameterTypes.length;
+              } else {
+                minArgs = 0;
+                maxArgs = 32767;
+              }
               var selectors =
                   _compiler.codegenWorld.invocationsByName(member.name);
-              FunctionElement fn = member;
               // Named arguments are not yet supported. In the future we
               // may want to map named arguments to an object literal containing
               // all named arguments.
@@ -415,16 +458,23 @@
                 for (var selector in selectors.keys) {
                   // Check whether the arity matches this member.
                   var argumentCount = selector.argumentCount;
-                  if (argumentCount > fn.parameters.length) break;
-                  if (argumentCount < fn.parameters.length &&
-                      !fn.parameters[argumentCount].isOptional) break;
+                  // JS interop does not support named arguments.
+                  if (selector.namedArgumentCount > 0) break;
+                  if (argumentCount < minArgs) break;
+                  if (argumentCount > maxArgs) break;
                   var stubName = namer.invocationName(selector);
                   if (!stubNames.add(stubName.key)) break;
-                  var candidateParameterNames =
-                      'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMOPQRSTUVWXYZ';
                   var parameters = new List<String>.generate(argumentCount,
-                      (i) => candidateParameterNames[i]);
+                      (i) => 'p$i');
 
+                  // We intentionally generate the same stub method for direct
+                  // calls and call-throughs of getters so that calling a
+                  // getter that returns a function behaves the same as calling
+                  // a method. This is helpful as many typed JavaScript APIs
+                  // specify member functions with getters that return
+                  // functions. The behavior of this solution matches JavaScript
+                  // behavior implicitly binding this only when JavaScript
+                  // would.
                   interceptorClass.callStubs.add(_buildStubMethod(
                       stubName,
                       js.js('function(receiver, #) { return receiver.#(#) }',
diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart
index bb00a26..0258d7d 100644
--- a/pkg/compiler/lib/src/ssa/builder.dart
+++ b/pkg/compiler/lib/src/ssa/builder.dart
@@ -5846,6 +5846,12 @@
     }
   }
 
+  bool _hasNamedParameters(FunctionElement function) {
+    FunctionSignature params = function.functionSignature;
+    return params.optionalParameterCount > 0
+        && params.optionalParametersAreNamed;
+  }
+
   HForeignCode invokeJsInteropFunction(Element element,
                                        List<HInstruction> arguments,
                                        SourceInformation sourceInformation) {
@@ -5853,9 +5859,10 @@
     nativeEmitter.nativeMethods.add(element);
     String templateString;
 
-    if (element.isFactoryConstructor) {
-      // Treat factory constructors as syntactic sugar for creating object
-      // literals.
+    if (element.isFactoryConstructor &&
+        backend.jsInteropAnalysis.hasAnonymousAnnotation(element.contextClass)) {
+      // Factory constructor that is syntactic sugar for creating a JavaScript
+      // object literal.
       ConstructorElement constructor = element;
       FunctionSignature params = constructor.functionSignature;
       int i = 0;
@@ -5866,13 +5873,6 @@
         // TODO(jacobr): throw if parameter names do not match names of property
         // names in the class.
         assert (parameter.isNamed);
-        if (!parameter.isNamed) {
-          reporter.reportErrorMessage(
-              parameter, MessageKind.GENERIC,
-              {'text': 'All arguments to external constructors of JavaScript '
-                       'interop classes must be named as these constructors '
-                       'are syntactic sugar for object literals.'});
-        }
         HInstruction argument = arguments[i];
         if (argument != null) {
           filteredArguments.add(argument);
@@ -5911,10 +5911,14 @@
     } else if (element.isSetter) {
       codeTemplate = js.js.parseForeignJS("# = #");
     } else {
+      FunctionElement function = element;
+      FunctionSignature params = function.functionSignature;
+
       var argsStub = <String>[];
       for (int i = 0; i < arguments.length; i++) {
         argsStub.add('#');
       }
+
       if (element.isConstructor) {
         codeTemplate = js.js.parseForeignJS("new #(${argsStub.join(",")})");
       } else {
diff --git a/pkg/js/lib/js.dart b/pkg/js/lib/js.dart
index 4cb53c5..17b1ded 100644
--- a/pkg/js/lib/js.dart
+++ b/pkg/js/lib/js.dart
@@ -18,3 +18,15 @@
   final String name;
   const JS([this.name]);
 }
+
+class _Anonymous {
+  const _Anonymous();
+}
+
+/// A metadata annotation that indicates that a @JS annotated class is
+/// structural and does not have a known JavaScript prototype.
+///
+/// Factory constructors for anonymous JavaScript classes desugar to creating
+/// JavaScript object literals with name-value pairs corresponding to the
+/// parameter names and values.
+const _Anonymous anonymous = const _Anonymous();
diff --git a/runtime/lib/mirrors.cc b/runtime/lib/mirrors.cc
index 7edb1c0..d33b754 100644
--- a/runtime/lib/mirrors.cc
+++ b/runtime/lib/mirrors.cc
@@ -278,6 +278,7 @@
   kind_flags |= ((is_ctor && func.is_redirecting())
                  << Mirrors::kRedirectingCtor);
   kind_flags |= ((is_ctor && func.IsFactory()) << Mirrors::kFactoryCtor);
+  kind_flags |= (func.is_external() << Mirrors::kExternal);
   args.SetAt(5, Smi::Handle(Smi::New(kind_flags)));
 
   return CreateMirror(Symbols::_LocalMethodMirror(), args);
diff --git a/runtime/lib/mirrors.h b/runtime/lib/mirrors.h
index dc09109..40bd5d5 100644
--- a/runtime/lib/mirrors.h
+++ b/runtime/lib/mirrors.h
@@ -20,6 +20,7 @@
     V(kGenerativeCtor)                                                         \
     V(kRedirectingCtor)                                                        \
     V(kFactoryCtor)                                                            \
+    V(kExternal)                                                               \
 
   // These offsets much be kept in sync with those in mirrors_impl.dart.
   enum KindShifts {
diff --git a/runtime/lib/mirrors_impl.dart b/runtime/lib/mirrors_impl.dart
index 0c7b0bb..8b099c9 100644
--- a/runtime/lib/mirrors_impl.dart
+++ b/runtime/lib/mirrors_impl.dart
@@ -1372,6 +1372,7 @@
   static const kGenerativeCtor = 5;
   static const kRedirectingCtor = 6;
   static const kFactoryCtor = 7;
+  static const kExternal = 8;
 
   // These offsets much be kept in sync with those in mirrors.h.
   bool get isAbstract =>               0 != (_kindFlags & (1 << kAbstract));
@@ -1382,6 +1383,7 @@
   bool get isGenerativeConstructor =>  0 != (_kindFlags & (1 << kGenerativeCtor));
   bool get isRedirectingConstructor => 0 != (_kindFlags & (1 << kRedirectingCtor));
   bool get isFactoryConstructor =>     0 != (_kindFlags & (1 << kFactoryCtor));
+  bool get isExternal =>               0 != (_kindFlags & (1 << kExternal));
 
   static const _operators = const ["%", "&", "*", "+", "-", "/", "<", "<<",
       "<=", "==", ">", ">=", ">>", "[]", "[]=", "^", "|", "~", "unary-", "~/"];
diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
index 244b4b4..d1f0c7b 100644
--- a/sdk/lib/html/dartium/html_dartium.dart
+++ b/sdk/lib/html/dartium/html_dartium.dart
@@ -530,6 +530,7 @@
   'XPathNSResolver': () => XPathNSResolver,
   'XPathResult': () => XPathResult,
   'XSLTProcessor': () => XsltProcessor,
+
 };
 
 // TODO(leafp): We may want to move this elsewhere if html becomes
@@ -621,6 +622,7 @@
 }
 
 // FIXME: Can we make this private?
+@Deprecated("Internal Use Only")
 final htmlBlinkFunctionMap = {
   'Animation': () => Animation.internalCreateAnimation,
   'AnimationEffect': () => AnimationEffect.internalCreateAnimationEffect,
@@ -1302,6 +1304,7 @@
     return new AnchorElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnchorElement.internal_() : super.internal_();
 
   /**
@@ -1496,6 +1499,7 @@
     return new Animation.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Animation.internal_() : super.internal_();
 
 
@@ -1523,6 +1527,7 @@
     return new AnimationEffect.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimationEffect.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1555,6 +1560,7 @@
     return new AnimationEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimationEvent.internal_() : super.internal_();
 
 
@@ -1590,6 +1596,7 @@
     return new AnimationNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimationNode.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1660,6 +1667,7 @@
     return new AnimationPlayer.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimationPlayer.internal_() : super.internal_();
 
 
@@ -1761,6 +1769,7 @@
     return new AnimationPlayerEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimationPlayerEvent.internal_() : super.internal_();
 
 
@@ -1798,6 +1807,7 @@
     return new AnimationTimeline.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimationTimeline.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1931,6 +1941,7 @@
     return new ApplicationCache.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ApplicationCache.internal_() : super.internal_();
 
 
@@ -2042,6 +2053,7 @@
     return new ApplicationCacheErrorEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ApplicationCacheErrorEvent.internal_() : super.internal_();
 
 
@@ -2103,6 +2115,7 @@
     return new AreaElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AreaElement.internal_() : super.internal_();
 
   /**
@@ -2264,6 +2277,7 @@
     return new AudioElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioElement.internal_() : super.internal_();
 
   /**
@@ -2303,6 +2317,7 @@
     return new AudioTrack.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioTrack.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -2368,6 +2383,7 @@
     return new AudioTrackList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioTrackList.internal_() : super.internal_();
 
 
@@ -2417,6 +2433,7 @@
     return new AutocompleteErrorEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AutocompleteErrorEvent.internal_() : super.internal_();
 
 
@@ -2452,6 +2469,7 @@
     return new BRElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   BRElement.internal_() : super.internal_();
 
   /**
@@ -2486,6 +2504,7 @@
     return new BarProp.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   BarProp.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -2523,6 +2542,7 @@
     return new BaseElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   BaseElement.internal_() : super.internal_();
 
   /**
@@ -2574,6 +2594,7 @@
     return new BatteryManager.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   BatteryManager.internal_() : super.internal_();
 
 
@@ -2617,6 +2638,7 @@
     return new BeforeUnloadEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   BeforeUnloadEvent.internal_() : super.internal_();
 
 
@@ -2648,6 +2670,7 @@
     return new Blob.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Blob.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -2717,6 +2740,7 @@
     return new Body.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Body.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -2900,6 +2924,7 @@
     return new BodyElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   BodyElement.internal_() : super.internal_();
 
   /**
@@ -3002,6 +3027,7 @@
     return new ButtonElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ButtonElement.internal_() : super.internal_();
 
   /**
@@ -3146,6 +3172,7 @@
     return new CDataSection.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CDataSection.internal_() : super.internal_();
 
 
@@ -3173,6 +3200,7 @@
     return new CacheStorage.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CacheStorage.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3228,6 +3256,7 @@
     return new Canvas2DContextAttributes.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Canvas2DContextAttributes.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3301,6 +3330,7 @@
     return new CanvasElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CanvasElement.internal_() : super.internal_();
 
   /**
@@ -3477,6 +3507,7 @@
     return new CanvasGradient.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CanvasGradient.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3545,6 +3576,7 @@
     return new CanvasPattern.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CanvasPattern.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3579,6 +3611,7 @@
     return new CanvasRenderingContext2D.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CanvasRenderingContext2D.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -4368,6 +4401,7 @@
     return new CharacterData.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CharacterData.internal_() : super.internal_();
 
 
@@ -4473,6 +4507,7 @@
     return new CircularGeofencingRegion.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CircularGeofencingRegion.internal_() : super.internal_();
 
 
@@ -4525,6 +4560,7 @@
     return new CloseEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CloseEvent.internal_() : super.internal_();
 
 
@@ -4571,6 +4607,7 @@
     return new Comment.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Comment.internal_() : super.internal_();
 
 }
@@ -4609,6 +4646,7 @@
     return new CompositionEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CompositionEvent.internal_() : super.internal_();
 
 
@@ -4659,6 +4697,7 @@
     return new Console.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Console.internal_() : super.internal_();
 
 
@@ -4691,6 +4730,7 @@
     return new ConsoleBase.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ConsoleBase.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -4842,6 +4882,7 @@
     return new ContentElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ContentElement.internal_() : super.internal_();
 
   /**
@@ -4889,6 +4930,7 @@
     return new Coordinates.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Coordinates.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -4946,6 +4988,7 @@
     return new Credential.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Credential.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -4990,6 +5033,7 @@
     return new CredentialsContainer.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CredentialsContainer.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -5054,6 +5098,7 @@
     return new Crypto.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Crypto.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -5095,6 +5140,7 @@
     return new CryptoKey.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CryptoKey.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -5145,6 +5191,7 @@
     return new Css.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Css.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -5184,6 +5231,7 @@
     return new CssCharsetRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssCharsetRule.internal_() : super.internal_();
 
 
@@ -5223,6 +5271,7 @@
     return new CssFilterRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssFilterRule.internal_() : super.internal_();
 
 
@@ -5254,6 +5303,7 @@
     return new CssFontFaceRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssFontFaceRule.internal_() : super.internal_();
 
 
@@ -5285,6 +5335,7 @@
     return new CssImportRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssImportRule.internal_() : super.internal_();
 
 
@@ -5325,6 +5376,7 @@
     return new CssKeyframeRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssKeyframeRule.internal_() : super.internal_();
 
 
@@ -5368,6 +5420,7 @@
     return new CssKeyframesRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssKeyframesRule.internal_() : super.internal_();
 
 
@@ -5430,6 +5483,7 @@
     return new CssMediaRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssMediaRule.internal_() : super.internal_();
 
 
@@ -5473,6 +5527,7 @@
     return new CssPageRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssPageRule.internal_() : super.internal_();
 
 
@@ -5511,6 +5566,7 @@
     return new CssRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssRule.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -5710,6 +5766,7 @@
     return new CssStyleDeclaration.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssStyleDeclaration.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -8907,6 +8964,7 @@
     return new CssStyleRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssStyleRule.internal_() : super.internal_();
 
 
@@ -8946,6 +9004,7 @@
     return new CssStyleSheet.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssStyleSheet.internal_() : super.internal_();
 
 
@@ -9009,6 +9068,7 @@
     return new CssSupportsRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssSupportsRule.internal_() : super.internal_();
 
 
@@ -9053,6 +9113,7 @@
     return new CssViewportRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CssViewportRule.internal_() : super.internal_();
 
 
@@ -9118,6 +9179,7 @@
     return new CustomEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CustomEvent.internal_() : super.internal_();
 
 
@@ -9157,6 +9219,7 @@
     return new DListElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DListElement.internal_() : super.internal_();
 
   /**
@@ -9198,6 +9261,7 @@
     return new DataListElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DataListElement.internal_() : super.internal_();
 
   /**
@@ -9238,6 +9302,7 @@
     return new DataTransfer.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DataTransfer.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -9327,6 +9392,7 @@
     return new DataTransferItem.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DataTransferItem.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -9385,6 +9451,7 @@
     return new DataTransferItemList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DataTransferItemList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -9478,6 +9545,7 @@
     return new DedicatedWorkerGlobalScope.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DedicatedWorkerGlobalScope.internal_() : super.internal_();
 
 
@@ -9516,6 +9584,7 @@
     return new DeprecatedStorageInfo.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DeprecatedStorageInfo.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -9581,6 +9650,7 @@
     return new DeprecatedStorageQuota.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DeprecatedStorageQuota.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -9639,6 +9709,7 @@
     return new DetailsElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DetailsElement.internal_() : super.internal_();
 
   /**
@@ -9684,6 +9755,7 @@
     return new DeviceAcceleration.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DeviceAcceleration.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -9726,6 +9798,7 @@
     return new DeviceLightEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DeviceLightEvent.internal_() : super.internal_();
 
 
@@ -9760,6 +9833,7 @@
     return new DeviceMotionEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DeviceMotionEvent.internal_() : super.internal_();
 
 
@@ -9816,6 +9890,7 @@
     return new DeviceOrientationEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DeviceOrientationEvent.internal_() : super.internal_();
 
 
@@ -9864,6 +9939,7 @@
     return new DeviceRotationRate.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DeviceRotationRate.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -9906,6 +9982,7 @@
     return new DialogElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DialogElement.internal_() : super.internal_();
 
   /**
@@ -10005,6 +10082,7 @@
     return new DirectoryEntry.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DirectoryEntry.internal_() : super.internal_();
 
 
@@ -10104,6 +10182,7 @@
     return new DirectoryReader.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DirectoryReader.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -10176,6 +10255,7 @@
     return new DivElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DivElement.internal_() : super.internal_();
 
   /**
@@ -10260,6 +10340,7 @@
     return new Document.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Document.internal_() : super.internal_();
 
 
@@ -11198,6 +11279,7 @@
     return new DocumentFragment.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DocumentFragment.internal_() : super.internal_();
 
 
@@ -11267,6 +11349,7 @@
     return new DomError.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomError.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -11324,14 +11407,17 @@
     return new DomException._internalWrap();
   }
 
+  @Deprecated("Internal Use Only")
   js.JsObject blink_jsObject;
 
   factory DomException._internalWrap() {
     return new DomException.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomException.internal_() { }
 
+  @Deprecated("Internal Use Only")
   DomException.jsInterop(String m) {
     var name_index = m.indexOf(': ');
     if (name_index < 0) {
@@ -11378,6 +11464,7 @@
     return new DomImplementation.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomImplementation.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -11423,6 +11510,7 @@
     return new DomIterator.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomIterator.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -11472,6 +11560,7 @@
     return new DomMatrix.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomMatrix.internal_() : super.internal_();
 
 
@@ -11778,6 +11867,7 @@
     return new DomMatrixReadOnly.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomMatrixReadOnly.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -11996,6 +12086,7 @@
     return new DomParser.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomParser.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -12052,6 +12143,7 @@
     return new DomPoint.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomPoint.internal_() : super.internal_();
 
 
@@ -12128,6 +12220,7 @@
     return new DomPointReadOnly.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomPointReadOnly.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -12271,6 +12364,7 @@
     return new DomRectReadOnly.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomRectReadOnly.internal_() { }
 
 
@@ -12338,6 +12432,7 @@
     return new DomSettableTokenList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomSettableTokenList.internal_() : super.internal_();
 
 
@@ -12376,6 +12471,7 @@
     return new DomStringList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomStringList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -12508,6 +12604,7 @@
     return new DomTokenList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomTokenList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -15516,6 +15613,7 @@
     return new Element.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Element.internal_() : super.internal_();
 
 
@@ -16407,6 +16505,7 @@
     return new EmbedElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   EmbedElement.internal_() : super.internal_();
 
   /**
@@ -16513,6 +16612,7 @@
     return new Entry.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Entry.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -16694,6 +16794,7 @@
     return new ErrorEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ErrorEvent.internal_() : super.internal_();
 
 
@@ -16790,6 +16891,7 @@
     return new Event.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Event.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -16982,6 +17084,7 @@
     return new EventSource.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   EventSource.internal_() : super.internal_();
 
 
@@ -17166,6 +17269,7 @@
     return new EventTarget.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   EventTarget.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -17234,6 +17338,7 @@
     return new ExtendableEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ExtendableEvent.internal_() : super.internal_();
 
 
@@ -17273,6 +17378,7 @@
     return new FederatedCredential.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FederatedCredential.internal_() : super.internal_();
 
 
@@ -17306,6 +17412,7 @@
     return new FetchEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FetchEvent.internal_() : super.internal_();
 
 
@@ -17353,6 +17460,7 @@
     return new FieldSetElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FieldSetElement.internal_() : super.internal_();
 
   /**
@@ -17434,6 +17542,7 @@
     return new File.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   File.internal_() : super.internal_();
 
 
@@ -17495,6 +17604,7 @@
     return new FileEntry.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FileEntry.internal_() : super.internal_();
 
 
@@ -17558,6 +17668,7 @@
     return new FileError.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FileError.internal_() : super.internal_();
 
 
@@ -17636,6 +17747,7 @@
     return new FileList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FileList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -17794,6 +17906,7 @@
     return new FileReader.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FileReader.internal_() : super.internal_();
 
 
@@ -17896,6 +18009,7 @@
     return new FileStream.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FileStream.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -17932,6 +18046,7 @@
     return new FileSystem.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FileSystem.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -18045,6 +18160,7 @@
     return new FileWriter.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FileWriter.internal_() : super.internal_();
 
 
@@ -18157,6 +18273,7 @@
     return new FocusEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FocusEvent.internal_() : super.internal_();
 
 
@@ -18215,6 +18332,7 @@
     return new FontFace.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FontFace.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -18330,6 +18448,7 @@
     return new FontFaceSet.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FontFaceSet.internal_() : super.internal_();
 
 
@@ -18414,6 +18533,7 @@
     return new FontFaceSetLoadEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FontFaceSetLoadEvent.internal_() : super.internal_();
 
 
@@ -18456,6 +18576,7 @@
     return new FormData.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FormData.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -18500,6 +18621,7 @@
     return new FormElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FormElement.internal_() : super.internal_();
 
   /**
@@ -18642,6 +18764,7 @@
     return new Gamepad.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Gamepad.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -18697,6 +18820,7 @@
     return new GamepadButton.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   GamepadButton.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -18737,6 +18861,7 @@
     return new GamepadEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   GamepadEvent.internal_() : super.internal_();
 
 
@@ -18769,6 +18894,7 @@
     return new Geofencing.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Geofencing.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -18813,6 +18939,7 @@
     return new GeofencingRegion.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   GeofencingRegion.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -18916,6 +19043,7 @@
     return new Geolocation.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Geolocation.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -18972,6 +19100,7 @@
     return new Geoposition.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Geoposition.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -19548,6 +19677,7 @@
     return new HRElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HRElement.internal_() : super.internal_();
 
   /**
@@ -19600,6 +19730,7 @@
     return new HashChangeEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HashChangeEvent.internal_() : super.internal_();
 
 
@@ -19646,6 +19777,7 @@
     return new HeadElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HeadElement.internal_() : super.internal_();
 
   /**
@@ -19695,6 +19827,7 @@
     return new Headers.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Headers.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -19772,6 +19905,7 @@
     return new HeadingElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HeadingElement.internal_() : super.internal_();
 
   /**
@@ -19812,6 +19946,7 @@
     return new History.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   History.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -19875,6 +20010,7 @@
     return new HtmlCollection.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HtmlCollection.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -19961,6 +20097,7 @@
     return new HtmlDocument.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HtmlDocument.internal_() : super.internal_();
 
 
@@ -20770,6 +20907,7 @@
     return new HtmlElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HtmlElement.internal_() : super.internal_();
 
   /**
@@ -21190,6 +21328,7 @@
     return new HtmlFormControlsCollection.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HtmlFormControlsCollection.internal_() : super.internal_();
 
 
@@ -21225,6 +21364,7 @@
     return new HtmlHtmlElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HtmlHtmlElement.internal_() : super.internal_();
 
   /**
@@ -21258,6 +21398,7 @@
     return new HtmlOptionsCollection.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HtmlOptionsCollection.internal_() : super.internal_();
 
 
@@ -21669,6 +21810,7 @@
     return new HttpRequest.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HttpRequest.internal_() : super.internal_();
 
 
@@ -22083,6 +22225,7 @@
     return new HttpRequestEventTarget.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HttpRequestEventTarget.internal_() : super.internal_();
 
 
@@ -22162,6 +22305,7 @@
     return new HttpRequestUpload.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   HttpRequestUpload.internal_() : super.internal_();
 
 
@@ -22193,6 +22337,7 @@
     return new IFrameElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   IFrameElement.internal_() : super.internal_();
 
   /**
@@ -22298,6 +22443,7 @@
     return new ImageBitmap.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ImageBitmap.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -22353,6 +22499,7 @@
     return new ImageData.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ImageData.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -22401,6 +22548,7 @@
     return new ImageElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ImageElement.internal_() : super.internal_();
 
   /**
@@ -22537,6 +22685,7 @@
     return new InjectedScriptHost.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   InjectedScriptHost.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -22601,6 +22750,7 @@
     return new InputElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   InputElement.internal_() : super.internal_();
 
   /**
@@ -23622,6 +23772,7 @@
     return new InputMethodContext.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   InputMethodContext.internal_() : super.internal_();
 
 
@@ -23673,6 +23824,7 @@
     return new InstallEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   InstallEvent.internal_() : super.internal_();
 
 
@@ -23726,6 +23878,7 @@
     return new KeyboardEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   KeyboardEvent.internal_() : super.internal_();
 
 
@@ -23826,6 +23979,7 @@
     return new KeygenElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   KeygenElement.internal_() : super.internal_();
 
   /**
@@ -23939,6 +24093,7 @@
     return new LIElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   LIElement.internal_() : super.internal_();
 
   /**
@@ -23984,6 +24139,7 @@
     return new LabelElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   LabelElement.internal_() : super.internal_();
 
   /**
@@ -24037,6 +24193,7 @@
     return new LegendElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   LegendElement.internal_() : super.internal_();
 
   /**
@@ -24076,6 +24233,7 @@
     return new LinkElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   LinkElement.internal_() : super.internal_();
 
   /**
@@ -24203,6 +24361,7 @@
     return new LocalCredential.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   LocalCredential.internal_() : super.internal_();
 
 
@@ -24232,6 +24391,7 @@
     return new Location.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Location.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -24379,6 +24539,7 @@
     return new MapElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MapElement.internal_() : super.internal_();
 
   /**
@@ -24432,6 +24593,7 @@
     return new MediaController.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaController.internal_() : super.internal_();
 
 
@@ -24535,6 +24697,7 @@
     return new MediaDeviceInfo.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaDeviceInfo.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -24651,6 +24814,7 @@
     return new MediaElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaElement.internal_() : super.internal_();
 
   /**
@@ -25014,6 +25178,7 @@
     return new MediaError.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaError.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -25070,6 +25235,7 @@
     return new MediaKeyError.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaKeyError.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -25134,6 +25300,7 @@
     return new MediaKeyEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaKeyEvent.internal_() : super.internal_();
 
 
@@ -25191,6 +25358,7 @@
     return new MediaKeyMessageEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaKeyMessageEvent.internal_() : super.internal_();
 
 
@@ -25228,6 +25396,7 @@
     return new MediaKeyNeededEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaKeyNeededEvent.internal_() : super.internal_();
 
 
@@ -25266,6 +25435,7 @@
     return new MediaKeySession.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaKeySession.internal_() : super.internal_();
 
 
@@ -25336,6 +25506,7 @@
     return new MediaKeys.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaKeys.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -25386,6 +25557,7 @@
     return new MediaList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -25445,6 +25617,7 @@
     return new MediaQueryList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaQueryList.internal_() : super.internal_();
 
 
@@ -25494,6 +25667,7 @@
     return new MediaQueryListEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaQueryListEvent.internal_() : super.internal_();
 
 
@@ -25541,6 +25715,7 @@
     return new MediaSource.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaSource.internal_() : super.internal_();
 
 
@@ -25657,6 +25832,7 @@
     return new MediaStream.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaStream.internal_() : super.internal_();
 
 
@@ -25758,6 +25934,7 @@
     return new MediaStreamEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaStreamEvent.internal_() : super.internal_();
 
 
@@ -25825,6 +26002,7 @@
     return new MediaStreamTrack.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaStreamTrack.internal_() : super.internal_();
 
 
@@ -25921,6 +26099,7 @@
     return new MediaStreamTrackEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaStreamTrackEvent.internal_() : super.internal_();
 
 
@@ -25965,6 +26144,7 @@
     return new MemoryInfo.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MemoryInfo.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -26020,6 +26200,7 @@
     return new MenuElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MenuElement.internal_() : super.internal_();
 
   /**
@@ -26074,6 +26255,7 @@
     return new MenuItemElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MenuItemElement.internal_() : super.internal_();
 
   /**
@@ -26157,6 +26339,7 @@
     return new MessageChannel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MessageChannel.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -26205,6 +26388,7 @@
     return new MessageEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MessageEvent.internal_() : super.internal_();
 
 
@@ -26264,6 +26448,7 @@
     return new MessagePort.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MessagePort.internal_() : super.internal_();
 
 
@@ -26312,6 +26497,7 @@
     return new MetaElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MetaElement.internal_() : super.internal_();
 
   /**
@@ -26370,6 +26556,7 @@
     return new Metadata.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Metadata.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -26426,6 +26613,7 @@
     return new MeterElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MeterElement.internal_() : super.internal_();
 
   /**
@@ -26537,6 +26725,7 @@
     return new MidiAccess.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MidiAccess.internal_() : super.internal_();
 
 
@@ -26589,6 +26778,7 @@
     return new MidiConnectionEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MidiConnectionEvent.internal_() : super.internal_();
 
 
@@ -26632,6 +26822,7 @@
     return new MidiInput.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MidiInput.internal_() : super.internal_();
 
 
@@ -26664,6 +26855,7 @@
     return new MidiInputMap.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MidiInputMap.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -26725,6 +26917,7 @@
     return new MidiMessageEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MidiMessageEvent.internal_() : super.internal_();
 
 
@@ -26762,6 +26955,7 @@
     return new MidiOutput.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MidiOutput.internal_() : super.internal_();
 
 
@@ -26798,6 +26992,7 @@
     return new MidiOutputMap.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MidiOutputMap.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -26869,6 +27064,7 @@
     return new MidiPort.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MidiPort.internal_() : super.internal_();
 
 
@@ -26921,6 +27117,7 @@
     return new MimeType.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MimeType.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -26966,6 +27163,7 @@
     return new MimeTypeArray.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MimeTypeArray.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -27058,6 +27256,7 @@
     return new ModElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ModElement.internal_() : super.internal_();
 
   /**
@@ -27121,6 +27320,7 @@
     return new MouseEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MouseEvent.internal_() : super.internal_();
 
 
@@ -27312,6 +27512,7 @@
     return new MutationObserver.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MutationObserver.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -27423,6 +27624,7 @@
     return new MutationRecord.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MutationRecord.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -27541,6 +27743,7 @@
     return new Navigator.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Navigator.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -27871,6 +28074,7 @@
     return new NavigatorUserMediaError.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   NavigatorUserMediaError.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -27935,6 +28139,7 @@
     return new NetworkInformation.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   NetworkInformation.internal_() : super.internal_();
 
 
@@ -28237,6 +28442,7 @@
     return new Node.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Node.internal_() : super.internal_();
 
 
@@ -28580,6 +28786,7 @@
     return new NodeFilter.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   NodeFilter.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -28653,6 +28860,7 @@
     return new NodeIterator.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   NodeIterator.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -28709,6 +28917,7 @@
     return new NodeList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   NodeList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -28853,6 +29062,7 @@
     return new Notification.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Notification.internal_() : super.internal_();
 
 
@@ -28972,6 +29182,7 @@
     return new OListElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OListElement.internal_() : super.internal_();
 
   /**
@@ -29037,6 +29248,7 @@
     return new ObjectElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ObjectElement.internal_() : super.internal_();
 
   /**
@@ -29167,6 +29379,7 @@
     return new OptGroupElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OptGroupElement.internal_() : super.internal_();
 
   /**
@@ -29220,6 +29433,7 @@
     return new OptionElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OptionElement.internal_() : super.internal_();
 
   /**
@@ -29308,6 +29522,7 @@
     return new OutputElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OutputElement.internal_() : super.internal_();
 
   /**
@@ -29406,6 +29621,7 @@
     return new OverflowEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OverflowEvent.internal_() : super.internal_();
 
 
@@ -29459,6 +29675,7 @@
     return new PageTransitionEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PageTransitionEvent.internal_() : super.internal_();
 
 
@@ -29494,6 +29711,7 @@
     return new ParagraphElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ParagraphElement.internal_() : super.internal_();
 
   /**
@@ -29532,6 +29750,7 @@
     return new ParamElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ParamElement.internal_() : super.internal_();
 
   /**
@@ -29641,6 +29860,7 @@
     return new Path2D.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Path2D.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -29741,6 +29961,7 @@
     return new Performance.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Performance.internal_() : super.internal_();
 
 
@@ -29854,6 +30075,7 @@
     return new PerformanceEntry.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PerformanceEntry.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -29901,6 +30123,7 @@
     return new PerformanceMark.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PerformanceMark.internal_() : super.internal_();
 
 
@@ -29930,6 +30153,7 @@
     return new PerformanceMeasure.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PerformanceMeasure.internal_() : super.internal_();
 
 
@@ -29957,6 +30181,7 @@
     return new PerformanceNavigation.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PerformanceNavigation.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -30012,6 +30237,7 @@
     return new PerformanceResourceTiming.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PerformanceResourceTiming.internal_() : super.internal_();
 
 
@@ -30090,6 +30316,7 @@
     return new PerformanceTiming.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PerformanceTiming.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -30204,6 +30431,7 @@
     return new PictureElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PictureElement.internal_() : super.internal_();
 
   /**
@@ -30237,6 +30465,7 @@
     return new Plugin.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Plugin.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -30294,6 +30523,7 @@
     return new PluginArray.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PluginArray.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -30390,6 +30620,7 @@
     return new PluginPlaceholderElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PluginPlaceholderElement.internal_() : super.internal_();
 
   /**
@@ -30442,6 +30673,7 @@
     return new PopStateEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PopStateEvent.internal_() : super.internal_();
 
 
@@ -30483,6 +30715,7 @@
     return new PositionError.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PositionError.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -30546,6 +30779,7 @@
     return new PreElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PreElement.internal_() : super.internal_();
 
   /**
@@ -30580,6 +30814,7 @@
     return new Presentation.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Presentation.internal_() : super.internal_();
 
 
@@ -30608,6 +30843,7 @@
     return new ProcessingInstruction.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ProcessingInstruction.internal_() : super.internal_();
 
 
@@ -30652,6 +30888,7 @@
     return new ProgressElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ProgressElement.internal_() : super.internal_();
 
   /**
@@ -30713,6 +30950,7 @@
     return new ProgressEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ProgressEvent.internal_() : super.internal_();
 
 
@@ -30753,6 +30991,7 @@
     return new PushEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PushEvent.internal_() : super.internal_();
 
 
@@ -30785,6 +31024,7 @@
     return new PushManager.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PushManager.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -30819,6 +31059,7 @@
     return new PushRegistration.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PushRegistration.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -30862,6 +31103,7 @@
     return new QuoteElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   QuoteElement.internal_() : super.internal_();
 
   /**
@@ -30939,6 +31181,7 @@
     return new Range.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Range.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -31136,6 +31379,7 @@
     return new ReadableStream.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ReadableStream.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -31191,6 +31435,7 @@
     return new RelatedEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RelatedEvent.internal_() : super.internal_();
 
 
@@ -31234,6 +31479,7 @@
     return new ResourceProgressEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ResourceProgressEvent.internal_() : super.internal_();
 
 
@@ -31307,6 +31553,7 @@
     return new RtcDataChannel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RtcDataChannel.internal_() : super.internal_();
 
 
@@ -31450,6 +31697,7 @@
     return new RtcDataChannelEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RtcDataChannelEvent.internal_() : super.internal_();
 
 
@@ -31493,6 +31741,7 @@
     return new RtcDtmfSender.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RtcDtmfSender.internal_() : super.internal_();
 
 
@@ -31560,6 +31809,7 @@
     return new RtcDtmfToneChangeEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RtcDtmfToneChangeEvent.internal_() : super.internal_();
 
 
@@ -31600,6 +31850,7 @@
     return new RtcIceCandidate.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RtcIceCandidate.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -31655,6 +31906,7 @@
     return new RtcIceCandidateEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RtcIceCandidateEvent.internal_() : super.internal_();
 
 
@@ -31796,6 +32048,7 @@
     return new RtcPeerConnection.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RtcPeerConnection.internal_() : super.internal_();
 
 
@@ -31993,6 +32246,7 @@
     return new RtcSessionDescription.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RtcSessionDescription.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -32039,6 +32293,7 @@
     return new RtcStatsReport.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RtcStatsReport.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -32097,6 +32352,7 @@
     return new RtcStatsResponse.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RtcStatsResponse.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -32142,6 +32398,7 @@
     return new Screen.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Screen.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -32215,6 +32472,7 @@
     return new ScreenOrientation.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ScreenOrientation.internal_() : super.internal_();
 
 
@@ -32271,6 +32529,7 @@
     return new ScriptElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ScriptElement.internal_() : super.internal_();
 
   /**
@@ -32380,6 +32639,7 @@
     return new SecurityPolicyViolationEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SecurityPolicyViolationEvent.internal_() : super.internal_();
 
 
@@ -32449,6 +32709,7 @@
     return new SelectElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SelectElement.internal_() : super.internal_();
 
   /**
@@ -32621,6 +32882,7 @@
     return new Selection.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Selection.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -32774,6 +33036,7 @@
     return new ServiceWorkerClient.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ServiceWorkerClient.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -32813,6 +33076,7 @@
     return new ServiceWorkerClients.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ServiceWorkerClients.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -32849,6 +33113,7 @@
     return new ServiceWorkerContainer.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ServiceWorkerContainer.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -32908,6 +33173,7 @@
     return new ServiceWorkerGlobalScope.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ServiceWorkerGlobalScope.internal_() : super.internal_();
 
 
@@ -32977,6 +33243,7 @@
     return new ServiceWorkerRegistration.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ServiceWorkerRegistration.internal_() : super.internal_();
 
 
@@ -33036,6 +33303,7 @@
     return new ShadowElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ShadowElement.internal_() : super.internal_();
 
   /**
@@ -33079,6 +33347,7 @@
     return new ShadowRoot.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ShadowRoot.internal_() : super.internal_();
 
 
@@ -33206,6 +33475,7 @@
     return new SharedWorker.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SharedWorker.internal_() : super.internal_();
 
 
@@ -33259,6 +33529,7 @@
     return new SharedWorkerGlobalScope.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SharedWorkerGlobalScope.internal_() : super.internal_();
 
 
@@ -33299,6 +33570,7 @@
     return new SourceBuffer.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SourceBuffer.internal_() : super.internal_();
 
 
@@ -33403,6 +33675,7 @@
     return new SourceBufferList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SourceBufferList.internal_() : super.internal_();
 
 
@@ -33488,6 +33761,7 @@
     return new SourceElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SourceElement.internal_() : super.internal_();
 
   /**
@@ -33575,6 +33849,7 @@
     return new SourceInfo.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SourceInfo.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -33628,6 +33903,7 @@
     return new SpanElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpanElement.internal_() : super.internal_();
 
   /**
@@ -33668,6 +33944,7 @@
     return new SpeechGrammar.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechGrammar.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -33720,6 +33997,7 @@
     return new SpeechGrammarList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechGrammarList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -33940,6 +34218,7 @@
     return new SpeechRecognition.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechRecognition.internal_() : super.internal_();
 
 
@@ -34079,6 +34358,7 @@
     return new SpeechRecognitionAlternative.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechRecognitionAlternative.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -34119,6 +34399,7 @@
     return new SpeechRecognitionError.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechRecognitionError.internal_() : super.internal_();
 
 
@@ -34157,6 +34438,7 @@
     return new SpeechRecognitionEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechRecognitionEvent.internal_() : super.internal_();
 
 
@@ -34202,6 +34484,7 @@
     return new SpeechRecognitionResult.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechRecognitionResult.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -34245,6 +34528,7 @@
     return new SpeechSynthesis.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechSynthesis.internal_() : super.internal_();
 
 
@@ -34306,6 +34590,7 @@
     return new SpeechSynthesisEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechSynthesisEvent.internal_() : super.internal_();
 
 
@@ -34423,6 +34708,7 @@
     return new SpeechSynthesisUtterance.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechSynthesisUtterance.internal_() : super.internal_();
 
 
@@ -34534,6 +34820,7 @@
     return new SpeechSynthesisVoice.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SpeechSynthesisVoice.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -34659,6 +34946,7 @@
     return new Storage.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Storage.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -34764,6 +35052,7 @@
     return new StorageEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   StorageEvent.internal_() : super.internal_();
 
 
@@ -34816,6 +35105,7 @@
     return new StorageInfo.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   StorageInfo.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -34856,6 +35146,7 @@
     return new StorageQuota.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   StorageQuota.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -34937,6 +35228,7 @@
     return new StyleElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   StyleElement.internal_() : super.internal_();
 
   /**
@@ -34999,6 +35291,7 @@
     return new StyleMedia.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   StyleMedia.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -35035,6 +35328,7 @@
     return new StyleSheet.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   StyleSheet.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -35100,6 +35394,7 @@
     return new TableCaptionElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TableCaptionElement.internal_() : super.internal_();
 
   /**
@@ -35137,6 +35432,7 @@
     return new TableCellElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TableCellElement.internal_() : super.internal_();
 
   /**
@@ -35202,6 +35498,7 @@
     return new TableColElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TableColElement.internal_() : super.internal_();
 
   /**
@@ -35265,6 +35562,7 @@
     return new TableElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TableElement.internal_() : super.internal_();
 
   /**
@@ -35382,6 +35680,7 @@
     return new TableRowElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TableRowElement.internal_() : super.internal_();
 
   /**
@@ -35447,6 +35746,7 @@
     return new TableSectionElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TableSectionElement.internal_() : super.internal_();
 
   /**
@@ -35501,6 +35801,7 @@
     return new TemplateElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TemplateElement.internal_() : super.internal_();
 
   /**
@@ -35557,6 +35858,7 @@
     return new Text.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Text.internal_() : super.internal_();
 
 
@@ -35601,6 +35903,7 @@
     return new TextAreaElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextAreaElement.internal_() : super.internal_();
 
   /**
@@ -35847,6 +36150,7 @@
     return new TextEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextEvent.internal_() : super.internal_();
 
 
@@ -35881,6 +36185,7 @@
     return new TextMetrics.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextMetrics.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -35981,6 +36286,7 @@
     return new TextTrack.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextTrack.internal_() : super.internal_();
 
 
@@ -36091,6 +36397,7 @@
     return new TextTrackCue.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextTrackCue.internal_() : super.internal_();
 
 
@@ -36165,6 +36472,7 @@
     return new TextTrackCueList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextTrackCueList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -36269,6 +36577,7 @@
     return new TextTrackList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextTrackList.internal_() : super.internal_();
 
 
@@ -36365,6 +36674,7 @@
     return new TimeRanges.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TimeRanges.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -36415,6 +36725,7 @@
     return new Timing.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Timing.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -36538,6 +36849,7 @@
     return new TitleElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TitleElement.internal_() : super.internal_();
 
   /**
@@ -36570,6 +36882,7 @@
     return new Touch.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Touch.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -36705,6 +37018,7 @@
     return new TouchEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TouchEvent.internal_() : super.internal_();
 
 
@@ -36777,6 +37091,7 @@
     return new TouchList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TouchList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -36872,6 +37187,7 @@
     return new TrackElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TrackElement.internal_() : super.internal_();
 
   /**
@@ -36983,6 +37299,7 @@
     return new TrackEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TrackEvent.internal_() : super.internal_();
 
 
@@ -37014,6 +37331,7 @@
     return new TransitionEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TransitionEvent.internal_() : super.internal_();
 
 
@@ -37053,6 +37371,7 @@
     return new TreeWalker.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TreeWalker.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -37145,6 +37464,7 @@
     return new UIEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   UIEvent.internal_() : super.internal_();
 
 
@@ -37235,6 +37555,7 @@
     return new UListElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   UListElement.internal_() : super.internal_();
 
   /**
@@ -37268,6 +37589,7 @@
     return new UnknownElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   UnknownElement.internal_() : super.internal_();
 
   /**
@@ -37300,6 +37622,7 @@
     return new Url.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Url.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -37657,6 +37980,7 @@
     return new ValidityState.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ValidityState.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -37727,6 +38051,7 @@
     return new VideoElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   VideoElement.internal_() : super.internal_();
 
   /**
@@ -37827,6 +38152,7 @@
     return new VideoPlaybackQuality.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   VideoPlaybackQuality.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -37876,6 +38202,7 @@
     return new VideoTrack.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   VideoTrack.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -37941,6 +38268,7 @@
     return new VideoTrackList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   VideoTrackList.internal_() : super.internal_();
 
 
@@ -38011,6 +38339,7 @@
     return new VttCue.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   VttCue.internal_() : super.internal_();
 
 
@@ -38129,6 +38458,7 @@
     return new VttRegion.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   VttRegion.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -38243,6 +38573,7 @@
     return new VttRegionList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   VttRegionList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -38382,6 +38713,7 @@
     return new WebSocket.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   WebSocket.internal_() : super.internal_();
 
 
@@ -38555,6 +38887,7 @@
     return new WheelEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   WheelEvent.internal_() : super.internal_();
 
 
@@ -38896,6 +39229,7 @@
     return new Window.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Window.internal_() : super.internal_();
 
 
@@ -40374,6 +40708,7 @@
     return new Worker.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Worker.internal_() : super.internal_();
 
 
@@ -40424,6 +40759,7 @@
     return new WorkerConsole.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   WorkerConsole.internal_() : super.internal_();
 
 
@@ -40463,6 +40799,7 @@
     return new WorkerGlobalScope.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   WorkerGlobalScope.internal_() : super.internal_();
 
 
@@ -40635,6 +40972,7 @@
     return new WorkerPerformance.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   WorkerPerformance.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -40681,6 +41019,7 @@
     return new XPathEvaluator.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   XPathEvaluator.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -40723,6 +41062,7 @@
     return new XPathExpression.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   XPathExpression.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -40757,6 +41097,7 @@
     return new XPathNSResolver.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   XPathNSResolver.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -40791,6 +41132,7 @@
     return new XPathResult.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   XPathResult.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -40897,6 +41239,7 @@
     return new XmlDocument.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   XmlDocument.internal_() : super.internal_();
 
 
@@ -40931,6 +41274,7 @@
     return new XmlSerializer.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   XmlSerializer.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -40973,6 +41317,7 @@
     return new XsltProcessor.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   XsltProcessor.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -41037,6 +41382,7 @@
     return new _Attr.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _Attr.internal_() : super.internal_();
 
 
@@ -41103,6 +41449,7 @@
     return new _CSSPrimitiveValue.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _CSSPrimitiveValue.internal_() : super.internal_();
 
 
@@ -41132,6 +41479,7 @@
     return new _CSSUnknownRule.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _CSSUnknownRule.internal_() : super.internal_();
 
 
@@ -41160,6 +41508,7 @@
     return new _CSSValue.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _CSSValue.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -41189,6 +41538,7 @@
     return new _Cache.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _Cache.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -41320,6 +41670,7 @@
     return new _ClientRect.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _ClientRect.internal_() { }
 
 
@@ -41406,6 +41757,7 @@
     return new _ClientRectList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _ClientRectList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -41490,6 +41842,7 @@
     return new _Counter.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _Counter.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -41518,6 +41871,7 @@
     return new _CssRuleList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _CssRuleList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -41603,6 +41957,7 @@
     return new _CssValueList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _CssValueList.internal_() : super.internal_();
 
 
@@ -41686,6 +42041,7 @@
     return new _DOMFileSystemSync.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _DOMFileSystemSync.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -41717,6 +42073,7 @@
     return new _DirectoryEntrySync.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _DirectoryEntrySync.internal_() : super.internal_();
 
 
@@ -41745,6 +42102,7 @@
     return new _DirectoryReaderSync.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _DirectoryReaderSync.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -41774,6 +42132,7 @@
     return new _DocumentType.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _DocumentType.internal_() : super.internal_();
 
 
@@ -41824,6 +42183,7 @@
     return new _DomRect.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _DomRect.internal_() : super.internal_();
 
 
@@ -41892,6 +42252,7 @@
     return new _EntrySync.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _EntrySync.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -41923,6 +42284,7 @@
     return new _FileEntrySync.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _FileEntrySync.internal_() : super.internal_();
 
 
@@ -41957,6 +42319,7 @@
     return new _FileReaderSync.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _FileReaderSync.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -41987,6 +42350,7 @@
     return new _FileWriterSync.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _FileWriterSync.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -42017,6 +42381,7 @@
     return new _GamepadList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _GamepadList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -42101,6 +42466,7 @@
     return new _HTMLAllCollection.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _HTMLAllCollection.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -42136,6 +42502,7 @@
     return new _HTMLAppletElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _HTMLAppletElement.internal_() : super.internal_();
 
   /**
@@ -42171,6 +42538,7 @@
     return new _HTMLDirectoryElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _HTMLDirectoryElement.internal_() : super.internal_();
 
   /**
@@ -42206,6 +42574,7 @@
     return new _HTMLFontElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _HTMLFontElement.internal_() : super.internal_();
 
   /**
@@ -42241,6 +42610,7 @@
     return new _HTMLFrameElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _HTMLFrameElement.internal_() : super.internal_();
 
   /**
@@ -42274,6 +42644,7 @@
     return new _HTMLFrameSetElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _HTMLFrameSetElement.internal_() : super.internal_();
 
   /**
@@ -42318,6 +42689,7 @@
     return new _HTMLMarqueeElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _HTMLMarqueeElement.internal_() : super.internal_();
 
   /**
@@ -42359,6 +42731,7 @@
     return new _MutationEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _MutationEvent.internal_() : super.internal_();
 
 
@@ -42387,6 +42760,7 @@
     return new _NamedNodeMap.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _NamedNodeMap.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -42498,6 +42872,7 @@
     return new _PagePopupController.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _PagePopupController.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -42528,6 +42903,7 @@
     return new _RGBColor.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _RGBColor.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -42554,6 +42930,7 @@
     return new _RadioNodeList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _RadioNodeList.internal_() : super.internal_();
 
 
@@ -42582,6 +42959,7 @@
     return new _Rect.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _Rect.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -42632,6 +43010,7 @@
     return new _Request.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _Request.internal_() : super.internal_();
 
 
@@ -42724,6 +43103,7 @@
     return new _Response.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _Response.internal_() : super.internal_();
 
 
@@ -42750,6 +43130,7 @@
     return new _ServiceWorker.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _ServiceWorker.internal_() : super.internal_();
 
 
@@ -42781,6 +43162,7 @@
     return new _SpeechRecognitionResultList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SpeechRecognitionResultList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -42863,6 +43245,7 @@
     return new _StyleSheetList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _StyleSheetList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -42950,6 +43333,7 @@
     return new _SubtleCrypto.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SubtleCrypto.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -42981,6 +43365,7 @@
     return new _WebKitCSSFilterValue.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _WebKitCSSFilterValue.internal_() : super.internal_();
 
 
@@ -43018,6 +43403,7 @@
     return new _WebKitCSSMatrix.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _WebKitCSSMatrix.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -43049,6 +43435,7 @@
     return new _WebKitCSSTransformValue.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _WebKitCSSTransformValue.internal_() : super.internal_();
 
 
@@ -43110,6 +43497,7 @@
     return new _WorkerLocation.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _WorkerLocation.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -43149,6 +43537,7 @@
     return new _WorkerNavigator.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _WorkerNavigator.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -43190,6 +43579,7 @@
     return new _XMLHttpRequestProgressEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _XMLHttpRequestProgressEvent.internal_() : super.internal_();
 
 
@@ -47487,6 +47877,7 @@
    *               all blink_jsObject.  Then needed private wrap/unwrap_jso
    *               functions that delegate to a public wrap/unwrap_jso.
    */
+  @Deprecated("Internal Use Only")
   js.JsObject blink_jsObject;
 
   /** The parent KeyboardEvent that this KeyEvent is wrapping and "fixing". */
diff --git a/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart b/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
index fcb4e1d..6272bbf 100644
--- a/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
+++ b/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
@@ -178,6 +178,7 @@
     return new Cursor.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Cursor.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -250,6 +251,7 @@
     return new CursorWithValue.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CursorWithValue.internal_() : super.internal_();
 
 
@@ -346,6 +348,7 @@
     return new Database.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Database.internal_() : super.internal_();
 
 
@@ -540,6 +543,7 @@
     return new IdbFactory.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   IdbFactory.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -692,6 +696,7 @@
     return new Index.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Index.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -782,6 +787,7 @@
     return new KeyRange.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   KeyRange.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -980,6 +986,7 @@
     return new ObjectStore.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ObjectStore.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1145,6 +1152,7 @@
     return new OpenDBRequest.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OpenDBRequest.internal_() : super.internal_();
 
 
@@ -1203,6 +1211,7 @@
     return new Request.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Request.internal_() : super.internal_();
 
 
@@ -1317,6 +1326,7 @@
     return new Transaction.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Transaction.internal_() : super.internal_();
 
 
@@ -1380,6 +1390,7 @@
     return new VersionChangeEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   VersionChangeEvent.internal_() : super.internal_();
 
 
diff --git a/sdk/lib/io/http.dart b/sdk/lib/io/http.dart
index dd71559..deae6dc 100644
--- a/sdk/lib/io/http.dart
+++ b/sdk/lib/io/http.dart
@@ -94,7 +94,7 @@
  * Use [bindSecure] to create an HTTPS server.
  *
  * The server presents a certificate to the client. The certificate
- * chain and the private key are set in the SecurityContext
+ * chain and the private key are set in the [SecurityContext]
  * object that is passed to [bindSecure].
  *
  *     import 'dart:io';
@@ -123,8 +123,8 @@
  *           });
  *     }
  *
- *  The certificates and keys are pem files, which can be created and
- *  managed with the tools in OpenSSL and BoringSSL.
+ *  The certificates and keys are PEM files, which can be created and
+ *  managed with the tools in OpenSSL.
  *
  * ## Connect to a server socket
  *
@@ -237,13 +237,12 @@
    * value of [:0:] (the default) a reasonable value will be chosen by
    * the system.
    *
-   * The optional argument [shared] specify whether additional binds
-   * to the same `address`, `port` and `v6Only` combination is
-   * possible from the same Dart process. If `shared` is `true` and
-   * additional binds are performed, then the incoming connections
-   * will be distributed between that set of `HttpServer`s. One way of
-   * using this is to have number of isolates between which incoming
-   * connections are distributed.
+   * The optional argument [shared] specifies whether additional HttpServer
+   * objects can bind to the same combination of `address`, `port` and `v6Only`.
+   * If `shared` is `true` and more `HttpServer`s from this isolate or other
+   * isolates are bound to the port, then the incoming connections will be
+   * distributed among all the bound `HttpServer`s. Connections can be
+   * distributed over multiple isolates this way.
    */
   static Future<HttpServer> bind(address,
                                  int port,
@@ -278,18 +277,18 @@
    * value of [:0:] (the default) a reasonable value will be chosen by
    * the system.
    *
-   * The certificate with nickname or distinguished name (DN) [certificateName]
-   * is looked up in the certificate database, and is used as the server
-   * certificate. If [requestClientCertificate] is true, the server will
+   * If [requestClientCertificate] is true, the server will
    * request clients to authenticate with a client certificate.
+   * The server will advertise the names of trusted issuers of client
+   * certificates, getting them from [context], where they have been
+   * set using [SecurityContext.setClientAuthorities].
    *
-   * The optional argument [shared] specify whether additional binds
-   * to the same `address`, `port` and `v6Only` combination is
-   * possible from the same Dart process. If `shared` is `true` and
-   * additional binds are performed, then the incoming connections
-   * will be distributed between that set of `HttpServer`s. One way of
-   * using this is to have number of isolates between which incoming
-   * connections are distributed.
+   * The optional argument [shared] specifies whether additional HttpServer
+   * objects can bind to the same combination of `address`, `port` and `v6Only`.
+   * If `shared` is `true` and more `HttpServer`s from this isolate or other
+   * isolates are bound to the port, then the incoming connections will be
+   * distributed among all the bound `HttpServer`s. Connections can be
+   * distributed over multiple isolates this way.
    */
 
   static Future<HttpServer> bindSecure(address,
@@ -297,7 +296,6 @@
                                        SecurityContext context,
                                        {int backlog: 0,
                                         bool v6Only: false,
-                                        String certificateName,
                                         bool requestClientCertificate: false,
                                         bool shared: false})
       => _HttpServer.bindSecure(address,
@@ -305,7 +303,6 @@
                                 context,
                                 backlog,
                                 v6Only,
-                                certificateName,
                                 requestClientCertificate,
                                 shared);
 
@@ -1244,6 +1241,19 @@
  * The future for [HttpClientRequest] is created by methods such as
  * [getUrl] and [open].
  *
+ * ## HTTPS connections
+ *
+ * An HttpClient can make HTTPS requests, connecting to a server using
+ * the TLS (SSL) secure networking protocol. Calling [getUrl] with an
+ * https: scheme will work automatically, if the server's certificate is
+ * signed by a root CA (certificate authority) on the default list of
+ * well-known trusted CAs, compiled by Mozilla.
+ *
+ * To add a custom trusted certificate authority, or to send a client
+ * certificate to servers that request one, pass a [SecurityContext] object
+ * as the optional [context] argument to the `HttpClient` constructor.
+ * The desired security options can be set on the [SecurityContext] object.
+ *
  * ## Headers
  *
  * All HttpClient requests set the following header by default:
diff --git a/sdk/lib/io/http_impl.dart b/sdk/lib/io/http_impl.dart
index 2bae836..d002f30 100644
--- a/sdk/lib/io/http_impl.dart
+++ b/sdk/lib/io/http_impl.dart
@@ -2224,7 +2224,6 @@
                                        SecurityContext context,
                                        int backlog,
                                        bool v6Only,
-                                       String certificate_name,
                                        bool requestClientCertificate,
                                        bool shared) {
     return SecureServerSocket.bind(
diff --git a/sdk/lib/io/secure_server_socket.dart b/sdk/lib/io/secure_server_socket.dart
index 04ec9e0..2fbc5b1 100644
--- a/sdk/lib/io/secure_server_socket.dart
+++ b/sdk/lib/io/secure_server_socket.dart
@@ -41,25 +41,25 @@
    * the system.
    *
    * Incoming client connections are promoted to secure connections, using
-   * the server certificate given by [certificateName].
+   * the server certificate and key set in [context].
    *
    * [address] must be given as a numeric address, not a host name.
    *
    * To request or require that clients authenticate by providing an SSL (TLS)
    * client certificate, set the optional parameter [requestClientCertificate]
    * or [requireClientCertificate] to true.  Requiring a certificate implies
-   * requesting a certificate, so one doesn't need to set both to true.
+   * requesting a certificate, so setting both is redundant.
    * To check whether a client certificate was received, check
    * SecureSocket.peerCertificate after connecting.  If no certificate
    * was received, the result will be null.
    *
-   * The optional argument [shared] specify whether additional binds
-   * to the same `address`, `port` and `v6Only` combination is
-   * possible from the same Dart process. If `shared` is `true` and
-   * additional binds are performed, then the incoming connections
-   * will be distributed between that set of
-   * `SecureServerSocket`s. One way of using this is to have number of
-   * isolates between which incoming connections are distributed.
+   * The optional argument [shared] specifies whether additional
+   * SecureServerSocket objects can bind to the same combination of `address`,
+   * `port` and `v6Only`.  If `shared` is `true` and more `SecureServerSocket`s
+   * from this isolate or other isolates are bound to the port, then the
+   * incoming connections will be distributed among all the bound
+   * `SecureServerSocket`s. Connections can be distributed over multiple
+   * isolates this way.
    */
   static Future<SecureServerSocket> bind(
       address,
@@ -170,16 +170,10 @@
    * the system.
    *
    * Incoming client connections are promoted to secure connections,
-   * using the server certificate given by [certificateName].
+   * using the server certificate and key set in [context].
    *
    * [address] must be given as a numeric address, not a host name.
    *
-   * [certificateName] is the nickname or the distinguished name (DN) of
-   * the certificate in the certificate database. It is looked up in the
-   * NSS certificate database set by SecureSocket.setCertificateDatabase.
-   * If [certificateName] contains "CN=", it is assumed to be a distinguished
-   * name.  Otherwise, it is looked up as a nickname.
-   *
    * To request or require that clients authenticate by providing an SSL (TLS)
    * client certificate, set the optional parameters requestClientCertificate or
    * requireClientCertificate to true.  Require implies request, so one doesn't
@@ -187,13 +181,13 @@
    * check SecureSocket.peerCertificate after connecting.  If no certificate
    * was received, the result will be null.
    *
-   * The optional argument [shared] specify whether additional binds
-   * to the same `address`, `port` and `v6Only` combination is
-   * possible from the same Dart process. If `shared` is `true` and
-   * additional binds are performed, then the incoming connections
-   * will be distributed between that set of
-   * `RawSecureServerSocket`s. One way of using this is to have number
-   * of isolates between which incoming connections are distributed.
+   * The optional argument [shared] specifies whether additional
+   * RawSecureServerSocket objects can bind to the same combination of
+   * `address`, `port` and `v6Only`.  If `shared` is `true` and more
+   * `RawSecureServerSocket`s from this isolate or other isolates are bound to
+   * the port, then the incoming connections will be distributed among all the
+   * bound `RawSecureServerSocket`s. Connections can be distributed over
+   * multiple isolates this way.
    */
   static Future<RawSecureServerSocket> bind(
       address,
diff --git a/sdk/lib/io/secure_socket.dart b/sdk/lib/io/secure_socket.dart
index 5e417e5..cf8dec0 100644
--- a/sdk/lib/io/secure_socket.dart
+++ b/sdk/lib/io/secure_socket.dart
@@ -14,7 +14,7 @@
   external factory SecureSocket._(RawSecureSocket rawSocket);
 
   /**
-   * Constructs a new secure client socket and connect it to the given
+   * Constructs a new secure client socket and connects it to the given
    * [host] on port [port]. The returned Future will complete with a
    * [SecureSocket] that is connected and ready for subscription.
    *
@@ -167,24 +167,24 @@
  * RawSecureSocket provides a secure (SSL or TLS) network connection.
  * Client connections to a server are provided by calling
  * RawSecureSocket.connect.  A secure server, created with
- * RawSecureServerSocket, also returns RawSecureSocket objects representing
+ * [RawSecureServerSocket], also returns RawSecureSocket objects representing
  * the server end of a secure connection.
  * The certificate provided by the server is checked
  * using the trusted certificates set in the SecurityContext object.
- * The default SecurityContext object contains a built-in set of trusted
+ * The default [SecurityContext] object contains a built-in set of trusted
  * root certificates for well-known certificate authorities.
  */
 abstract class RawSecureSocket implements RawSocket {
   /**
    * Constructs a new secure client socket and connect it to the given
-   * host on the given port. The returned Future is completed with the
+   * host on the given port. The returned [Future] is completed with the
    * RawSecureSocket when it is connected and ready for subscription.
    *
-   * The certificate provided by the server is checked
-   * using the trusted certificates set in the SecurityContext object
-   * If a certificate and key are set on the client, using useCertificateChain
-   * and usePrivateKey, and the server asks for a client certificate,
-   * then that client certificate is sent to the server.
+   * The certificate provided by the server is checked using the trusted
+   * certificates set in the SecurityContext object If a certificate and key are
+   * set on the client, using [SecurityContext.useCertificateChain] and
+   * [SecurityContext.usePrivateKey], and the server asks for a client
+   * certificate, then that client certificate is sent to the server.
    *
    * [onBadCertificate] is an optional handler for unverifiable certificates.
    * The handler receives the [X509Certificate], and can inspect it and
diff --git a/sdk/lib/io/security_context.dart b/sdk/lib/io/security_context.dart
index 47234ff..48e8111 100644
--- a/sdk/lib/io/security_context.dart
+++ b/sdk/lib/io/security_context.dart
@@ -21,6 +21,16 @@
  */
 abstract class SecurityContext {
   external factory SecurityContext();
+
+  /**
+   * Secure networking classes with an optional `context` parameter
+   * use the [defaultContext] object if the parameter is omitted.
+   * This object can also be accessed, and modified, directly.
+   * Each isolate has a different [defaultContext] object.
+   * The [defaultContext] object uses a list of well-known trusted
+   * certificate authorities as its trusted roots.  This list is
+   * taken from Mozilla, who maintains it as part of Firefox.
+   */
   external static SecurityContext get defaultContext;
 
   /**
diff --git a/sdk/lib/io/socket.dart b/sdk/lib/io/socket.dart
index 6464ab4a..4da5bb8 100644
--- a/sdk/lib/io/socket.dart
+++ b/sdk/lib/io/socket.dart
@@ -224,13 +224,12 @@
    * value of [:0:] (the default) a reasonable value will be chosen by
    * the system.
    *
-   * The optional argument [shared] specify whether additional binds
-   * to the same `address`, `port` and `v6Only` combination is
-   * possible from the same Dart process. If `shared` is `true` and
-   * additional binds are performed, then the incoming connections
-   * will be distributed between that set of `RawServerSocket`s. One
-   * way of using this is to have number of isolates between which
-   * incoming connections are distributed.
+   * The optional argument [shared] specifies whether additional RawServerSocket
+   * objects can bind to the same combination of `address`, `port` and `v6Only`.
+   * If `shared` is `true` and more `RawServerSocket`s from this isolate or
+   * other isolates are bound to the port, then the incoming connections will be
+   * distributed among all the bound `RawServerSocket`s. Connections can be
+   * distributed over multiple isolates this way.
    */
   external static Future<RawServerSocket> bind(address,
                                                int port,
@@ -294,13 +293,12 @@
    * value of [:0:] (the default) a reasonable value will be chosen by
    * the system.
    *
-   * The optional argument [shared] specify whether additional binds
-   * to the same `address`, `port` and `v6Only` combination is
-   * possible from the same Dart process. If `shared` is `true` and
-   * additional binds are performed, then the incoming connections
-   * will be distributed between that set of `ServerSocket`s. One way
-   * of using this is to have number of isolates between which
-   * incoming connections are distributed.
+   * The optional argument [shared] specifies whether additional ServerSocket
+   * objects can bind to the same combination of `address`, `port` and `v6Only`.
+   * If `shared` is `true` and more `ServerSocket`s from this isolate or other
+   * isolates are bound to the port, then the incoming connections will be
+   * distributed among all the bound `ServerSocket`s. Connections can be
+   * distributed over multiple isolates this way.
    */
   external static Future<ServerSocket> bind(address,
                                             int port,
diff --git a/sdk/lib/js/dartium/js_dartium.dart b/sdk/lib/js/dartium/js_dartium.dart
index eeecd93..fde9d40 100644
--- a/sdk/lib/js/dartium/js_dartium.dart
+++ b/sdk/lib/js/dartium/js_dartium.dart
@@ -98,14 +98,16 @@
 
 // Pretend we are always in checked mode as we aren't interested in users
 // running Dartium code outside of checked mode.
+@Deprecated("Internal Use Only")
 final bool CHECK_JS_INVOCATIONS = true;
 
 final _allowedMethods = new Map<Symbol, _DeclarationSet>();
 final _allowedGetters = new Map<Symbol, _DeclarationSet>();
 final _allowedSetters = new Map<Symbol, _DeclarationSet>();
 
-final _jsInterfaceTypes = new Set<Type>();
-Iterable<Type> get jsInterfaceTypes => _jsInterfaceTypes;
+final _jsInterfaceTypes = new Set<mirrors.ClassMirror>();
+@Deprecated("Internal Use Only")
+Iterable<mirrors.ClassMirror> get jsInterfaceTypes => _jsInterfaceTypes;
 
 /// A collection of methods where all methods have the same name.
 /// This class is intended to optimize whether a specific invocation is
@@ -207,13 +209,13 @@
  * Temporary method that we hope to remove at some point. This method should
  * generally only be called by machine generated code.
  */
+@Deprecated("Internal Use Only")
 void registerJsInterfaces([List<Type> classes]) {
   // This method is now obsolete in Dartium.
 }
 
 void _registerJsInterfaces(List<Type> classes) {
   for (Type type in classes) {
-    if (!_jsInterfaceTypes.add(type)) continue; // Already registered.
     mirrors.ClassMirror typeMirror = mirrors.reflectType(type);
     typeMirror.declarations.forEach((symbol, declaration) {
       if (declaration is mirrors.MethodMirror ||
@@ -266,22 +268,33 @@
         try {
           var name = annotation.reflectee.name;
           return name != null ? name : "";
-        } catch (e) {
-        }
+        } catch (e) {}
       }
     }
   }
   return null;
 }
 
-bool _hasJsName(mirrors.DeclarationMirror mirror) =>
-  _getJsName(mirror) != null;
+bool _isAnonymousClass(mirrors.ClassMirror mirror) {
+  for (var annotation in mirror.metadata) {
+    if (mirrors.MirrorSystem.getName(annotation.type.simpleName) ==
+        "_Anonymous") {
+      mirrors.LibraryMirror library = annotation.type.owner;
+      var uri = library.uri;
+      // make sure the annotation is from package://js
+      if (uri.scheme == 'package' && uri.path == 'js/js.dart') {
+        return true;
+      }
+    }
+  }
+  return false;
+}
 
+bool _hasJsName(mirrors.DeclarationMirror mirror) => _getJsName(mirror) != null;
 
 _getJsMemberName(mirrors.DeclarationMirror mirror) {
   var name = _getJsName(mirror);
-  return name == null || name.isEmpty ? _getDeclarationName(mirror) :
-      name;
+  return name == null || name.isEmpty ? _getDeclarationName(mirror) : name;
 }
 
 // TODO(jacobr): handle setters correctyl.
@@ -301,9 +314,13 @@
     "${_JS_LIBRARY_PREFIX}.context${path.split(".").map((p) => "['$p']").join('')}";
 
 @Deprecated("Internal Use Only")
-void addMemberHelper(mirrors.MethodMirror declaration, String path, StringBuffer sb, {bool isStatic: false, String memberName}) {
-  var jsName = _getJsMemberName(declaration);
-  path = (path != null && path.isNotEmpty) ? "${path}.${jsName}" : jsName;
+void addMemberHelper(
+    mirrors.MethodMirror declaration, String path, StringBuffer sb,
+    {bool isStatic: false, String memberName}) {
+  if (!declaration.isConstructor) {
+    var jsName = _getJsMemberName(declaration);
+    path = (path != null && path.isNotEmpty) ? "${path}.${jsName}" : jsName;
+  }
   var name = memberName != null ? memberName : _getDeclarationName(declaration);
   if (declaration.isConstructor) {
     sb.write("factory");
@@ -346,7 +363,7 @@
     // TODO(jacobr):
     sb.write(") => ");
     if (declaration.isConstructor) {
-        sb.write("new ${_JS_LIBRARY_PREFIX}.JsObject(");
+      sb.write("new ${_JS_LIBRARY_PREFIX}.JsObject(");
     }
     sb
       ..write(_accessJsPath(path))
@@ -362,8 +379,13 @@
 }
 
 // TODO(jacobr): make this check more robust.
-bool _isExternal(mirrors.MethodMirror mirror) =>
-    mirror.source != null && mirror.source.startsWith("external ");
+bool _isExternal(mirrors.Mirror mirror) {
+  /*
+  var source = mirror.source;
+  return source != null && source.startsWith("external ");
+  */
+  return mirror.isExternal;
+}
 
 List<String> _generateExternalMethods() {
   var staticCodegen = <String>[];
@@ -372,49 +394,59 @@
     String jsLibraryName = _getJsName(library);
     library.declarations.forEach((name, declaration) {
       if (declaration is mirrors.MethodMirror) {
-        if (_isExternal(declaration) && (_hasJsName(declaration) || jsLibraryName != null)) {
+        if ((_hasJsName(declaration) || jsLibraryName != null) &&
+            _isExternal(declaration)) {
           addMemberHelper(declaration, jsLibraryName, sb);
         }
       } else if (declaration is mirrors.ClassMirror) {
         mirrors.ClassMirror clazz = declaration;
         if (_hasJsName(clazz)) {
           // TODO(jacobr): verify class implements JavaScriptObject.
-          assert(clazz.hasReflectedType);
-          jsInterfaceTypes.add(clazz.reflectedType);
           String jsClassName = _getJsMemberName(clazz);
           var className = mirrors.MirrorSystem.getName(clazz.simpleName);
           var sbPatch = new StringBuffer();
+          jsInterfaceTypes.add(clazz);
           clazz.declarations.forEach((name, declaration) {
-            if (declaration is! mirrors.MethodMirror || !_isExternal(declaration)) return;
-            if (declaration.isFactoryConstructor) {
-              sbPatch.write("  factory ${className}({");
+            if (declaration is! mirrors.MethodMirror ||
+                !_isExternal(declaration)) return;
+            if (declaration.isFactoryConstructor && _isAnonymousClass(clazz)) {
+              sbPatch.write("  factory ${className}(");
               int i = 0;
               var args = <String>[];
               for (var p in declaration.parameters) {
-                assert(p.isNamed); // XXX throw
                 args.add(mirrors.MirrorSystem.getName(p.simpleName));
                 i++;
               }
-              sbPatch
-                ..write(args.map((name) => '$name:${_UNDEFINED_VAR}').join(", "))
-                ..write("}) {\n"
-                        "    var ret = new ${_JS_LIBRARY_PREFIX}.JsObject.jsify({});\n");
+              if (args.isNotEmpty) {
+                sbPatch
+                  ..write('{')
+                  ..write(
+                      args.map((name) => '$name:${_UNDEFINED_VAR}').join(", "))
+                  ..write('}');
+              }
+              sbPatch.write(") {\n"
+                    "    var ret = new ${_JS_LIBRARY_PREFIX}.JsObject.jsify({});\n");
               i = 0;
               for (var p in declaration.parameters) {
                 assert(p.isNamed); // XXX throw
                 var name = args[i];
                 var jsName = mirrors.MirrorSystem.getName(p.simpleName);
                 // XXX apply name conversion rules.
-                sbPatch.write("    if($name != ${_UNDEFINED_VAR}) ret['$jsName'] = $name;\n");
+                sbPatch.write(
+                    "    if($name != ${_UNDEFINED_VAR}) ret['$jsName'] = $name;\n");
                 i++;
               }
 
               sbPatch.write("    return ret;\n"
-                            "  }\n");
-            } else if (declaration.isConstructor) {
+                  "  }\n");
+            } else if (declaration.isConstructor ||
+                declaration.isFactoryConstructor) {
               sbPatch.write("  ");
-              addMemberHelper(declaration,
-                  (jsLibraryName != null && jsLibraryName.isNotEmpty) ? "${jsLibraryName}" : "",
+              addMemberHelper(
+                  declaration,
+                  (jsLibraryName != null && jsLibraryName.isNotEmpty)
+                      ? "${jsLibraryName}.${jsClassName}"
+                      : jsClassName,
                   sbPatch,
                   isStatic: true,
                   memberName: className);
@@ -424,15 +456,136 @@
           clazz.staticMembers.forEach((memberName, member) {
             if (_isExternal(member)) {
               sbPatch.write("  ");
-              addMemberHelper(member,
-                  (jsLibraryName != null && jsLibraryName.isNotEmpty) ? "${jsLibraryName}.${jsClassName}" : jsClassName,
+              addMemberHelper(
+                  member,
+                  (jsLibraryName != null && jsLibraryName.isNotEmpty)
+                      ? "${jsLibraryName}.${jsClassName}"
+                      : jsClassName,
                   sbPatch,
                   isStatic: true);
             }
           });
+          var typeVariablesClause = '';
+          if (!clazz.typeVariables.isEmpty) {
+            typeVariablesClause =
+                '<${clazz.typeVariables.map((m) => mirrors.MirrorSystem.getName(m.simpleName)).join(',')}>';
+          }
           if (sbPatch.isNotEmpty) {
             sb.write("""
-patch class $className {
+patch class $className$typeVariablesClause {
+$sbPatch
+}
+""");
+          }
+        }
+      }
+    });
+    if (sb.isNotEmpty) {
+      staticCodegen
+        ..add(uri.toString())
+        ..add("${uri}_js_interop_patch.dart")
+        ..add("""
+import 'dart:js' as ${_JS_LIBRARY_PREFIX};
+
+/**
+ * Placeholder object for cases where we need to determine exactly how many
+ * args were passed to a function.
+ */
+const ${_UNDEFINED_VAR} = const Object();
+
+${sb}
+""");
+    }
+  });
+
+  return staticCodegen;
+}
+
+List<String> _generateExternalMethods2() {
+  var staticCodegen = <String>[];
+  mirrors.currentMirrorSystem().libraries.forEach((uri, library) {
+    var sb = new StringBuffer();
+    String jsLibraryName = _getJsName(library);
+    library.declarations.forEach((name, declaration) {
+      var isExternal = _isExternal(declaration);
+      if (declaration is mirrors.MethodMirror) {
+        if (isExternal && (_hasJsName(declaration) || jsLibraryName != null)) {
+          addMemberHelper(declaration, jsLibraryName, sb);
+        }
+      } else if (declaration is mirrors.ClassMirror) {
+        mirrors.ClassMirror clazz = declaration;
+        if (_hasJsName(clazz)) {
+          // TODO(jacobr): verify class implements JavaScriptObject.
+          String jsClassName = _getJsMemberName(clazz);
+          var className = mirrors.MirrorSystem.getName(clazz.simpleName);
+          var sbPatch = new StringBuffer();
+          jsInterfaceTypes.add(clazz);
+          clazz.declarations.forEach((name, declaration) {
+            if (declaration is! mirrors.MethodMirror ||
+                !declaration.isAbstract ||
+                !isExternal) return;
+            if (_hasLiteralAnnotation(declaration) &&
+                declaration.isFactoryConstructor) {
+              sbPatch.write("  factory ${className}({");
+              int i = 0;
+              var args = <String>[];
+              for (var p in declaration.parameters) {
+                assert(p.isNamed); // XXX throw
+                args.add(mirrors.MirrorSystem.getName(p.simpleName));
+                i++;
+              }
+              sbPatch
+                ..write(
+                    args.map((name) => '$name:${_UNDEFINED_VAR}').join(", "))
+                ..write("}) {\n"
+                    "    var ret = new ${_JS_LIBRARY_PREFIX}.JsObject.jsify({});\n");
+              i = 0;
+              for (var p in declaration.parameters) {
+                assert(p.isNamed); // XXX throw
+                var name = args[i];
+                var jsName = mirrors.MirrorSystem.getName(p.simpleName);
+                // XXX apply name conversion rules.
+                sbPatch.write(
+                    "    if($name != ${_UNDEFINED_VAR}) ret['$jsName'] = $name;\n");
+                i++;
+              }
+
+              sbPatch.write("    return ret;\n"
+                  "  }\n");
+            } else if (declaration.isConstructor ||
+                declaration.isFactoryConstructor) {
+              sbPatch.write("  ");
+              addMemberHelper(
+                  declaration,
+                  (jsLibraryName != null && jsLibraryName.isNotEmpty)
+                      ? "${jsLibraryName}.${jsClassName}"
+                      : jsClassName,
+                  sbPatch,
+                  isStatic: true,
+                  memberName: className);
+            }
+          });
+
+          clazz.staticMembers.forEach((memberName, member) {
+            if (_isExternal(member)) {
+              sbPatch.write("  ");
+              addMemberHelper(
+                  member,
+                  (jsLibraryName != null && jsLibraryName.isNotEmpty)
+                      ? "${jsLibraryName}.${jsClassName}"
+                      : jsClassName,
+                  sbPatch,
+                  isStatic: true);
+            }
+          });
+          var typeVariablesClause = '';
+          if (!clazz.typeVariables.isEmpty) {
+            typeVariablesClause =
+                '<${clazz.typeVariables.map((m) => mirrors.MirrorSystem.getName(m.simpleName)).join(',')}>';
+          }
+          if (sbPatch.isNotEmpty) {
+            sb.write("""
+patch class $className$typeVariablesClause {
 $sbPatch
 }
 """);
@@ -476,8 +629,7 @@
   var implementsArray = <String>[];
   var listMirror = mirrors.reflectType(List);
 
-  for (var type in jsInterfaceTypes) {
-    mirrors.ClassMirror typeMirror = mirrors.reflectType(type);
+  for (var typeMirror in jsInterfaceTypes) {
     mirrors.LibraryMirror libraryMirror = typeMirror.owner;
     var prefixName;
     if (libraryPrefixes.containsKey(libraryMirror)) {
@@ -504,7 +656,7 @@
     sb.writeln('import "${libraryMirror.uri}" as $prefix;');
   });
   buildImplementsClause(classes) =>
-      classes.isEmpty ? "" : "implements ${classes.join(', ')}"
+      classes.isEmpty ? "" : "implements ${classes.join(', ')}";
   var implementsClause = buildImplementsClause(implements);
   // TODO(jacobr): only certain classes need to be implemented by
   // JsFunctionImpl.
@@ -579,7 +731,7 @@
 String _arrayToString(List list) => _arrayJoin(list, ",");
 
 int _arrayPush(List list, List args) {
-  for(var e in args) {
+  for (var e in args) {
     list.add(e);
   }
   return list.length;
@@ -680,6 +832,7 @@
  * be added. Creating an instance of JsObject will also automatically trigger
  * all JsObjects to be finalized.
  */
+@Deprecated("Internal Use Only")
 void finalizeJsInterfaces() {
   if (_finalized == true) {
     throw 'JSInterop class registration already finalized';
@@ -703,13 +856,13 @@
 _maybeWrap(o) {
   var wrapped = html_common.wrap_jso_no_SerializedScriptvalue(o);
   if (identical(wrapped, o)) return o;
-  return (wrapped is html.Blob
-      || wrapped is html.Event
-      || wrapped is indexed_db.KeyRange
-      || wrapped is html.ImageData
-      || wrapped is html.Node
-      || wrapped is TypedData
-      || wrapped is html.Window) ? wrapped : o;
+  return (wrapped is html.Blob ||
+      wrapped is html.Event ||
+      wrapped is indexed_db.KeyRange ||
+      wrapped is html.ImageData ||
+      wrapped is html.Node ||
+      wrapped is TypedData ||
+      wrapped is html.Window) ? wrapped : o;
 }
 
 /**
@@ -737,10 +890,9 @@
  */
 @Deprecated("Internal Use Only")
 unwrap_jso(dartClass_instance) {
-  if (dartClass_instance is html.DartHtmlDomObject)
-    return dartClass_instance.blink_jsObject;
-  else
-    return dartClass_instance;
+  if (dartClass_instance is html.DartHtmlDomObject &&
+      dartClass_instance is! JsObject) return dartClass_instance.blink_jsObject;
+  else return dartClass_instance;
 }
 
 /**
@@ -764,15 +916,15 @@
    */
   factory JsObject(JsFunction constructor, [List arguments]) {
     try {
-      return _create(constructor, arguments);
+      return html_common.unwrap_jso(_create(constructor, arguments));
     } catch (e) {
       // Re-throw any errors (returned as a string) as a DomException.
       throw new html.DomException.jsInterop(e);
     }
   }
 
-  static JsObject _create(
-      JsFunction constructor, arguments) native "JsObject_constructorCallback";
+  static JsObject _create(JsFunction constructor, arguments)
+      native "JsObject_constructorCallback";
 
   _buildArgs(Invocation invocation) {
     if (invocation.namedArguments.isEmpty) {
@@ -839,6 +991,7 @@
       throw new html.DomException.jsInterop(e);
     }
   }
+
   _operator_getter(property) native "JsObject_[]";
 
   /**
@@ -855,6 +1008,7 @@
       throw new html.DomException.jsInterop(e);
     }
   }
+
   _operator_setter(property, value) native "JsObject_[]=";
 
   int get hashCode native "JsObject_hashCode";
@@ -868,8 +1022,8 @@
     return is_JsObject && _identityEquality(this, other);
   }
 
-  static bool _identityEquality(
-      JsObject a, JsObject b) native "JsObject_identityEquality";
+  static bool _identityEquality(JsObject a, JsObject b)
+      native "JsObject_identityEquality";
 
   /**
    * Returns `true` if the JavaScript object contains the specified property
@@ -1019,7 +1173,7 @@
    * supplied it is the value of `this` for the invocation.
    */
   dynamic apply(List args, {thisArg}) =>
-    _maybeWrap(_apply(args, thisArg: thisArg));
+      _maybeWrap(_apply(args, thisArg: thisArg));
 
   dynamic _apply(List args, {thisArg}) native "JsFunction_apply";
 
@@ -1036,8 +1190,8 @@
    * efficiently implemented in Dart2Js so should only be used by internal
    * tools.
    */
-  _applyDebuggerOnly(List args,
-      {thisArg}) native "JsFunction_applyDebuggerOnly";
+  _applyDebuggerOnly(List args, {thisArg})
+      native "JsFunction_applyDebuggerOnly";
 
   static JsFunction _withThis(Function f) native "JsFunction_withThis";
 }
@@ -1055,8 +1209,8 @@
   factory JsArray.from(Iterable<E> other) =>
       _newJsArrayFromSafeList(new List.from(other));
 
-  static JsArray _newJsArrayFromSafeList(
-      List list) native "JsArray_newJsArrayFromSafeList";
+  static JsArray _newJsArrayFromSafeList(List list)
+      native "JsArray_newJsArrayFromSafeList";
 
   _checkIndex(int index, {bool insert: false}) {
     int length = insert ? this.length + 1 : this.length;
@@ -1158,11 +1312,19 @@
  * Returns a method that can be called with an arbitrary number (for n less
  * than 11) of arguments without violating Dart type checks.
  */
-Function _wrapAsDebuggerVarArgsFunction(JsFunction jsFunction) =>
-    ([a1 = _UNDEFINED, a2 = _UNDEFINED, a3 = _UNDEFINED, a4 = _UNDEFINED,
-        a5 = _UNDEFINED, a6 = _UNDEFINED, a7 = _UNDEFINED, a8 = _UNDEFINED,
-        a9 = _UNDEFINED, a10 = _UNDEFINED]) => jsFunction._applyDebuggerOnly(
-            _stripUndefinedArgs([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10]));
+Function _wrapAsDebuggerVarArgsFunction(JsFunction jsFunction) => (
+        [a1 = _UNDEFINED,
+        a2 = _UNDEFINED,
+        a3 = _UNDEFINED,
+        a4 = _UNDEFINED,
+        a5 = _UNDEFINED,
+        a6 = _UNDEFINED,
+        a7 = _UNDEFINED,
+        a8 = _UNDEFINED,
+        a9 = _UNDEFINED,
+        a10 = _UNDEFINED]) =>
+    jsFunction._applyDebuggerOnly(
+        _stripUndefinedArgs([a1, a2, a3, a4, a5, a6, a7, a8, a9, a10]));
 
 // The allowInterop method is a no-op in Dartium.
 // TODO(jacobr): tag methods so we can throw if a Dart method is passed to
diff --git a/sdk/lib/svg/dartium/svg_dartium.dart b/sdk/lib/svg/dartium/svg_dartium.dart
index 7da3402..c093cab 100644
--- a/sdk/lib/svg/dartium/svg_dartium.dart
+++ b/sdk/lib/svg/dartium/svg_dartium.dart
@@ -353,6 +353,7 @@
     return new AElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AElement.internal_() : super.internal_();
 
   /**
@@ -402,6 +403,7 @@
     return new AltGlyphElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AltGlyphElement.internal_() : super.internal_();
 
   /**
@@ -458,6 +460,7 @@
     return new Angle.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Angle.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -551,6 +554,7 @@
     return new AnimateElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimateElement.internal_() : super.internal_();
 
   /**
@@ -595,6 +599,7 @@
     return new AnimateMotionElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimateMotionElement.internal_() : super.internal_();
 
   /**
@@ -639,6 +644,7 @@
     return new AnimateTransformElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimateTransformElement.internal_() : super.internal_();
 
   /**
@@ -675,6 +681,7 @@
     return new AnimatedAngle.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedAngle.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -712,6 +719,7 @@
     return new AnimatedBoolean.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedBoolean.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -753,6 +761,7 @@
     return new AnimatedEnumeration.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedEnumeration.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -794,6 +803,7 @@
     return new AnimatedInteger.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedInteger.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -835,6 +845,7 @@
     return new AnimatedLength.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedLength.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -872,6 +883,7 @@
     return new AnimatedLengthList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedLengthList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -909,6 +921,7 @@
     return new AnimatedNumber.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedNumber.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -950,6 +963,7 @@
     return new AnimatedNumberList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedNumberList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -987,6 +1001,7 @@
     return new AnimatedPreserveAspectRatio.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedPreserveAspectRatio.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1024,6 +1039,7 @@
     return new AnimatedRect.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedRect.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1061,6 +1077,7 @@
     return new AnimatedString.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedString.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1102,6 +1119,7 @@
     return new AnimatedTransformList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimatedTransformList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1144,6 +1162,7 @@
     return new AnimationElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnimationElement.internal_() : super.internal_();
 
   /**
@@ -1230,6 +1249,7 @@
     return new CircleElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CircleElement.internal_() : super.internal_();
 
   /**
@@ -1280,6 +1300,7 @@
     return new ClipPathElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ClipPathElement.internal_() : super.internal_();
 
   /**
@@ -1322,6 +1343,7 @@
     return new DefsElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DefsElement.internal_() : super.internal_();
 
   /**
@@ -1360,6 +1382,7 @@
     return new DescElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DescElement.internal_() : super.internal_();
 
   /**
@@ -1394,6 +1417,7 @@
     return new DiscardElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DiscardElement.internal_() : super.internal_();
 
   /**
@@ -1432,6 +1456,7 @@
     return new EllipseElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   EllipseElement.internal_() : super.internal_();
 
   /**
@@ -1490,6 +1515,7 @@
     return new FEBlendElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEBlendElement.internal_() : super.internal_();
 
   /**
@@ -1591,6 +1617,7 @@
     return new FEColorMatrixElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEColorMatrixElement.internal_() : super.internal_();
 
   /**
@@ -1688,6 +1715,7 @@
     return new FEComponentTransferElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEComponentTransferElement.internal_() : super.internal_();
 
   /**
@@ -1749,6 +1777,7 @@
     return new FECompositeElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FECompositeElement.internal_() : super.internal_();
 
   /**
@@ -1867,6 +1896,7 @@
     return new FEConvolveMatrixElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEConvolveMatrixElement.internal_() : super.internal_();
 
   /**
@@ -1996,6 +2026,7 @@
     return new FEDiffuseLightingElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEDiffuseLightingElement.internal_() : super.internal_();
 
   /**
@@ -2081,6 +2112,7 @@
     return new FEDisplacementMapElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEDisplacementMapElement.internal_() : super.internal_();
 
   /**
@@ -2186,6 +2218,7 @@
     return new FEDistantLightElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEDistantLightElement.internal_() : super.internal_();
 
   /**
@@ -2239,6 +2272,7 @@
     return new FEFloodElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEFloodElement.internal_() : super.internal_();
 
   /**
@@ -2304,6 +2338,7 @@
     return new FEFuncAElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEFuncAElement.internal_() : super.internal_();
 
   /**
@@ -2349,6 +2384,7 @@
     return new FEFuncBElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEFuncBElement.internal_() : super.internal_();
 
   /**
@@ -2394,6 +2430,7 @@
     return new FEFuncGElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEFuncGElement.internal_() : super.internal_();
 
   /**
@@ -2439,6 +2476,7 @@
     return new FEFuncRElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEFuncRElement.internal_() : super.internal_();
 
   /**
@@ -2484,6 +2522,7 @@
     return new FEGaussianBlurElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEGaussianBlurElement.internal_() : super.internal_();
 
   /**
@@ -2565,6 +2604,7 @@
     return new FEImageElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEImageElement.internal_() : super.internal_();
 
   /**
@@ -2638,6 +2678,7 @@
     return new FEMergeElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEMergeElement.internal_() : super.internal_();
 
   /**
@@ -2703,6 +2744,7 @@
     return new FEMergeNodeElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEMergeNodeElement.internal_() : super.internal_();
 
   /**
@@ -2748,6 +2790,7 @@
     return new FEMorphologyElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEMorphologyElement.internal_() : super.internal_();
 
   /**
@@ -2838,6 +2881,7 @@
     return new FEOffsetElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEOffsetElement.internal_() : super.internal_();
 
   /**
@@ -2915,6 +2959,7 @@
     return new FEPointLightElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FEPointLightElement.internal_() : super.internal_();
 
   /**
@@ -2972,6 +3017,7 @@
     return new FESpecularLightingElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FESpecularLightingElement.internal_() : super.internal_();
 
   /**
@@ -3053,6 +3099,7 @@
     return new FESpotLightElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FESpotLightElement.internal_() : super.internal_();
 
   /**
@@ -3130,6 +3177,7 @@
     return new FETileElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FETileElement.internal_() : super.internal_();
 
   /**
@@ -3199,6 +3247,7 @@
     return new FETurbulenceElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FETurbulenceElement.internal_() : super.internal_();
 
   /**
@@ -3312,6 +3361,7 @@
     return new FilterElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   FilterElement.internal_() : super.internal_();
 
   /**
@@ -3454,6 +3504,7 @@
     return new ForeignObjectElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ForeignObjectElement.internal_() : super.internal_();
 
   /**
@@ -3511,6 +3562,7 @@
     return new GElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   GElement.internal_() : super.internal_();
 
   /**
@@ -3545,6 +3597,7 @@
     return new GeometryElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   GeometryElement.internal_() : super.internal_();
 
   /**
@@ -3589,6 +3642,7 @@
     return new GraphicsElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   GraphicsElement.internal_() : super.internal_();
 
   /**
@@ -3682,6 +3736,7 @@
     return new ImageElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ImageElement.internal_() : super.internal_();
 
   /**
@@ -3739,6 +3794,7 @@
     return new Length.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Length.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3848,6 +3904,7 @@
     return new LengthList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   LengthList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3968,6 +4025,7 @@
     return new LineElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   LineElement.internal_() : super.internal_();
 
   /**
@@ -4022,6 +4080,7 @@
     return new LinearGradientElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   LinearGradientElement.internal_() : super.internal_();
 
   /**
@@ -4076,6 +4135,7 @@
     return new MarkerElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MarkerElement.internal_() : super.internal_();
 
   /**
@@ -4182,6 +4242,7 @@
     return new MaskElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MaskElement.internal_() : super.internal_();
 
   /**
@@ -4255,6 +4316,7 @@
     return new Matrix.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Matrix.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -4377,6 +4439,7 @@
     return new MetadataElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MetadataElement.internal_() : super.internal_();
 
   /**
@@ -4410,6 +4473,7 @@
     return new Number.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Number.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -4447,6 +4511,7 @@
     return new NumberList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   NumberList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -4567,6 +4632,7 @@
     return new PathElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathElement.internal_() : super.internal_();
 
   /**
@@ -4708,6 +4774,7 @@
     return new PathSeg.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSeg.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -4826,6 +4893,7 @@
     return new PathSegArcAbs.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegArcAbs.internal_() : super.internal_();
 
 
@@ -4910,6 +4978,7 @@
     return new PathSegArcRel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegArcRel.internal_() : super.internal_();
 
 
@@ -4994,6 +5063,7 @@
     return new PathSegClosePath.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegClosePath.internal_() : super.internal_();
 
 
@@ -5022,6 +5092,7 @@
     return new PathSegCurvetoCubicAbs.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegCurvetoCubicAbs.internal_() : super.internal_();
 
 
@@ -5098,6 +5169,7 @@
     return new PathSegCurvetoCubicRel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegCurvetoCubicRel.internal_() : super.internal_();
 
 
@@ -5174,6 +5246,7 @@
     return new PathSegCurvetoCubicSmoothAbs.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegCurvetoCubicSmoothAbs.internal_() : super.internal_();
 
 
@@ -5234,6 +5307,7 @@
     return new PathSegCurvetoCubicSmoothRel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegCurvetoCubicSmoothRel.internal_() : super.internal_();
 
 
@@ -5294,6 +5368,7 @@
     return new PathSegCurvetoQuadraticAbs.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegCurvetoQuadraticAbs.internal_() : super.internal_();
 
 
@@ -5354,6 +5429,7 @@
     return new PathSegCurvetoQuadraticRel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegCurvetoQuadraticRel.internal_() : super.internal_();
 
 
@@ -5414,6 +5490,7 @@
     return new PathSegCurvetoQuadraticSmoothAbs.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegCurvetoQuadraticSmoothAbs.internal_() : super.internal_();
 
 
@@ -5458,6 +5535,7 @@
     return new PathSegCurvetoQuadraticSmoothRel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegCurvetoQuadraticSmoothRel.internal_() : super.internal_();
 
 
@@ -5502,6 +5580,7 @@
     return new PathSegLinetoAbs.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegLinetoAbs.internal_() : super.internal_();
 
 
@@ -5546,6 +5625,7 @@
     return new PathSegLinetoHorizontalAbs.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegLinetoHorizontalAbs.internal_() : super.internal_();
 
 
@@ -5582,6 +5662,7 @@
     return new PathSegLinetoHorizontalRel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegLinetoHorizontalRel.internal_() : super.internal_();
 
 
@@ -5618,6 +5699,7 @@
     return new PathSegLinetoRel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegLinetoRel.internal_() : super.internal_();
 
 
@@ -5662,6 +5744,7 @@
     return new PathSegLinetoVerticalAbs.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegLinetoVerticalAbs.internal_() : super.internal_();
 
 
@@ -5698,6 +5781,7 @@
     return new PathSegLinetoVerticalRel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegLinetoVerticalRel.internal_() : super.internal_();
 
 
@@ -5733,6 +5817,7 @@
     return new PathSegList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -5849,6 +5934,7 @@
     return new PathSegMovetoAbs.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegMovetoAbs.internal_() : super.internal_();
 
 
@@ -5893,6 +5979,7 @@
     return new PathSegMovetoRel.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PathSegMovetoRel.internal_() : super.internal_();
 
 
@@ -5941,6 +6028,7 @@
     return new PatternElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PatternElement.internal_() : super.internal_();
 
   /**
@@ -6030,6 +6118,7 @@
     return new Point.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Point.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -6079,6 +6168,7 @@
     return new PointList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PointList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -6155,6 +6245,7 @@
     return new PolygonElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PolygonElement.internal_() : super.internal_();
 
   /**
@@ -6201,6 +6292,7 @@
     return new PolylineElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PolylineElement.internal_() : super.internal_();
 
   /**
@@ -6242,6 +6334,7 @@
     return new PreserveAspectRatio.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PreserveAspectRatio.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -6348,6 +6441,7 @@
     return new RadialGradientElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RadialGradientElement.internal_() : super.internal_();
 
   /**
@@ -6405,6 +6499,7 @@
     return new Rect.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Rect.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -6471,6 +6566,7 @@
     return new RectElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RectElement.internal_() : super.internal_();
 
   /**
@@ -6528,6 +6624,7 @@
     return new RenderingIntent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RenderingIntent.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -6586,6 +6683,7 @@
     return new ScriptElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ScriptElement.internal_() : super.internal_();
 
   /**
@@ -6639,6 +6737,7 @@
     return new SetElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SetElement.internal_() : super.internal_();
 
   /**
@@ -6680,6 +6779,7 @@
     return new StopElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   StopElement.internal_() : super.internal_();
 
   /**
@@ -6717,6 +6817,7 @@
     return new StringList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   StringList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -6838,6 +6939,7 @@
     return new StyleElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   StyleElement.internal_() : super.internal_();
 
   /**
@@ -7318,6 +7420,7 @@
     return new SvgElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SvgElement.internal_() : super.internal_();
 
   /**
@@ -7672,6 +7775,7 @@
     return new SvgSvgElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SvgSvgElement.internal_() : super.internal_();
 
   /**
@@ -7874,6 +7978,7 @@
     return new SwitchElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SwitchElement.internal_() : super.internal_();
 
   /**
@@ -7912,6 +8017,7 @@
     return new SymbolElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SymbolElement.internal_() : super.internal_();
 
   /**
@@ -7958,6 +8064,7 @@
     return new TSpanElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TSpanElement.internal_() : super.internal_();
 
   /**
@@ -8023,6 +8130,7 @@
     return new TextContentElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextContentElement.internal_() : super.internal_();
 
   /**
@@ -8117,6 +8225,7 @@
     return new TextElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextElement.internal_() : super.internal_();
 
   /**
@@ -8151,6 +8260,7 @@
     return new TextPathElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextPathElement.internal_() : super.internal_();
 
   /**
@@ -8225,6 +8335,7 @@
     return new TextPositioningElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TextPositioningElement.internal_() : super.internal_();
 
   /**
@@ -8283,6 +8394,7 @@
     return new TitleElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TitleElement.internal_() : super.internal_();
 
   /**
@@ -8316,6 +8428,7 @@
     return new Transform.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Transform.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -8409,6 +8522,7 @@
     return new TransformList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   TransformList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -8532,6 +8646,7 @@
     return new UnitTypes.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   UnitTypes.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -8597,6 +8712,7 @@
     return new UseElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   UseElement.internal_() : super.internal_();
 
   /**
@@ -8655,6 +8771,7 @@
     return new ViewElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ViewElement.internal_() : super.internal_();
 
   /**
@@ -8708,6 +8825,7 @@
     return new ViewSpec.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ViewSpec.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -8817,6 +8935,7 @@
     return new ZoomEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ZoomEvent.internal_() : super.internal_();
 
 
@@ -8865,6 +8984,7 @@
     return new _GradientElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _GradientElement.internal_() : super.internal_();
 
   /**
@@ -8931,6 +9051,7 @@
     return new _SVGAltGlyphDefElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGAltGlyphDefElement.internal_() : super.internal_();
 
   /**
@@ -8965,6 +9086,7 @@
     return new _SVGAltGlyphItemElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGAltGlyphItemElement.internal_() : super.internal_();
 
   /**
@@ -8999,6 +9121,7 @@
     return new _SVGComponentTransferFunctionElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGComponentTransferFunctionElement.internal_() : super.internal_();
 
   /**
@@ -9035,6 +9158,7 @@
     return new _SVGCursorElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGCursorElement.internal_() : super.internal_();
 
   /**
@@ -9077,6 +9201,7 @@
     return new _SVGFEDropShadowElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGFEDropShadowElement.internal_() : super.internal_();
 
   /**
@@ -9118,6 +9243,7 @@
     return new _SVGFontElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGFontElement.internal_() : super.internal_();
 
   /**
@@ -9152,6 +9278,7 @@
     return new _SVGFontFaceElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGFontFaceElement.internal_() : super.internal_();
 
   /**
@@ -9186,6 +9313,7 @@
     return new _SVGFontFaceFormatElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGFontFaceFormatElement.internal_() : super.internal_();
 
   /**
@@ -9220,6 +9348,7 @@
     return new _SVGFontFaceNameElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGFontFaceNameElement.internal_() : super.internal_();
 
   /**
@@ -9254,6 +9383,7 @@
     return new _SVGFontFaceSrcElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGFontFaceSrcElement.internal_() : super.internal_();
 
   /**
@@ -9288,6 +9418,7 @@
     return new _SVGFontFaceUriElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGFontFaceUriElement.internal_() : super.internal_();
 
   /**
@@ -9326,6 +9457,7 @@
     return new _SVGGlyphElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGGlyphElement.internal_() : super.internal_();
 
   /**
@@ -9358,6 +9490,7 @@
     return new _SVGGlyphRefElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGGlyphRefElement.internal_() : super.internal_();
 
   /**
@@ -9399,6 +9532,7 @@
     return new _SVGHKernElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGHKernElement.internal_() : super.internal_();
 
   /**
@@ -9434,6 +9568,7 @@
     return new _SVGMPathElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGMPathElement.internal_() : super.internal_();
 
   /**
@@ -9471,6 +9606,7 @@
     return new _SVGMissingGlyphElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGMissingGlyphElement.internal_() : super.internal_();
 
   /**
@@ -9509,6 +9645,7 @@
     return new _SVGVKernElement.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   _SVGVKernElement.internal_() : super.internal_();
 
   /**
diff --git a/sdk/lib/web_audio/dartium/web_audio_dartium.dart b/sdk/lib/web_audio/dartium/web_audio_dartium.dart
index 7be279f..cc99534 100644
--- a/sdk/lib/web_audio/dartium/web_audio_dartium.dart
+++ b/sdk/lib/web_audio/dartium/web_audio_dartium.dart
@@ -108,6 +108,7 @@
     return new AnalyserNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AnalyserNode.internal_() : super.internal_();
 
 
@@ -189,6 +190,7 @@
     return new AudioBuffer.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioBuffer.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -264,6 +266,7 @@
     return new AudioBufferSourceNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioBufferSourceNode.internal_() : super.internal_();
 
 
@@ -376,6 +379,7 @@
     return new AudioContext.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioContext.internal_() : super.internal_();
 
 
@@ -542,6 +546,7 @@
     return new AudioDestinationNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioDestinationNode.internal_() : super.internal_();
 
 
@@ -574,6 +579,7 @@
     return new AudioListener.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioListener.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -630,6 +636,7 @@
     return new AudioNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioNode.internal_() : super.internal_();
 
 
@@ -717,6 +724,7 @@
     return new AudioParam.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioParam.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -784,6 +792,7 @@
     return new AudioProcessingEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioProcessingEvent.internal_() : super.internal_();
 
 
@@ -826,6 +835,7 @@
     return new AudioSourceNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AudioSourceNode.internal_() : super.internal_();
 
 
@@ -855,6 +865,7 @@
     return new BiquadFilterNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   BiquadFilterNode.internal_() : super.internal_();
 
 
@@ -912,6 +923,7 @@
     return new ChannelMergerNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ChannelMergerNode.internal_() : super.internal_();
 
 
@@ -941,6 +953,7 @@
     return new ChannelSplitterNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ChannelSplitterNode.internal_() : super.internal_();
 
 
@@ -970,6 +983,7 @@
     return new ConvolverNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ConvolverNode.internal_() : super.internal_();
 
 
@@ -1015,6 +1029,7 @@
     return new DelayNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DelayNode.internal_() : super.internal_();
 
 
@@ -1048,6 +1063,7 @@
     return new DynamicsCompressorNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DynamicsCompressorNode.internal_() : super.internal_();
 
 
@@ -1101,6 +1117,7 @@
     return new GainNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   GainNode.internal_() : super.internal_();
 
 
@@ -1134,6 +1151,7 @@
     return new MediaElementAudioSourceNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaElementAudioSourceNode.internal_() : super.internal_();
 
 
@@ -1168,6 +1186,7 @@
     return new MediaStreamAudioDestinationNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaStreamAudioDestinationNode.internal_() : super.internal_();
 
 
@@ -1201,6 +1220,7 @@
     return new MediaStreamAudioSourceNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   MediaStreamAudioSourceNode.internal_() : super.internal_();
 
 
@@ -1234,6 +1254,7 @@
     return new OfflineAudioCompletionEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OfflineAudioCompletionEvent.internal_() : super.internal_();
 
 
@@ -1273,6 +1294,7 @@
     return new OfflineAudioContext.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OfflineAudioContext.internal_() : super.internal_();
 
 
@@ -1313,6 +1335,7 @@
     return new OscillatorNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OscillatorNode.internal_() : super.internal_();
 
 
@@ -1395,6 +1418,7 @@
     return new PannerNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PannerNode.internal_() : super.internal_();
 
 
@@ -1498,6 +1522,7 @@
     return new PeriodicWave.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   PeriodicWave.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1540,6 +1565,7 @@
     return new ScriptProcessorNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ScriptProcessorNode.internal_() : super.internal_();
 
 
@@ -1591,6 +1617,7 @@
     return new WaveShaperNode.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   WaveShaperNode.internal_() : super.internal_();
 
 
diff --git a/sdk/lib/web_gl/dartium/web_gl_dartium.dart b/sdk/lib/web_gl/dartium/web_gl_dartium.dart
index 3d6ed95..1fdf4c7 100644
--- a/sdk/lib/web_gl/dartium/web_gl_dartium.dart
+++ b/sdk/lib/web_gl/dartium/web_gl_dartium.dart
@@ -423,6 +423,7 @@
     return new ActiveInfo.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ActiveInfo.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -464,6 +465,7 @@
     return new AngleInstancedArrays.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   AngleInstancedArrays.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -513,6 +515,7 @@
     return new Buffer.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Buffer.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -543,6 +546,7 @@
     return new CompressedTextureAtc.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CompressedTextureAtc.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -584,6 +588,7 @@
     return new CompressedTextureETC1.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CompressedTextureETC1.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -619,6 +624,7 @@
     return new CompressedTexturePvrtc.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CompressedTexturePvrtc.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -665,6 +671,7 @@
     return new CompressedTextureS3TC.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   CompressedTextureS3TC.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -732,6 +739,7 @@
     return new ContextAttributes.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ContextAttributes.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -820,6 +828,7 @@
     return new ContextEvent.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ContextEvent.internal_() : super.internal_();
 
 
@@ -852,6 +861,7 @@
     return new DebugRendererInfo.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DebugRendererInfo.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -890,6 +900,7 @@
     return new DebugShaders.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DebugShaders.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -924,6 +935,7 @@
     return new DepthTexture.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DepthTexture.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -958,6 +970,7 @@
     return new DrawBuffers.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DrawBuffers.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1127,6 +1140,7 @@
     return new ExtBlendMinMax.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ExtBlendMinMax.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1167,6 +1181,7 @@
     return new ExtFragDepth.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ExtFragDepth.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1196,6 +1211,7 @@
     return new ExtShaderTextureLod.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ExtShaderTextureLod.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1226,6 +1242,7 @@
     return new ExtTextureFilterAnisotropic.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ExtTextureFilterAnisotropic.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1263,6 +1280,7 @@
     return new Framebuffer.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Framebuffer.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1293,6 +1311,7 @@
     return new LoseContext.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   LoseContext.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1331,6 +1350,7 @@
     return new OesElementIndexUint.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OesElementIndexUint.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1361,6 +1381,7 @@
     return new OesStandardDerivatives.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OesStandardDerivatives.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1395,6 +1416,7 @@
     return new OesTextureFloat.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OesTextureFloat.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1425,6 +1447,7 @@
     return new OesTextureFloatLinear.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OesTextureFloatLinear.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1455,6 +1478,7 @@
     return new OesTextureHalfFloat.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OesTextureHalfFloat.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1489,6 +1513,7 @@
     return new OesTextureHalfFloatLinear.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OesTextureHalfFloatLinear.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1519,6 +1544,7 @@
     return new OesVertexArrayObject.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   OesVertexArrayObject.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1568,6 +1594,7 @@
     return new Program.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Program.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1597,6 +1624,7 @@
     return new Renderbuffer.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Renderbuffer.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -1626,6 +1654,7 @@
     return new RenderingContext.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   RenderingContext.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3572,6 +3601,7 @@
     return new Shader.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Shader.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3600,6 +3630,7 @@
     return new ShaderPrecisionFormat.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   ShaderPrecisionFormat.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3640,6 +3671,7 @@
     return new Texture.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   Texture.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3668,6 +3700,7 @@
     return new UniformLocation.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   UniformLocation.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -3698,6 +3731,7 @@
     return new VertexArrayObject.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   VertexArrayObject.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
diff --git a/sdk/lib/web_sql/dartium/web_sql_dartium.dart b/sdk/lib/web_sql/dartium/web_sql_dartium.dart
index 3b7d758..c7e6c93 100644
--- a/sdk/lib/web_sql/dartium/web_sql_dartium.dart
+++ b/sdk/lib/web_sql/dartium/web_sql_dartium.dart
@@ -118,6 +118,7 @@
     return new SqlDatabase.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SqlDatabase.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -198,6 +199,7 @@
     return new SqlError.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SqlError.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -268,6 +270,7 @@
     return new SqlResultSet.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SqlResultSet.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -310,6 +313,7 @@
     return new SqlResultSetRowList.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SqlResultSetRowList.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
@@ -397,6 +401,7 @@
     return new SqlTransaction.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   SqlTransaction.internal_() { }
 
   bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
diff --git a/tests/html/html.status b/tests/html/html.status
index fd87d0e..f5db897 100644
--- a/tests/html/html.status
+++ b/tests/html/html.status
@@ -19,9 +19,11 @@
 native_gc_test: Skip # Dartium JSInterop failure
 transferables_test: RuntimeError # Dartium JSInterop failure
 
+
 [ $compiler == none && ($runtime == drt || $runtime == dartium ) ]
 worker_api_test: Fail # Issue 10223
 resource_http_test: Fail # Issue 24203
+js_function_getter_trust_types_test: Skip # dartium doesn't support trust types.
 
 [ $compiler == none && $mode == debug && ($runtime == drt || $runtime == dartium ) ]
 datalistelement_test: Skip # Issue 20540
@@ -380,6 +382,8 @@
 js_test: Skip                       # Test cannot run under CSP restrictions (times out).
 js_array_test: Skip                 # Test cannot run under CSP restrictions.
 js_typed_interop_test: Skip         # Test cannot run under CSP restrictions.
+js_function_getter_test: Skip       # Test cannot run under CSP restrictions.
+js_function_getter_trust_types_test: Skip  # Test cannot run under CSP restrictions.
 js_dart_to_string_test: Skip        # Test cannot run under CSP restrictions.
 mirrors_js_typed_interop_test: Skip # Test cannot run under CSP restrictions.
 postmessage_structured_test: Skip   # Test cannot run under CSP restrictions (times out).
@@ -403,6 +407,7 @@
 element_test: StaticWarning
 events_test: StaticWarning
 htmlelement_test: StaticWarning
+js_function_getter_trust_types_test: skip # dart2js specific flags.
 localstorage_test: StaticWarning
 mutationobserver_test: StaticWarning
 queryall_test: fail
diff --git a/tests/html/js_function_getter_test.dart b/tests/html/js_function_getter_test.dart
new file mode 100644
index 0000000..c8a61b8
--- /dev/null
+++ b/tests/html/js_function_getter_test.dart
@@ -0,0 +1,109 @@
+// Copyright (c) 2015, 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.
+
+@JS()
+library js_function_getter_test;
+
+import 'dart:html';
+
+import 'package:js/js.dart';
+import 'package:unittest/unittest.dart';
+import 'package:unittest/html_config.dart';
+import 'package:unittest/html_individual_config.dart';
+
+_injectJs() {
+  document.body.append(new ScriptElement()
+    ..type = 'text/javascript'
+    ..innerHtml = r"""
+  var bar = { };
+
+  bar.instanceMember = function() {
+    if (this !== bar) {
+      throw 'Unexpected this!';
+    }
+    return arguments.length;
+  };
+
+  bar.staticMember = function() {
+    return arguments.length * 2;
+  };
+
+  bar.dynamicStatic = function() {
+    return arguments.length;
+  };
+
+  bar.add = function(a, b) {
+    return a + b;
+  };
+
+  var foo = { 'bar' : bar };
+""");
+}
+
+typedef int AddFn(int x, int y);
+
+@JS()
+abstract class Bar {
+  external Function get staticMember;
+  external Function get instanceMember;
+  external AddFn get add;
+  external get dynamicStatic;
+  external num get nonFunctionStatic;
+}
+
+@JS()
+abstract class Foo {
+  external Bar get bar;
+}
+
+@JS()
+external Foo get foo;
+
+main() {
+  _injectJs();
+
+  useHtmlIndividualConfiguration();
+
+  group('call getter as function', () {
+    test('member function', () {
+      expect(foo.bar.instanceMember(), equals(0));
+      expect(foo.bar.instanceMember(0), equals(1));
+      expect(foo.bar.instanceMember(0,0), equals(2));
+      expect(foo.bar.instanceMember(0,0,0,0,0,0), equals(6));
+      var instanceMember = foo.bar.instanceMember;
+      expect(() => instanceMember(), throws);
+      expect(() => instanceMember(0), throws);
+      expect(() => instanceMember(0,0), throws);
+      expect(() => instanceMember(0,0,0,0,0,0), throws);
+    });
+
+    test('static function', () {
+      expect(foo.bar.staticMember(), equals(0));
+      expect(foo.bar.staticMember(0), equals(2));
+      expect(foo.bar.staticMember(0,0), equals(4));
+      expect(foo.bar.staticMember(0,0,0,0,0,0), equals(12));
+      var staticMember = foo.bar.staticMember;
+      expect(staticMember(), equals(0));
+      expect(staticMember(0), equals(2));
+      expect(staticMember(0,0), equals(4));
+      expect(staticMember(0,0,0,0,0,0), equals(12));
+    });
+
+    test('static dynamicStatic', () {
+      expect(foo.bar.dynamicStatic(), equals(0));
+      expect(foo.bar.dynamicStatic(0), equals(1));
+      expect(foo.bar.dynamicStatic(0,0), equals(2));
+      expect(foo.bar.dynamicStatic(0,0,0,0,0,0), equals(6));
+      var dynamicStatic = foo.bar.dynamicStatic;
+      expect(dynamicStatic(), equals(0));
+      expect(dynamicStatic(0), equals(1));
+      expect(dynamicStatic(0,0), equals(2));
+      expect(dynamicStatic(0,0,0,0,0,0), equals(6));
+    });
+
+    test('typedef function', () {
+      expect(foo.bar.add(4,5), equals(9));
+    });
+  });
+}
diff --git a/tests/html/js_function_getter_trust_types_test.dart b/tests/html/js_function_getter_trust_types_test.dart
new file mode 100644
index 0000000..3e94b503
--- /dev/null
+++ b/tests/html/js_function_getter_trust_types_test.dart
@@ -0,0 +1,72 @@
+// Copyright (c) 2015, 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.
+
+// SharedOptions=--trust-type-annotations
+@JS()
+library js_function_getter_trust_types_test;
+
+import 'dart:html';
+
+import 'package:js/js.dart';
+import 'package:unittest/unittest.dart';
+import 'package:unittest/html_config.dart';
+import 'package:unittest/html_individual_config.dart';
+
+_injectJs() {
+  document.body.append(new ScriptElement()
+    ..type = 'text/javascript'
+    ..innerHtml = r"""
+  var bar = { };
+
+  bar.nonFunctionStatic = function() {
+    return arguments.length * 2;
+  };
+
+  bar.add = function(a, b) {
+    return a + b;
+  };
+
+  var foo = { 'bar' : bar };
+""");
+}
+
+typedef int AddFn(int x, int y);
+
+@JS()
+class NotAFn { }
+
+@JS()
+abstract class Bar {
+  external AddFn get add;
+  external NotAFn get nonFunctionStatic;
+}
+
+@JS()
+abstract class Foo {
+  external Bar get bar;
+}
+
+@JS()
+external Foo get foo;
+
+main() {
+  _injectJs();
+
+  useHtmlIndividualConfiguration();
+
+  group('trust types', () {
+    test('static nonFunctionStatic', () {
+      expect(() => foo.bar.nonFunctionStatic(), throws);
+      expect(() => foo.bar.nonFunctionStatic(0), throws);
+      expect(() => foo.bar.nonFunctionStatic(0,0), throws);
+      expect(() => foo.bar.nonFunctionStatic(0,0,0,0,0,0), throws);
+    });
+
+    test('typedef function', () {
+      expect(() => foo.bar.add(4), throws);
+      expect(() => foo.bar.add(4,5,10), throws);
+      expect(foo.bar.add(4,5), equals(9));
+    });
+  });
+}
diff --git a/tests/html/js_typed_interop_test.dart b/tests/html/js_typed_interop_test.dart
index 7325a87..2907142 100644
--- a/tests/html/js_typed_interop_test.dart
+++ b/tests/html/js_typed_interop_test.dart
@@ -114,6 +114,7 @@
   external static int multiplyDefault2(int a, [int b]);
 }
 
+@anonymous
 @JS()
 class ExampleLiteral {
   external factory ExampleLiteral({int x, String y, num z});
@@ -123,6 +124,12 @@
   external num get z;
 }
 
+@anonymous
+@JS()
+class EmptyLiteral {
+  external factory EmptyLiteral();
+}
+
 @JS('Foob')
 class Foob extends Foo {
   external String get y;
@@ -179,6 +186,11 @@
       expect(l.z, equals(100));
       expect(stringify(l), equals('{"z":100}'));
     });
+
+    test('empty', () {
+      var l = new EmptyLiteral();
+      expect(stringify(l), equals('{}'));
+    });
   });
 
   group('constructor', () {
diff --git a/tools/VERSION b/tools/VERSION
index 85daf0b..aee7ef0 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
 MINOR 13
 PATCH 0
 PRERELEASE 7
-PRERELEASE_PATCH 6
+PRERELEASE_PATCH 7
diff --git a/tools/dom/scripts/systemhtml.py b/tools/dom/scripts/systemhtml.py
index 75308d4..24ecbb8 100644
--- a/tools/dom/scripts/systemhtml.py
+++ b/tools/dom/scripts/systemhtml.py
@@ -618,6 +618,7 @@
     return new {0}.internal_();
   }}
 
+  @Deprecated("Internal Use Only")
   {0}.internal_() : super.internal_();
 
 '''.format(class_name)
@@ -632,6 +633,7 @@
     return new {0}.internal_();
   }}
 
+  @Deprecated("Internal Use Only")
   {0}.internal_() {{ }}
 
 {1}'''.format(class_name, js_interop_equivalence_op)
diff --git a/tools/dom/src/dartium_KeyEvent.dart b/tools/dom/src/dartium_KeyEvent.dart
index b93feeb..327ddf0 100644
--- a/tools/dom/src/dartium_KeyEvent.dart
+++ b/tools/dom/src/dartium_KeyEvent.dart
@@ -34,6 +34,7 @@
    *               all blink_jsObject.  Then needed private wrap/unwrap_jso
    *               functions that delegate to a public wrap/unwrap_jso.
    */
+  @Deprecated("Internal Use Only")
   js.JsObject blink_jsObject;
 
   /** The parent KeyboardEvent that this KeyEvent is wrapping and "fixing". */
diff --git a/tools/dom/templates/html/dartium/html_dartium.darttemplate b/tools/dom/templates/html/dartium/html_dartium.darttemplate
index 850b539..0e029f2 100644
--- a/tools/dom/templates/html/dartium/html_dartium.darttemplate
+++ b/tools/dom/templates/html/dartium/html_dartium.darttemplate
@@ -254,6 +254,7 @@
 
 $if JSINTEROP
 // FIXME: Can we make this private?
+@Deprecated("Internal Use Only")
 final htmlBlinkFunctionMap = {
 $!TYPE_FUNCTION_MAP
 };
diff --git a/tools/dom/templates/html/impl/impl_DOMException.darttemplate b/tools/dom/templates/html/impl/impl_DOMException.darttemplate
index bf5f0b6..9bbae84 100644
--- a/tools/dom/templates/html/impl/impl_DOMException.darttemplate
+++ b/tools/dom/templates/html/impl/impl_DOMException.darttemplate
@@ -52,14 +52,17 @@
     return new DomException._internalWrap();
   }
 
+  @Deprecated("Internal Use Only")
   js.JsObject blink_jsObject;
 
   factory DomException._internalWrap() {
     return new DomException.internal_();
   }
 
+  @Deprecated("Internal Use Only")
   DomException.internal_() { }
 
+  @Deprecated("Internal Use Only")
   DomException.jsInterop(String m) {
     var name_index = m.indexOf(': ');
     if (name_index < 0) {