Fall back to PollingDirectoryWatcher if FileSystemEntity:watch is not supported.

BUG=
R=rnystrom@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/watcher@37003 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/pkgs/watcher/lib/src/directory_watcher.dart b/pkgs/watcher/lib/src/directory_watcher.dart
index 27dbb3f..605eaea 100644
--- a/pkgs/watcher/lib/src/directory_watcher.dart
+++ b/pkgs/watcher/lib/src/directory_watcher.dart
@@ -55,9 +55,11 @@
   /// and higher CPU usage. Defaults to one second. Ignored for non-polling
   /// watchers.
   factory DirectoryWatcher(String directory, {Duration pollingDelay}) {
-    if (Platform.isLinux) return new LinuxDirectoryWatcher(directory);
-    if (Platform.isMacOS) return new MacOSDirectoryWatcher(directory);
-    if (Platform.isWindows) return new WindowsDirectoryWatcher(directory);
+    if (FileSystemEntity.isWatchSupported) {
+      if (Platform.isLinux) return new LinuxDirectoryWatcher(directory);
+      if (Platform.isMacOS) return new MacOSDirectoryWatcher(directory);
+      if (Platform.isWindows) return new WindowsDirectoryWatcher(directory);
+    }
     return new PollingDirectoryWatcher(directory, pollingDelay: pollingDelay);
   }
 }