Deprecate escapeHtml
diff --git a/pkgs/markdown/CHANGELOG.md b/pkgs/markdown/CHANGELOG.md
index 0fd6b7b..5dabafe 100644
--- a/pkgs/markdown/CHANGELOG.md
+++ b/pkgs/markdown/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.11.3
+
+* Deprecated `escapeHtml`. This code exists in `dart:convert`.
+
 ## 0.11.2
 
 * Add src/util.dart to exports.
diff --git a/pkgs/markdown/lib/markdown.dart b/pkgs/markdown/lib/markdown.dart
index 107daaf..9f4a11d 100644
--- a/pkgs/markdown/lib/markdown.dart
+++ b/pkgs/markdown/lib/markdown.dart
@@ -12,4 +12,4 @@
 export 'src/html_renderer.dart';
 export 'src/inline_parser.dart';
 export 'src/version.dart';
-export 'src/util.dart';
+export 'src/util.dart' show escapeHtml;
diff --git a/pkgs/markdown/lib/src/block_parser.dart b/pkgs/markdown/lib/src/block_parser.dart
index 91a368e..4648629 100644
--- a/pkgs/markdown/lib/src/block_parser.dart
+++ b/pkgs/markdown/lib/src/block_parser.dart
@@ -398,7 +398,7 @@
     childLines.add('');
 
     // Escape the code.
-    var escaped = escapeHtml(childLines.join('\n'));
+    var escaped = escapeHtmlImpl(childLines.join('\n'));
 
     return new Element('pre', [new Element.text('code', escaped)]);
   }
@@ -444,7 +444,7 @@
     childLines.add('');
 
     // Escape the code.
-    var escaped = escapeHtml(childLines.join('\n'));
+    var escaped = escapeHtmlImpl(childLines.join('\n'));
 
     var code = new Element.text('code', escaped);
 
diff --git a/pkgs/markdown/lib/src/inline_parser.dart b/pkgs/markdown/lib/src/inline_parser.dart
index b942601..a1ebd92 100644
--- a/pkgs/markdown/lib/src/inline_parser.dart
+++ b/pkgs/markdown/lib/src/inline_parser.dart
@@ -250,7 +250,7 @@
 
   bool onMatch(InlineParser parser, Match match) {
     var url = match[1];
-    var anchor = new Element.text('a', escapeHtml(url));
+    var anchor = new Element.text('a', escapeHtmlImpl(url));
     anchor.attributes['href'] = url;
     parser.addNode(anchor);
 
@@ -339,9 +339,9 @@
 
     var element = new Element('a', state.children);
 
-    element.attributes["href"] = escapeHtml(link.url);
+    element.attributes["href"] = escapeHtmlImpl(link.url);
     if (link.title != null) {
-      element.attributes['title'] = escapeHtml(link.title);
+      element.attributes['title'] = escapeHtmlImpl(link.title);
     }
 
     return element;
@@ -408,11 +408,11 @@
     var link = getLink(parser, match, state);
     if (link == null) return null;
     var image = new Element.empty("img");
-    image.attributes["src"] = escapeHtml(link.url);
+    image.attributes["src"] = escapeHtmlImpl(link.url);
     image.attributes["alt"] = state?.textContent ?? '';
 
     if (link.title != null) {
-      image.attributes["title"] = escapeHtml(link.title);
+      image.attributes["title"] = escapeHtmlImpl(link.title);
     }
 
     return image;
@@ -455,7 +455,7 @@
   }
 
   bool onMatch(InlineParser parser, Match match) {
-    parser.addNode(new Element.text('code', escapeHtml(match[2].trim())));
+    parser.addNode(new Element.text('code', escapeHtmlImpl(match[2].trim())));
     return true;
   }
 }
diff --git a/pkgs/markdown/lib/src/util.dart b/pkgs/markdown/lib/src/util.dart
index e254d26..9ff8262 100644
--- a/pkgs/markdown/lib/src/util.dart
+++ b/pkgs/markdown/lib/src/util.dart
@@ -1,9 +1,9 @@
-library markdown.src.util;
+import 'dart:convert';
 
 /// Replaces `<`, `&`, and `>`, with their HTML entity equivalents.
-String escapeHtml(String html) {
-  return html
-      .replaceAll('&', '&amp;')
-      .replaceAll('<', '&lt;')
-      .replaceAll('>', '&gt;');
-}
+@Deprecated('Use `const HtmlEscape(HtmlEscapeMode.ELEMENT).convert` from '
+    '`dart:convert` instead.')
+String escapeHtml(String html) => escapeHtmlImpl(html);
+
+String escapeHtmlImpl(String html) =>
+    const HtmlEscape(HtmlEscapeMode.ELEMENT).convert(html);
diff --git a/pkgs/markdown/lib/src/version.dart b/pkgs/markdown/lib/src/version.dart
index b9992bb..59ed8c5 100644
--- a/pkgs/markdown/lib/src/version.dart
+++ b/pkgs/markdown/lib/src/version.dart
@@ -1,2 +1,2 @@
 /// The current version of markdown.
-final String version = '0.11.2';
+final String version = '0.11.3-dev';
diff --git a/pkgs/markdown/pubspec.yaml b/pkgs/markdown/pubspec.yaml
index 08b09da..e357874 100644
--- a/pkgs/markdown/pubspec.yaml
+++ b/pkgs/markdown/pubspec.yaml
@@ -1,5 +1,5 @@
 name: markdown
-version: 0.11.2
+version: 0.11.3-dev
 author: Dart Team <misc@dartlang.org>
 description: A library for converting markdown to HTML.
 homepage: https://github.com/dart-lang/markdown