Clean up mime package.

Also speed up default mime-type map, by not using a const map.

BUG=
R=kevmoo@google.com

Review URL: https://codereview.chromium.org//292983002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/mime@36543 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/lib/src/default_extension_map.dart b/lib/src/default_extension_map.dart
index 7e74648..ae0d7df 100644
--- a/lib/src/default_extension_map.dart
+++ b/lib/src/default_extension_map.dart
@@ -4,8 +4,8 @@
 
 library mime.extension_map;
 
-// TODO(ajohnsen): Use sorted list and binary search?
-const Map<String, String> DEFAULT_EXTENSION_MAP = const <String, String>{
+// TODO(ajohnsen): Use const map once Issue 7559 is fixed.
+final Map<String, String> defaultExtensionMap = <String, String>{
 '123':'application/vnd.lotus-1-2-3',
 '3dml':'text/vnd.in3d.3dml',
 '3ds':'image/x-3ds',
diff --git a/lib/src/magic_number.dart b/lib/src/magic_number.dart
index 6c554aa..3efb2ee 100644
--- a/lib/src/magic_number.dart
+++ b/lib/src/magic_number.dart
@@ -27,6 +27,8 @@
 
 }
 
+const int DEFAULT_MAGIC_NUMBERS_MAX_LENGTH = 12;
+
 const List<MagicNumber> DEFAULT_MAGIC_NUMBERS = const [
   const MagicNumber('application/pdf', const [0x25, 0x50, 0x44, 0x46]),
   const MagicNumber('application/postscript', const [0x25, 0x51]),
diff --git a/lib/src/mime_type.dart b/lib/src/mime_type.dart
index ca4d6c5..744eead 100644
--- a/lib/src/mime_type.dart
+++ b/lib/src/mime_type.dart
@@ -12,8 +12,7 @@
 /**
  * The maximum number of bytes needed, to match all default magic-numbers.
  */
-// NOTE: this is not formatted AS_A_CONST to avoid a breaking change
-const int defaultMagicNumbersMaxLength = 12;
+int get defaultMagicNumbersMaxLength => _globalResolver.magicNumbersMaxLength;
 
 /**
  * Extract the extension from [path] and use that for MIME-type lookup, using
@@ -49,7 +48,7 @@
    */
   MimeTypeResolver() :
       _useDefault = true,
-      _magicNumbersMaxLength = defaultMagicNumbersMaxLength;
+      _magicNumbersMaxLength = DEFAULT_MAGIC_NUMBERS_MAX_LENGTH;
 
   /**
    * Get the maximum number of bytes required to match all magic numbers, when
@@ -82,7 +81,7 @@
     result = _extensionMap[ext];
     if (result != null) return result;
     if (_useDefault) {
-      result = DEFAULT_EXTENSION_MAP[ext];
+      result = defaultExtensionMap[ext];
       if (result != null) return result;
     }
     return null;
diff --git a/pubspec.yaml b/pubspec.yaml
index b44361b..54dc5a8 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: mime
-version: 0.9.0+1
+version: 0.9.0+2
 author: Dart Team <misc@dartlang.org>
 description: Helper-package for working with MIME.
 homepage: http://www.dartlang.org