Version 1.24.0-dev.6.5

Cherry-pick 1d9a2e8a950b96bd3296795746f07e08c666b7b6 to dev
Cherry-pick 5aba20af0d43420d1e1e781a2af039fe20b158d3 to dev
Cherry-pick 74907cc8911535743d373ef5e7b70da69998a4b5 to dev
Cherry-pick b987a126c541590cd201d54bc1002dd603cc86af to dev
Cherry-pick 499cb29c70ec381783360dd31d1f08461ea29960 to dev
Cherry-pick 75a1eaef7e03dddf0f96cadf121c4bd39845b1c3 to dev
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7b8a311..b9759dc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -76,6 +76,51 @@
 ### Tool Changes
 
 * Pub
+    * Added support for the Dart Development Compiler in `build` and `serve`.
+
+      Unlike dart2js, this new compiler is modular, which allows pub to do
+      incremental re-builds for `pub serve`, and potentially `pub build` in the
+      future.
+
+      In practice what that means is you can edit your Dart files, refresh in
+      Chrome (or other supported browsers), and see your edits almost
+      immediately. This is because pub is only recompiling your package, not all
+      packages that you depend on.
+
+      There is one caveat with the new compiler, which is that your package and
+      your dependencies must all be strong mode clean. If you are getting an
+      error compiling one of your dependencies, you will need to file bugs or
+      send pull requests to get them strong mode clean.
+
+      There are two ways of opting into the new compiler:
+
+        * Use the new `--web-compiler` flag, which supports `dartdevc`,
+          `dart2js` or `none` as options. This is the easiest way to try things
+          out without changing the default.
+
+        * Add config to your pubspec. There is a new `web` key which supports a
+          single key called `compiler`. This is a map from mode names to
+          compiler to use. For example, to default to dartdevc in debug mode you
+          can add the following to your pubspec:
+
+          ```yaml
+          web:
+            compiler:
+              debug: dartdevc
+          ```
+
+      You can also use the new compiler to run your tests in Chrome much more
+      quickly than you can with dart2js. In order to do that, run
+      `pub serve test --web-compiler=dartdevc`, and then run
+      `pub run test -p chrome --pub-serve=8080`.
+
+    * The `--no-dart2js` flag has been deprecated in favor of
+      `--web-compiler=none`.
+    * Added support for the UNLICENSE file when validating licenses on
+      `pub lish`.
+    * Better handling for network errors when fetching packages. These are no
+      longer unhandled errors and won't print a stack trace unless you are
+      running in verbose mode.
     * `pub build` will use a failing exit code if there are errors in any
       transformer.
     * Allow publishing packages that depend on the Flutter SDK.
diff --git a/DEPS b/DEPS
index 9a2afb2..a8ee25a 100644
--- a/DEPS
+++ b/DEPS
@@ -95,7 +95,7 @@
   "ply_rev": "@604b32590ffad5cbb82e4afef1d305512d06ae93",
   "pool_tag": "@1.3.0",
   "protobuf_tag": "@0.5.4",
-  "pub_rev": "@492372c4546c5a1a8b45891f956d2b2e98221fb0",
+  "pub_rev": "@a8781274e3a38c34a49d4c5bffb98557c6022a75",
   "pub_semver_tag": "@1.3.2",
   "quiver_tag": "@0.22.0",
   "resource_rev":"@a49101ba2deb29c728acba6fb86000a8f730f4b1",
diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
index 008c374..34c3446 100644
--- a/sdk/lib/html/dartium/html_dartium.dart
+++ b/sdk/lib/html/dartium/html_dartium.dart
@@ -28998,7 +28998,7 @@
 
   @DomName('MouseEvent.dataTransfer')
   DataTransfer get dataTransfer =>
-      js.JsNative.getProperty(js.context, 'dataTransfer');
+      js.JsNative.getProperty(this, 'dataTransfer');
 }
 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
 // for details. All rights reserved. Use of this source code is governed by a
@@ -41281,11 +41281,11 @@
       return _blink.BlinkURL.instance
           .createObjectURL_Callback_1_(blob_OR_source_OR_stream);
     }
-    if ((blob_OR_source_OR_stream is MediaStream)) {
+    if ((blob_OR_source_OR_stream is MediaSource)) {
       return _blink.BlinkURL.instance
           .createObjectURL_Callback_1_(blob_OR_source_OR_stream);
     }
-    if ((blob_OR_source_OR_stream is MediaSource)) {
+    if ((blob_OR_source_OR_stream is MediaStream)) {
       return _blink.BlinkURL.instance
           .createObjectURL_Callback_1_(blob_OR_source_OR_stream);
     }
diff --git a/tools/VERSION b/tools/VERSION
index a107d71..b6b50ee 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
 MINOR 24
 PATCH 0
 PRERELEASE 6
-PRERELEASE_PATCH 4
+PRERELEASE_PATCH 5
diff --git a/tools/deps/dartium.deps/DEPS b/tools/deps/dartium.deps/DEPS
index 354838e..060ffe4 100644
--- a/tools/deps/dartium.deps/DEPS
+++ b/tools/deps/dartium.deps/DEPS
@@ -1,14 +1,13 @@
+# The file DEPS.chromium from this directory (tools/deps/dartium.deps) is
+# copied into this file, rather than imported, because the new DEPS syntax
+# analyzer does not support the way that we import it.
+# Please keep the code between here and "END OF IMPORTED CHROMIUM DEPS"
+# an exact copy of the modified DEPS.chromium in this directory.
 
-import gclient_utils
-import os
+vars = {
+  # Start of Dartium vars
 
-path = gclient_utils.FindGclientRoot(os.getcwd())
-execfile(os.path.join(path, 'src', 'dart', 'tools', 'deps', 'dartium.deps', 'DEPS.chromium')) # Include proper Chromium DEPS.
-
-# Now we need to override some settings and add some new ones.
-
-vars.update({
-  "dartium_chromium_commit": "a0717ebdcf4578b98de1d858005aa9c5f346bd33",
+  "dartium_chromium_commit": "67146b50bbc0dab33006c51b5dde056ee16f0f2b",
   "chromium_base_revision": "378081",
 
   # We use mirrors of all github repos to guarantee reproducibility and
@@ -69,9 +68,195 @@
   "WebCore_rev": "@3c45690813c112373757bbef53de1602a62af609",
 
   "co19_rev": "@4af9ef149be554216c5bb16cbac8e50d4c28cdf1",
-})
 
-deps.update({
+  # End of Dartium vars
+
+  'angle_revision':
+    '4d76061e2be5b8b005afba8e0c145592c3b04527',
+  'boringssl_revision':
+    '6d49157929abdefb155daf2751dc03fd9eb4240c',
+  'buildspec_platforms':
+    'chromeos,',
+  'buildtools_revision':
+    '3d2e47bf14e4e67816a53e304dea422fa18f9180',
+  'chromium_git':
+    'https://chromium.googlesource.com',
+  'deqp_revision':
+    'cc0ded6c77267bbb14d21aac358fc5d9690c07f8',
+  'deqp_url':
+    'https://android.googlesource.com/platform/external/deqp',
+  'freetype_android_revision':
+    'a512b0fe7a8d9db0e5aa9c0a4db1e92cb861722d',
+  'google_toolbox_for_mac_revision':
+    '401878398253074c515c03cb3a3f8bb0cc8da6e9',
+  'googlecode_url':
+    'http://%s.googlecode.com/svn',
+  'lighttpd_revision':
+    '9dfa55d15937a688a92cbf2b7a8621b0927d06eb',
+  'lss_revision':
+    '4fc942258fe5509549333b9487ec018e3c8c5b10',
+  'nacl_revision':
+    'd182b0a028d44ba9767ae25b30cf3986a7e72e99',
+  'nss_revision':
+    '225bfc39c93dfb7c7d0d1162f81e9bb5cd356c30',
+  'openmax_dl_revision':
+    '6670e52d32351145a6b6c198dab3f6a536edf3db',
+  'pdfium_revision':
+    '8ba5b59356d506d3b9e976e7422e69bbd5bec8d6',
+  'sfntly_revision':
+    '130f832eddf98467e6578b548cb74ce17d04a26d',
+  'skia_revision':
+    '82e26bf23923f20828c850d1a0e01d8bde69cfff',
+  'swarming_revision':
+    'a72f46e42dba1335e8001499b4621acad2d26728',
+  'v8_revision':
+    'ad16e6c2cbd2c6b0f2e8ff944ac245561c682ac2'
+}
+allowed_hosts = [
+  'android.googlesource.com',
+  'boringssl.googlesource.com',
+  'chromium.googlesource.com',
+  'pdfium.googlesource.com'
+]
+deps = {
+  'src/breakpad/src':
+    (Var("chromium_git")) + '/breakpad/breakpad/src.git@481608d284106df9400d447e95574799670cabaf',
+  'src/buildtools':
+    (Var("chromium_git")) + '/chromium/buildtools.git@3d2e47bf14e4e67816a53e304dea422fa18f9180',
+  'src/chrome/test/data/perf/canvas_bench':
+    (Var("chromium_git")) + '/chromium/canvas_bench.git@a7b40ea5ae0239517d78845a5fc9b12976bfc732',
+  'src/chrome/test/data/perf/frame_rate/content':
+    (Var("chromium_git")) + '/chromium/frame_rate/content.git@c10272c88463efeef6bb19c9ec07c42bc8fe22b9',
+  'src/media/cdm/api':
+    (Var("chromium_git")) + '/chromium/cdm.git@1dea7088184dec2ebe4a8b3800aabb0afbb4b88a',
+  'src/native_client':
+    (Var("chromium_git")) + '/native_client/src/native_client.git@fb00463cb1ebd46a46c050101f8b6a6c999d5dc1',
+  'src/sdch/open-vcdiff':
+    (Var("chromium_git")) + '/external/github.com/google/open-vcdiff.git@21d7d0b9c3d0c3ccbdb221c85ae889373f0a2a58',
+  'src/testing/gmock':
+    (Var("chromium_git")) + '/external/googlemock.git@0421b6f358139f02e102c9c332ce19a33faf75be',
+  'src/testing/gtest':
+    (Var("chromium_git")) + '/external/github.com/google/googletest.git@6f8a66431cb592dad629028a50b3dd418a408c87',
+  'src/third_party/angle':
+    (Var("chromium_git")) + '/angle/angle.git@c46018b8598dad46f6834411f27e12e90bb62a56',
+  'src/third_party/bidichecker':
+    (Var("chromium_git")) + '/external/bidichecker/lib.git@97f2aa645b74c28c57eca56992235c79850fa9e0',
+  'src/third_party/boringssl/src':
+    'https://boringssl.googlesource.com/boringssl.git@c880e42ba1c8032d4cdde2aba0541d8a9d9fa2e9',
+  'src/third_party/catapult':
+    (Var("chromium_git")) + '/external/github.com/catapult-project/catapult.git@a489be785184f64356555a8170452a6d6880cc5d',
+  'src/third_party/cld_2/src':
+    (Var("chromium_git")) + '/external/github.com/CLD2Owners/cld2.git@84b58a5d7690ebf05a91406f371ce00c3daf31c0',
+  'src/third_party/colorama/src':
+    (Var("chromium_git")) + '/external/colorama.git@799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
+  'src/third_party/dom_distiller_js/dist':
+    (Var("chromium_git")) + '/external/github.com/chromium/dom-distiller-dist.git@e21fe06cb71327ec62431f823e783d7b02f97b26',
+  'src/third_party/ffmpeg':
+    (Var("chromium_git")) + '/chromium/third_party/ffmpeg.git@b828a1bc02572754455e97508e4b78fc06d5e6fa',
+  'src/third_party/flac':
+    (Var("chromium_git")) + '/chromium/deps/flac.git@2c4b86af352b23498315c016dc207e3fb2733fc0',
+  'src/third_party/hunspell_dictionaries':
+    (Var("chromium_git")) + '/chromium/deps/hunspell_dictionaries.git@c106afdcec5d3de2622e19f1b3294c47bbd8bd72',
+  'src/third_party/icu':
+    (Var("chromium_git")) + '/chromium/deps/icu.git@052cebbb5f0695b797b0053cb302a2ca29b8044a',
+  'src/third_party/jsoncpp/source':
+    (Var("chromium_git")) + '/external/github.com/open-source-parsers/jsoncpp.git@f572e8e42e22cfcf5ab0aea26574f408943edfa4',
+  'src/third_party/leveldatabase/src':
+    (Var("chromium_git")) + '/external/leveldb.git@706b7f8d43b0aecdc75c5ee49d3e4ef5f27b9faf',
+  'src/third_party/libaddressinput/src':
+    (Var("chromium_git")) + '/external/libaddressinput.git@5eeeb797e79fa01503fcdcbebdc50036fac023ef',
+  'src/third_party/libexif/sources':
+    (Var("chromium_git")) + '/chromium/deps/libexif/sources.git@9d467f7d21e4749ee22ee7520e561ac7b38484b9',
+  'src/third_party/libjingle/source/talk':
+    (Var("chromium_git")) + '/external/webrtc/trunk/talk.git@a4cc90bc9bfb5cc932075aebccb734e38932b107',
+# TODO(terry): Hash different between original and git mirror above is new hash below is original hash.  Some CL though.
+#    (Var("chromium_git")) + '/external/webrtc/trunk/talk.git@04170d694b177d0e4b2c4f191daad36e88f765b2',
+  'src/third_party/libjpeg_turbo':
+    (Var("chromium_git")) + '/chromium/deps/libjpeg_turbo.git@e4e75037f29745f1546b6ebf5cf532e841c04c2c',
+  'src/third_party/libphonenumber/src/phonenumbers':
+    (Var("chromium_git")) + '/external/libphonenumber/cpp/src/phonenumbers.git@0d6e3e50e17c94262ad1ca3b7d52b11223084bca',
+  'src/third_party/libphonenumber/src/resources':
+    (Var("chromium_git")) + '/external/libphonenumber/resources.git@b6dfdc7952571ff7ee72643cd88c988cbe966396',
+  'src/third_party/libphonenumber/src/test':
+    (Var("chromium_git")) + '/external/libphonenumber/cpp/test.git@f351a7e007f9c9995494499120bbc361ca808a16',
+  'src/third_party/libsrtp':
+    (Var("chromium_git")) + '/chromium/deps/libsrtp.git@8eecac0feef4c65e2debb42718a10eab91551f35',
+  'src/third_party/libvpx_new/source/libvpx':
+    (Var("chromium_git")) + '/webm/libvpx.git@89cc68252846478fa7f2d570d96ff93776cefac6',
+  'src/third_party/libwebm/source':
+    (Var("chromium_git")) + '/webm/libwebm.git@75a6d2da8b63e0c446ec0ce1ac942c2962d959d7',
+  'src/third_party/libyuv':
+    (Var("chromium_git")) + '/libyuv/libyuv.git@20343f45c612e485cd898aeaae2250df2d0b2d2d',
+  'src/third_party/mesa/src':
+    (Var("chromium_git")) + '/chromium/deps/mesa.git@ef811c6bd4de74e13e7035ca882cc77f85793fef',
+  'src/third_party/openh264/src':
+    (Var("chromium_git")) + '/external/github.com/cisco/openh264@b37cda248234162033e3e11b0335f3131cdfe488',
+  'src/third_party/openmax_dl':
+    (Var("chromium_git")) + '/external/webrtc/deps/third_party/openmax.git@6670e52d32351145a6b6c198dab3f6a536edf3db',
+  'src/third_party/opus/src':
+    (Var("chromium_git")) + '/chromium/deps/opus.git@655cc54c564b84ef2827f0b2152ce3811046201e',
+  'src/third_party/pdfium':
+    'https://pdfium.googlesource.com/pdfium.git@58340b0f837343671f1eb033371a41441eae80cd',
+  'src/third_party/py_trace_event/src':
+    (Var("chromium_git")) + '/external/py_trace_event.git@dd463ea9e2c430de2b9e53dea57a77b4c3ac9b30',
+  'src/third_party/pyftpdlib/src':
+    (Var("chromium_git")) + '/external/pyftpdlib.git@2be6d65e31c7ee6320d059f581f05ae8d89d7e45',
+  'src/third_party/pywebsocket/src':
+    (Var("chromium_git")) + '/external/github.com/google/pywebsocket.git@2d7b73c3acbd0f41dcab487ae5c97c6feae06ce2',
+  'src/third_party/re2/src':
+    (Var("chromium_git")) + '/external/github.com/google/re2.git@dba3349aba83b5588e85e5ecf2b56c97f2d259b7',
+  'src/third_party/safe_browsing/testing':
+    (Var("chromium_git")) + '/external/google-safe-browsing/testing.git@9d7e8064f3ca2e45891470c9b5b1dce54af6a9d6',
+  'src/third_party/scons-2.0.1':
+    (Var("chromium_git")) + '/native_client/src/third_party/scons-2.0.1.git@1c1550e17fc26355d08627fbdec13d8291227067',
+  'src/third_party/sfntly/src':
+    (Var("chromium_git")) + '/external/github.com/googlei18n/sfntly.git@130f832eddf98467e6578b548cb74ce17d04a26d',
+  'src/third_party/skia':
+    (Var("chromium_git")) + '/skia.git@b95c8954fceebf67629d894d26cf57a170507612',
+  'src/third_party/smhasher/src':
+    (Var("chromium_git")) + '/external/smhasher.git@e87738e57558e0ec472b2fc3a643b838e5b6e88f',
+  'src/third_party/snappy/src':
+    (Var("chromium_git")) + '/external/snappy.git@762bb32f0c9d2f31ba4958c7c0933d22e80c20bf',
+  'src/third_party/usrsctp/usrsctplib':
+    (Var("chromium_git")) + '/external/github.com/sctplab/usrsctp@c60ec8b35c3fe6027d7a3faae89d1c8d7dd3ce98',
+  'src/third_party/webdriver/pylib':
+    (Var("chromium_git")) + '/external/selenium/py.git@5fd78261a75fe08d27ca4835fb6c5ce4b42275bd',
+  'src/third_party/webgl/src':
+    (Var("chromium_git")) + '/external/khronosgroup/webgl.git@1012e1f8baea808f3bc9fcef945d66b5f740c32b',
+  'src/third_party/webpagereplay':
+    (Var("chromium_git")) + '/external/github.com/chromium/web-page-replay.git@7564939bdf6482d57b9bd5e9c931679f96d8cf75',
+# TODO(terry): below directory to enlist temporary commented out to explicitly pull in src/third_party/webrtc
+#              at SHA commit 256ade59023c75dcf2135a4d99a371c09d07e0fe (need to revert src checkin
+#              https://codereview.chromium.org/2741183002 then uncomment below 2 lines and remove rest
+#              of comments below those 2 lines.
+#  'src/third_party/webrtc':
+#    (Var("chromium_git")) + '/external/webrtc/trunk/webrtc.git@256ade59023c75dcf2135a4d99a371c09d07e0fe',
+# TODO(terry): Above is correct commit - below is a commit that exists on the mirrors.
+#
+#              To work around comment the above SHA and enable the below SHA
+#              do a gclient sync then after that do this:
+#
+#              > git fetch origin refs/branch-heads/50
+#              > git checkout -b webrtc_roll_50 256ade59023c75dcf2135a4d99a371c09d07e0
+#
+#              then comment the below SHA and enable the above SHA line.
+#
+#              then gclient sync again, everything will now work locally.
+#
+#    (Var("chromium_git")) + '/external/webrtc/trunk/webrtc.git@780d506ddf7bcba4a3dc04cfe2240c1ae80880f2',
+  'src/third_party/yasm/source/patched-yasm':
+    (Var("chromium_git")) + '/chromium/deps/yasm/patched-yasm.git@7da28c6c7c6a1387217352ce02b31754deb54d2a',
+  'src/tools/gyp':
+    (Var("chromium_git")) + '/external/gyp.git@ed163ce233f76a950dce1751ac851dbe4b1c00cc',
+  'src/tools/page_cycler/acid3':
+    (Var("chromium_git")) + '/chromium/deps/acid3.git@6be0a66a1ebd7ebc5abc1b2f405a945f6d871521',
+  'src/tools/swarming_client':
+    (Var("chromium_git")) + '/external/swarming.client.git@a72f46e42dba1335e8001499b4621acad2d26728',
+  'src/v8':
+    (Var("chromium_git")) + '/v8/v8.git@45a71919836046560ba8eb349eaf9172857ffe6f',
+
+  # Start of Dartium specific deps
+
   "src":
     Var("chromium_git") + "/dart/dartium/src.git" + "@" +
         Var("dartium_chromium_commit"),
@@ -173,52 +358,596 @@
   "src/dart/third_party/zlib":
       Var("chromium_git") + "/chromium/src/third_party/zlib.git" +
       Var("zlib_rev"),
-})
 
-deps_os['win'].update({
-  "src/chrome/tools/test/reference_build/chrome_win": None
-})
-deps_os['mac'].update({
-  "src/chrome/tools/test/reference_build/chrome_mac": None
-})
-deps_os['unix'].update({
-  "src/chrome/tools/test/reference_build/chrome_linux": None
-})
+  # End of Dartium deps
+}
+deps_os = {
+  'android': {
+    'src/third_party/android_protobuf/src':
+      (Var("chromium_git")) + '/external/android_protobuf.git@999188d0dc72e97f7fe08bb756958a2cf090f4e7',
+    'src/third_party/android_tools':
+      (Var("chromium_git")) + '/android_tools.git@f4c36ad89b2696b37d9cd7ca7d984b691888b188',
+    'src/third_party/apache-mime4j':
+      (Var("chromium_git")) + '/chromium/deps/apache-mime4j.git@28cb1108bff4b6cf0a2e86ff58b3d025934ebe3a',
+    'src/third_party/apache-portable-runtime/src':
+      (Var("chromium_git")) + '/external/apache-portable-runtime.git@c76a8c4277e09a82eaa229e35246edea1ee0a6a1',
+    'src/third_party/appurify-python/src':
+      (Var("chromium_git")) + '/external/github.com/appurify/appurify-python.git@ee7abd5c5ae3106f72b2a0b9d2cb55094688e867',
+    'src/third_party/cardboard-java/src':
+      (Var("chromium_git")) + '/external/github.com/googlesamples/cardboard-java.git@e36ee57e72bbd057ddb53b127954177b50e18df7',
+    'src/third_party/custom_tabs_client/src':
+      (Var("chromium_git")) + '/external/github.com/GoogleChrome/custom-tabs-client.git@8ae46d26e739899d2e35f462beeb20e9c194d0ab',
+    'src/third_party/elfutils/src':
+      (Var("chromium_git")) + '/external/elfutils.git@249673729a7e5dbd5de4f3760bdcaa3d23d154d7',
+    'src/third_party/errorprone/lib':
+      (Var("chromium_git")) + '/chromium/third_party/errorprone.git@0eea83b66343133b9c76b7d3288c30321818ebcf',
+    'src/third_party/findbugs':
+      (Var("chromium_git")) + '/chromium/deps/findbugs.git@57f05238d3ac77ea0a194813d3065dd780c6e566',
+    'src/third_party/freetype-android/src':
+      (Var("chromium_git")) + '/chromium/src/third_party/freetype2.git@a512b0fe7a8d9db0e5aa9c0a4db1e92cb861722d',
+    'src/third_party/httpcomponents-client':
+      (Var("chromium_git")) + '/chromium/deps/httpcomponents-client.git@285c4dafc5de0e853fa845dce5773e223219601c',
+    'src/third_party/httpcomponents-core':
+      (Var("chromium_git")) + '/chromium/deps/httpcomponents-core.git@9f7180a96f8fa5cab23f793c14b413356d419e62',
+    'src/third_party/jarjar':
+      (Var("chromium_git")) + '/chromium/deps/jarjar.git@2e1ead4c68c450e0b77fe49e3f9137842b8b6920',
+    'src/third_party/jsr-305/src':
+      (Var("chromium_git")) + '/external/jsr-305.git@642c508235471f7220af6d5df2d3210e3bfc0919',
+    'src/third_party/junit/src':
+      (Var("chromium_git")) + '/external/junit.git@45a44647e7306262162e1346b750c3209019f2e1',
+    'src/third_party/leakcanary/src':
+      (Var("chromium_git")) + '/external/github.com/square/leakcanary.git@608ded739e036a3aa69db47ac43777dcee506f8e',
+    'src/third_party/lss':
+      (Var("chromium_git")) + '/external/linux-syscall-support/lss.git@4fc942258fe5509549333b9487ec018e3c8c5b10',
+    'src/third_party/mockito/src':
+      (Var("chromium_git")) + '/external/mockito/mockito.git@4d987dcd923b81525c42b1333e6c4e07440776c3',
+    'src/third_party/netty-tcnative/src':
+      (Var("chromium_git")) + '/external/netty-tcnative.git@12d01332921695e974175870175eb14a889313a1',
+    'src/third_party/netty4/src':
+      (Var("chromium_git")) + '/external/netty4.git@e0f26303b4ce635365be19414d0ac81f2ef6ba3c',
+    'src/third_party/requests/src':
+      (Var("chromium_git")) + '/external/github.com/kennethreitz/requests.git@f172b30356d821d180fa4ecfa3e71c7274a32de4',
+    'src/third_party/robolectric/lib':
+      (Var("chromium_git")) + '/chromium/third_party/robolectric.git@6b63c99a8b6967acdb42cbed0adb067c80efc810',
+    'src/third_party/ub-uiautomator/lib':
+      (Var("chromium_git")) + '/chromium/third_party/ub-uiautomator.git@00270549ce3161ae72ceb24712618ea28b4f9434'
+  },
+  'ios': {
+    'src/chrome/test/data/perf/canvas_bench': None,
+    'src/chrome/test/data/perf/frame_rate/content': None,
+    'src/ios/third_party/fishhook/src':
+      (Var("chromium_git")) + '/external/github.com/facebook/fishhook.git@d172d5247aa590c25d0b1885448bae76036ea22c',
+    'src/ios/third_party/gcdwebserver/src':
+      (Var("chromium_git")) + '/external/github.com/swisspol/GCDWebServer.git@3d5fd0b8281a7224c057deb2d17709b5bea64836',
+    'src/ios/third_party/ochamcrest/src':
+      (Var("chromium_git")) + '/external/github.com/hamcrest/OCHamcrest.git@5b50930c66d1e537918a87eef0943d6750729dc5',
+    'src/native_client': None,
+    'src/third_party/class-dump/src':
+      (Var("chromium_git")) + '/external/github.com/nygard/class-dump.git@978d177ca6f0d2e5e34acf3e8dadc63e3140ebbc',
+    'src/third_party/ffmpeg': None,
+    'src/third_party/google_toolbox_for_mac/src':
+      (Var("chromium_git")) + '/external/github.com/google/google-toolbox-for-mac.git@401878398253074c515c03cb3a3f8bb0cc8da6e9',
+    'src/third_party/hunspell_dictionaries': None,
+    'src/third_party/nss':
+      (Var("chromium_git")) + '/chromium/deps/nss.git@225bfc39c93dfb7c7d0d1162f81e9bb5cd356c30',
+    'src/third_party/webgl': None
+  },
+  'mac': {
+    'src/chrome/installer/mac/third_party/xz/xz':
+      (Var("chromium_git")) + '/chromium/deps/xz.git@eecaf55632ca72e90eb2641376bce7cdbc7284f7',
 
-hooks[0:0] = [{
-    "pattern": "dart",
-    "action": ["python", "src/dart/tools/dartium/generate_dart_vm_version.py"],
-  }]
+    # Dartium deps_os
+    'src/chrome/tools/test/reference_build/chrome_mac': None,
 
-hooks.append({
-  "name": "checked_in_dart_sdks",
-  "pattern": ".",
-  "action": [
-    "download_from_google_storage",
-    "--no_auth",
-    "--no_resume",
-    "--bucket",
-    "dart-dependencies",
-    "--recursive",
-    "--auto_platform",
-    "--extract",
-    "--directory",
-    "src/dart/tools/sdks",
-  ],
-})
-hooks.append({
-  "name": "unittest",
-  # Unittest is an early version, 0.11.6, of the package "test"
-  # Do not use it in any new tests.
-  "pattern": ".",
-  "action": [
-    "download_from_google_storage",
-    "--no_auth",
-    "--no_resume",
-    "--bucket",
-    "dart-dependencies",
-    "--extract",
-    "-s",
-    "src/dart/third_party/pkg/unittest.tar.gz.sha1",
-  ],
-})
+    'src/third_party/google_toolbox_for_mac/src':
+      (Var("chromium_git")) + '/external/github.com/google/google-toolbox-for-mac.git@401878398253074c515c03cb3a3f8bb0cc8da6e9',
+    'src/third_party/lighttpd':
+      (Var("chromium_git")) + '/chromium/deps/lighttpd.git@9dfa55d15937a688a92cbf2b7a8621b0927d06eb',
+    'src/third_party/nss':
+      (Var("chromium_git")) + '/chromium/deps/nss.git@225bfc39c93dfb7c7d0d1162f81e9bb5cd356c30',
+    'src/third_party/pdfsqueeze':
+      (Var("chromium_git")) + '/external/pdfsqueeze.git@5936b871e6a087b7e50d4cbcb122378d8a07499f'
+  },
+  'unix': {
+    # Dartium deps_os
+    'src/chrome/tools/test/reference_build/chrome_linux': None,
+
+    'src/third_party/chromite':
+      (Var("chromium_git")) + '/chromiumos/chromite.git@e19f83ba227bf1ec0077f5d3a816a415f1dd88d0',
+    'src/third_party/cros_system_api':
+      (Var("chromium_git")) + '/chromiumos/platform/system_api.git@7d0047203cf4263940e92d50b0725d0faf4d9281',
+    'src/third_party/deqp/src':
+      'https://android.googlesource.com/platform/external/deqp@cc0ded6c77267bbb14d21aac358fc5d9690c07f8',
+    'src/third_party/fontconfig/src':
+      (Var("chromium_git")) + '/external/fontconfig.git@f16c3118e25546c1b749f9823c51827a60aeb5c1',
+    'src/third_party/freetype-android/src':
+      (Var("chromium_git")) + '/chromium/src/third_party/freetype2.git@a512b0fe7a8d9db0e5aa9c0a4db1e92cb861722d',
+    'src/third_party/freetype2/src':
+      (Var("chromium_git")) + '/chromium/src/third_party/freetype2.git@fc1532a7c4c592f24a4c1a0261d2845524ca5cff',
+    'src/third_party/liblouis/src':
+      (Var("chromium_git")) + '/external/liblouis-github.git@5f9c03f2a3478561deb6ae4798175094be8a26c2',
+    'src/third_party/lss':
+      (Var("chromium_git")) + '/external/linux-syscall-support/lss.git@4fc942258fe5509549333b9487ec018e3c8c5b10',
+    'src/third_party/minigbm/src':
+      (Var("chromium_git")) + '/chromiumos/platform/minigbm.git@f9d2ab79a15a1bb6a1307f3b608964c81c27791b',
+    'src/third_party/pyelftools':
+      (Var("chromium_git")) + '/chromiumos/third_party/pyelftools.git@bdc1d380acd88d4bfaf47265008091483b0d614e',
+    'src/third_party/wayland-protocols/src':
+      (Var("chromium_git")) + '/external/anongit.freedesktop.org/git/wayland/wayland-protocols.git@596dfda882a51c05699bcb28a8459ce936a138db',
+    'src/third_party/wayland/src':
+      (Var("chromium_git")) + '/external/anongit.freedesktop.org/git/wayland/wayland.git@7ed00c1de77afbab23f4908fbd9d60ec070c209b',
+    'src/third_party/wds/src':
+      (Var("chromium_git")) + '/external/github.com/01org/wds@f187dda5fccaad08e168dc6657109325f42c648e',
+    'src/third_party/xdg-utils':
+      (Var("chromium_git")) + '/chromium/deps/xdg-utils.git@d80274d5869b17b8c9067a1022e4416ee7ed5e0d'
+  },
+  'win': {
+    # Dartium deps_os
+    'src/chrome/tools/test/reference_build/chrome_win': None,
+
+    'src/third_party/bison':
+      (Var("chromium_git")) + '/chromium/deps/bison.git@083c9a45e4affdd5464ee2b224c2df649c6e26c3',
+    'src/third_party/cygwin':
+      (Var("chromium_git")) + '/chromium/deps/cygwin.git@c89e446b273697fadf3a10ff1007a97c0b7de6df',
+    'src/third_party/deqp/src':
+      'https://android.googlesource.com/platform/external/deqp@cc0ded6c77267bbb14d21aac358fc5d9690c07f8',
+    'src/third_party/gnu_binutils':
+      (Var("chromium_git")) + '/native_client/deps/third_party/gnu_binutils.git@f4003433b61b25666565690caf3d7a7a1a4ec436',
+    'src/third_party/gperf':
+      (Var("chromium_git")) + '/chromium/deps/gperf.git@d892d79f64f9449770443fb06da49b5a1e5d33c1',
+    'src/third_party/lighttpd':
+      (Var("chromium_git")) + '/chromium/deps/lighttpd.git@9dfa55d15937a688a92cbf2b7a8621b0927d06eb',
+    'src/third_party/mingw-w64/mingw/bin':
+      (Var("chromium_git")) + '/native_client/deps/third_party/mingw-w64/mingw/bin.git@3cc8b140b883a9fe4986d12cfd46c16a093d3527',
+    'src/third_party/nacl_sdk_binaries':
+      (Var("chromium_git")) + '/chromium/deps/nacl_sdk_binaries.git@759dfca03bdc774da7ecbf974f6e2b84f43699a5',
+    'src/third_party/nss':
+      (Var("chromium_git")) + '/chromium/deps/nss.git@225bfc39c93dfb7c7d0d1162f81e9bb5cd356c30',
+    'src/third_party/pefile':
+      (Var("chromium_git")) + '/external/pefile.git@72c6ae42396cb913bcab63c15585dc3b5c3f92f1',
+    'src/third_party/perl':
+      (Var("chromium_git")) + '/chromium/deps/perl.git@ac0d98b5cee6c024b0cffeb4f8f45b6fc5ccdb78',
+    'src/third_party/psyco_win32':
+      (Var("chromium_git")) + '/chromium/deps/psyco_win32.git@f5af9f6910ee5a8075bbaeed0591469f1661d868',
+    'src/third_party/yasm/binaries':
+      (Var("chromium_git")) + '/chromium/deps/yasm/binaries.git@52f9b3f4b0aa06da24ef8b123058bb61ee468881'
+  }
+}
+hooks = [
+  {
+    # Dartium hooks start
+    'action': ['python', 'src/dart/tools/dartium/generate_dart_vm_version.py'],
+    'pattern': 'dart',
+    # Dartium hooks end
+    'name':
+      'landmines'
+  },
+  {
+    'action': [
+      'python',
+      'src/build/download_nacl_toolchains.py',
+      '--mode',
+      'nacl_core_sdk',
+      'sync',
+      '--extract'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'nacltools'
+  },
+  {
+    'action': [
+      'python',
+      'src/build/android/play_services/update.py',
+      'download'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'sdkextras'
+  },
+  {
+    'action': [
+      'python',
+      'src/build/linux/sysroot_scripts/install-sysroot.py',
+      '--running-as-hook'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'sysroot'
+  },
+  {
+    'action': [
+      'python',
+      'src/build/vs_toolchain.py',
+      'update'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'win_toolchain'
+  },
+  {
+    'action': [
+      'python',
+      'src/third_party/binutils/download.py'
+    ],
+    'pattern':
+      'src/third_party/binutils',
+    'name':
+      'binutils'
+  },
+  {
+    'action': [
+      'python',
+      'src/tools/clang/scripts/update.py',
+      '--if-needed'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'clang'
+  },
+  {
+    'action': [
+      'python',
+      'src/build/util/lastchange.py',
+      '-o',
+      'src/build/util/LASTCHANGE'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'lastchange'
+  },
+  {
+    'action': [
+      'python',
+      'src/build/util/lastchange.py',
+      '--git-hash-only',
+      '-s',
+      'src/third_party/WebKit',
+      '-o',
+      'src/build/util/LASTCHANGE.blink'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'lastchange_blink'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=win32',
+      '--no_auth',
+      '--bucket',
+      'chromium-gn',
+      '-s',
+      'src/buildtools/win/gn.exe.sha1'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'gn_win'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=darwin',
+      '--no_auth',
+      '--bucket',
+      'chromium-gn',
+      '-s',
+      'src/buildtools/mac/gn.sha1'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'gn_mac'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=linux*',
+      '--no_auth',
+      '--bucket',
+      'chromium-gn',
+      '-s',
+      'src/buildtools/linux64/gn.sha1'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'gn_linux64'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=win32',
+      '--no_auth',
+      '--bucket',
+      'chromium-clang-format',
+      '-s',
+      'src/buildtools/win/clang-format.exe.sha1'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'clang_format_win'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=darwin',
+      '--no_auth',
+      '--bucket',
+      'chromium-clang-format',
+      '-s',
+      'src/buildtools/mac/clang-format.sha1'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'clang_format_mac'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=linux*',
+      '--no_auth',
+      '--bucket',
+      'chromium-clang-format',
+      '-s',
+      'src/buildtools/linux64/clang-format.sha1'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'clang_format_linux'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=darwin',
+      '--no_auth',
+      '--bucket',
+      'chromium-libcpp',
+      '-s',
+      'src/third_party/libc++-static/libc++.a.sha1'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'libcpp_mac'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=win32',
+      '--no_auth',
+      '--bucket',
+      'chromium-luci',
+      '-d',
+      'src/tools/luci-go/win64'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'luci-go_win'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=darwin',
+      '--no_auth',
+      '--bucket',
+      'chromium-luci',
+      '-d',
+      'src/tools/luci-go/mac64'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'luci-go_mac'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=linux*',
+      '--no_auth',
+      '--bucket',
+      'chromium-luci',
+      '-d',
+      'src/tools/luci-go/linux64'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'luci-go_linux'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=linux*',
+      '--no_auth',
+      '--bucket',
+      'chromium-eu-strip',
+      '-s',
+      'src/build/linux/bin/eu-strip.sha1'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'eu-strip'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=win32',
+      '--no_auth',
+      '--bucket',
+      'chromium-drmemory',
+      '-s',
+      'src/third_party/drmemory/drmemory-windows-sfx.exe.sha1'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'drmemory'
+  },
+  {
+    'action': [
+      'python',
+      'src/build/get_syzygy_binaries.py',
+      '--output-dir=src/third_party/syzygy/binaries',
+      '--revision=2d774f05a05cbc2f0dd929170c7a62fd549b2c5f',
+      '--overwrite'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'syzygy-binaries'
+  },
+  {
+    'action': [
+      'python',
+      'src/build/get_syzygy_binaries.py',
+      '--output-dir=src/third_party/kasko/binaries',
+      '--revision=266a18d9209be5ca5c5dcd0620942b82a2d238f3',
+      '--resource=kasko.zip',
+      '--resource=kasko_symbols.zip',
+      '--overwrite'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'kasko'
+  },
+  {
+    'action': [
+      'download_from_google_storage',
+      '--no_resume',
+      '--platform=win32',
+      '--directory',
+      '--recursive',
+      '--no_auth',
+      '--num_threads=16',
+      '--bucket',
+      'chromium-apache-win32',
+      'src/third_party/apache-win32'
+    ],
+    'pattern':
+      '\\.sha1',
+    'name':
+      'apache_win32'
+  },
+  {
+    'action': [
+      'python',
+      'src/third_party/instrumented_libraries/scripts/download_binaries.py'
+    ],
+    'pattern':
+      '\\.sha1',
+    'name':
+      'instrumented_libraries'
+  },
+  {
+    'action': [
+      'python',
+      'src/tools/remove_stale_pyc_files.py',
+      'src/android_webview/tools',
+      'src/gpu/gles2_conform_support',
+      'src/infra',
+      'src/ppapi',
+      'src/printing',
+      'src/third_party/closure_compiler/build',
+      'src/tools'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'remove_stale_pyc_files'
+  },
+  {
+    'action': [
+      'python',
+      'src/build/gyp_chromium'
+    ],
+    'pattern':
+      '.',
+    'name':
+      'gyp'
+  },
+
+  # Dartium hooks start
+  {
+    "name": "checked_in_dart_sdks",
+    "pattern": ".",
+    "action": [
+      "download_from_google_storage",
+      "--no_auth",
+      "--no_resume",
+      "--bucket",
+      "dart-dependencies",
+      "--recursive",
+      "--auto_platform",
+      "--extract",
+      "--directory",
+      "src/dart/tools/sdks",
+    ],
+  },
+  {
+    "name": "unittest",
+    # Unittest is an early version, 0.11.6, of the package "test"
+    # Do not use it in any new tests.
+    "pattern": ".",
+    "action": [
+      "download_from_google_storage",
+      "--no_auth",
+      "--no_resume",
+      "--bucket",
+      "dart-dependencies",
+      "--extract",
+      "-s",
+      "src/dart/third_party/pkg/unittest.tar.gz.sha1",
+    ],
+  }
+
+  # Dartium hooks end
+]
+include_rules = [
+  '+base',
+  '+build',
+  '+ipc',
+  '+library_loaders',
+  '+testing',
+  '+third_party/icu/source/common/unicode',
+  '+third_party/icu/source/i18n/unicode',
+  '+url'
+]
+skip_child_includes = [
+  'breakpad',
+  'native_client_sdk',
+  'out',
+  'sdch',
+  'skia',
+  'testing',
+  'v8',
+  'win8'
+]
+
+# END OF IMPORTED CHROMIUM DEPS
diff --git a/tools/dom/templates/html/dartium/impl_MouseEvent.darttemplate b/tools/dom/templates/html/dartium/impl_MouseEvent.darttemplate
index cc263cf..a091220 100644
--- a/tools/dom/templates/html/dartium/impl_MouseEvent.darttemplate
+++ b/tools/dom/templates/html/dartium/impl_MouseEvent.darttemplate
@@ -74,6 +74,6 @@
   Point get page => new Point/*<num>*/(_pageX, _pageY);
 
   @DomName('MouseEvent.dataTransfer')
-  DataTransfer get dataTransfer => js.JsNative.getProperty(js.context, 'dataTransfer');
+  DataTransfer get dataTransfer => js.JsNative.getProperty(this, 'dataTransfer');
 
 }