anchor.diff:              enclosingClassName: info['enclosingClassName'],
               memberName: info["name"]
           );
  +        String mdnLink;
  +        if (info["libraryName"] == "dart:html" && info["DomName"] != null) {
  +          mdnLink = await _mdnApiLink(info['DomName']);
  +        }
           docPanel.setInnerHtml(markdown.markdownToHtml(
   '''
   # `${info['description']}`\n\n
   ${info['dartdoc'] != null ? info['dartdoc'] + "\n\n" : ""}
  +${mdnLink == null || info['dartdoc'] != null ? "" : "## External resources:\n * $mdnLink at MDN"}
   ${kind.contains("variable") ? "${info['kind']}\n\n" : ""}
   ${kind.contains("variable") ? "**Propagated type:** ${info["propagatedType"]}\n\n" : ""}
   ${info['libraryName'] == null ? "" : "**Library:** $apiLink" }\n\n
  
positive.code: 
      // TODO: Show busy.
      _dartServices.document(input).timeout(serviceCallTimeout).then(
          (DocumentResponse result) {
        Map info = result.info;
        String kind = info['kind'];
        if (info['description'] == null &&
  
negative.code: import 'dart:convert';
  import 'dart:html';
  import 'dart:math' as math;
  import 'dart:async';
  
  import 'dartservices_client/v1.dart';
  import 'editing/editor.dart';
  