| Index: pkg/compiler/lib/src/js_backend/codegen_listener.dart
|
| diff --git a/pkg/compiler/lib/src/js_backend/codegen_listener.dart b/pkg/compiler/lib/src/js_backend/codegen_listener.dart
|
| index 8de2576f6b08f215dff7ae197a22dbfec32b87b7..705fbfa8a8ab46e7311f28da4042eaa3b93d2080 100644
|
| --- a/pkg/compiler/lib/src/js_backend/codegen_listener.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/codegen_listener.dart
|
| @@ -211,6 +211,14 @@ class CodegenEnqueuerListener extends EnqueuerListener {
|
| } else if (constant.isType) {
|
| impactBuilder
|
| .registerTypeUse(new TypeUse.instantiation(_backendClasses.typeType));
|
| + // If the type is a web component, we need to ensure the constructors are
|
| + // available to 'upgrade' the native object.
|
| + TypeConstantValue type = constant;
|
| + if (type.representedType.isInterfaceType) {
|
| + ResolutionInterfaceType representedType = type.representedType;
|
| + _customElementsAnalysis.registerTypeConstant(representedType.element);
|
| + _lookupMapAnalysis.registerTypeConstant(representedType.element);
|
| + }
|
| }
|
| _lookupMapAnalysis.registerConstantKey(constant);
|
| }
|
|
|