Dart: Rolls runtime forward.

fixes #778

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2003813002 .
diff --git a/DEPS b/DEPS
index 1016b6b..d7bf80a 100644
--- a/DEPS
+++ b/DEPS
@@ -24,7 +24,7 @@
   'base_revision': '163fb42027bea947916ba4d2fa03aa0ed7c3f99e',
   'angle_revision': '46ccef1992a8ede16a596c3dd73cff13c047267d',
   'buildtools_revision': '222bd42ce39d1bd8f08fe089b066f49c469e1cdf',
-  'dart_revision': 'e4db01fdd43f019988a901eb51c72790652760a4',
+  'dart_revision': 'f64c907557646699fada4acb7e9a82346a369993',
   'dart_root_certificates_revision': 'aed07942ce98507d2be28cbd29e879525410c7fc',
   'dart_observatory_packages_revision': 'cf90eb9077177d3d6b3fd5e8289477c2385c026a',
   'pdfium_revision': 'ae4256f45df69bbfdf722a6ec17e1e851911ae4e',
diff --git a/mojo/dart/embedder/io/file_patch.dart b/mojo/dart/embedder/io/file_patch.dart
index 0e376a4..5fb8d91 100644
--- a/mojo/dart/embedder/io/file_patch.dart
+++ b/mojo/dart/embedder/io/file_patch.dart
@@ -168,8 +168,8 @@
     return streamController.stream;
   }
 
-  /* patch */ List listSync({bool recursive: false,
-                             bool followLinks: true}) {
+  /* patch */ List<FileSystemEntity> listSync({bool recursive: false,
+                                               bool followLinks: true}) {
     return _onSyncOperation();
   }
 
diff --git a/mojo/tools/mojob.py b/mojo/tools/mojob.py
index b0f4fe0..4c46464 100755
--- a/mojo/tools/mojob.py
+++ b/mojo/tools/mojob.py
@@ -99,6 +99,8 @@
   if 'package_name' in args:
     additional_args['package_name'] = args.package_name
 
+  additional_args['boringssl_path'] = Paths().boringssl_path
+
   return Config(target_os=target_os, target_cpu=target_cpu,
                 is_debug=is_debug, is_official_build=args.official,
                 dcheck_always_on=args.dcheck_always_on,
diff --git a/mojo/tools/mopy/gn.py b/mojo/tools/mopy/gn.py
index deb29bc..3b933c3 100644
--- a/mojo/tools/mopy/gn.py
+++ b/mojo/tools/mopy/gn.py
@@ -94,6 +94,8 @@
     if gn_args["mojo_use_go"]:
       gn_args["go_build_tool"] = config.values.get("go_build_tool")
 
+  gn_args["dart_boringssl_path"] = config.values.get("boringssl_path", "")
+
   extra_args = config.values.get("gn_args")
   if extra_args:
     for arg in extra_args.split():
@@ -140,6 +142,7 @@
     config_args["target_sysroot"] = args.get("target_sysroot")
   if "toolchain_prefix" in args:
     config_args["toolchain_prefix"] = args.get("toolchain_prefix")
+  config_args["boringssl_path"] = args.get("dart_boringssl_path")
   return Config(**config_args)
 
 
diff --git a/mojo/tools/mopy/gn_unittest.py b/mojo/tools/mopy/gn_unittest.py
index 25bcaa4..3875ad4 100644
--- a/mojo/tools/mopy/gn_unittest.py
+++ b/mojo/tools/mopy/gn_unittest.py
@@ -28,6 +28,7 @@
       "use_nacl": [False, True],
       "mojo_use_go": [False],
       "dcheck_always_on": [False, True],
+      "boringssl_path": [""],
     }
     if sys.platform == "darwin":
       configs_to_test["target_os"].remove("linux")
@@ -54,6 +55,7 @@
       "mojo_use_nacl": [False, True],
       "mojo_use_go": [False],
       "dcheck_always_on": [False, True],
+      "dart_boringssl_path": [""],
     }
 
     for args in _iterate_over_config(configs_to_test):
diff --git a/mojo/tools/mopy/paths.py b/mojo/tools/mopy/paths.py
index f243115..7d7757a 100644
--- a/mojo/tools/mopy/paths.py
+++ b/mojo/tools/mopy/paths.py
@@ -18,6 +18,8 @@
     self.mojo_dir = os.path.join(self.src_root, "mojo")
     self.adb_path = os.path.join(self.src_root, 'third_party', 'android_tools',
                                  'sdk', 'platform-tools', 'adb')
+    self.boringssl_path = os.path.join(self.src_root, 'third_party',
+                                       'boringssl')
 
     self.go_tool_path = None
     if config: