Stop using bazel to build and test library. (#147)

* Stop using bazel to build and test library.

- Refactor tests to use interface libraries.
- Re-enable html tests.

* Update travis.yml.

* Fix travis.sh script.

* Add travis-setup script.

* Set script to be executable.

* Disable most html tests (they are not working).
diff --git a/.travis.yml b/.travis.yml
index ba507ad..f7d6b1a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,16 +1,31 @@
-dist: trusty
 language: dart
-addons:
-  apt:
-    sources:
-      - ubuntu-toolchain-r-test
-    packages:
-      - wget
-      - pkg-config
+sudo: false
+
+dart:
+  - dev
+  - stable
+
+with_content_shell: true
+
+matrix:
+  allow_failures:
+    - dart: dev
 
 before_install:
-  - wget https://github.com/bazelbuild/bazel/releases/download/0.4.3/bazel_0.4.3-linux-x86_64.deb
-  - sudo dpkg -i bazel_0.4.3-linux-x86_64.deb
+  - export CHROMEDRIVER_BINARY=/usr/bin/chromium-browser
+  - export CHROMEDRIVER_ARGS=--no-sandbox
+  - /usr/bin/chromium-browser --version
+
+  - export DISPLAY=:99.0
+  - sh -e /etc/init.d/xvfb start
+
+before_script:
+# We use a slightly older version of chromedriver; the newer ones require a later
+# version of chromium than is available on travis by default.
+  - wget http://chromedriver.storage.googleapis.com/2.12/chromedriver_linux64.zip
+  - unzip chromedriver_linux64.zip
+  - export PATH=$PATH:$PWD
+  - ./tool/travis-setup.sh
 
 script:
-  - bazel test --test_output=streamed --keep_going ...
+  - ./tool/travis.sh
diff --git a/BUILD b/BUILD
deleted file mode 100644
index 7b04a60..0000000
--- a/BUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-load("@io_bazel_rules_dart//dart/build_rules:vm.bzl", "dart_vm_test")
-
-licenses(["notice"])  # Apache (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "webdriver",
-    srcs = glob(["lib/**"]),
-    enable_ddc = False,
-    license_files = ["LICENSE"],
-    pub_pkg_name = "webdriver",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_archive//:archive",
-        "@org_dartlang_pub_matcher//:matcher",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_stack_trace//:stack_trace",
-        "@org_dartlang_pub_unittest//:unittest",
-    ],
-)
-
-# Test BUILD rules are defined test/BUILD instead of here to prevent cyclic
-# dependency between this and rules_webtesting.
diff --git a/WORKSPACE b/WORKSPACE
deleted file mode 100644
index c219585..0000000
--- a/WORKSPACE
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-workspace(name = "com_github_google_webdriver_dart")
-
-http_archive(
-    name = "io_bazel_rules_dart",
-    sha256 = "db80bb1dd03485c959424dba8ea1aa4014fa0dbd22d57b069d14e5647f98b04e",
-    strip_prefix = "rules_dart-66d7cd37696b6ee2397e8075da3c6d90812b65ba",
-    url = "https://github.com/dart-lang/rules_dart/archive/66d7cd37696b6ee2397e8075da3c6d90812b65ba.tar.gz",
-)
-
-load("@io_bazel_rules_dart//dart/build_rules:repositories.bzl", "dart_repositories")
-
-dart_repositories()
-
-http_archive(
-    name = "io_bazel_rules_go",
-    sha256 = "0c0ec7b9c7935883cbfb2df48fbf524e857859a5c05ae1b24d5442956e6bb5e8",
-    strip_prefix = "rules_go-0.2.0",
-    url = "https://github.com/bazelbuild/rules_go/archive/0.2.0.tar.gz",
-)
-
-load("@io_bazel_rules_go//go:def.bzl", "go_repositories")
-
-go_repositories()
-
-http_archive(
-    name = "io_bazel_rules_webtesting",
-    sha256 = "602bd1fd4e2b756baa636c3815ef6686c111b3e30eab534c0fc84e6c8c9a14c3",    
-    strip_prefix = "rules_webtesting-b875457028e38511d76e067378dacc1ffcb6c75b",
-    url = "https://github.com/bazelbuild/rules_webtesting/archive/b875457028e38511d76e067378dacc1ffcb6c75b.tar.gz",
-)
-
-load("@io_bazel_rules_webtesting//web:repositories.bzl", "web_test_repositories")
-
-web_test_repositories()
-
-load(":repositories.bzl", "webdriver_dart_repositories")
-
-webdriver_dart_repositories()
-
-http_file(
-    name = "org_chromium_chromedriver",
-    sha256 = "d011749e76305b5591b5500897939b33fac460d705d9815b8c03c53b0e1ecc7c",
-    url = " http://chromedriver.storage.googleapis.com/2.25/chromedriver_linux64.zip",
-)
-
-http_file(
-    name = "org_chromium_chromium",
-    sha256 = "e3c99954d6acce013174053534b72f47f67f18a0d75f79c794daaa8dd2ae8aaf",
-    url = "https://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_x64/423768/chrome-linux.zip",
-)
diff --git a/_generate_io_tests.bzl b/_generate_io_tests.bzl
deleted file mode 100644
index 90745d9..0000000
--- a/_generate_io_tests.bzl
+++ /dev/null
@@ -1,39 +0,0 @@
-IN_EXTENSION = ".dart"
-OUT_EXTENSION = ".io.dart"
-
-def _change_extension(path):
-  return "%s%s" % (path[:-1 * len(IN_EXTENSION)], OUT_EXTENSION)
-
-def _compute_outs(srcs):
-  outs = {}
-  for label in srcs:
-    if label.name.endswith(IN_EXTENSION):
-      out_name = _change_extension(label.name)
-      outs[out_name] = out_name
-  return outs
-
-def _generate_io_tests_impl(ctx):
-  """Rewrites tests to replace dart_util imports with io_dart_util"""
-  outs = []
-  for src in ctx.files.srcs:
-    path = src.basename
-    if path.endswith(IN_EXTENSION):
-      out_name = _change_extension(path)
-      out_file = ctx.new_file(src, out_name)
-      outs.append(out_file)
-      ctx.template_action(
-          output = out_file,
-          template = src,
-          substitutions = {
-              "test_util.dart": "io_test_util.dart",
-          }
-      )
-  return struct(files=set(outs))
-
-generate_io_tests = rule(
-    attrs = {
-        "srcs": attr.label_list(allow_files=True),
-    },
-    outputs = _compute_outs,
-    implementation = _generate_io_tests_impl,
-)
diff --git a/.analysis_options b/analysis_options.yaml
similarity index 100%
rename from .analysis_options
rename to analysis_options.yaml
diff --git a/browsers/BUILD b/browsers/BUILD
deleted file mode 100644
index c120d3d..0000000
--- a/browsers/BUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2016 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-package(default_testonly = True)
-
-load("@io_bazel_rules_webtesting//web:web.bzl", "browser")
-
-licenses(["notice"])  # Apache 2.0
-
-browser(
-    name = "chromium-native",
-    metadata = "chromium-native.json",
-    required_tags = ["local"],
-    visibility = ["//visibility:public"],
-    deps = [
-        "//third_party/chromedriver",
-        "//third_party/chromium",
-    ],
-)
diff --git a/browsers/chromium-native.json b/browsers/chromium-native.json
deleted file mode 100644
index 20d9a0d..0000000
--- a/browsers/chromium-native.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "environment" : "chrome", 
-  "capabilities" : {
-    "browserName" : "chrome", 
-    "chromeOptions" : {
-      "args" : ["--no-sandbox"], 
-      "binary" : "%CHROME%"
-    }
-  }
-}
diff --git a/build_files/analyzer.BUILD b/build_files/analyzer.BUILD
deleted file mode 100644
index aaebcc1..0000000
--- a/build_files/analyzer.BUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "analyzer",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "analyzer",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_args//:args",
-        "@org_dartlang_pub_charcode//:charcode",
-        "@org_dartlang_pub_crypto//:crypto",
-        "@org_dartlang_pub_glob//:glob",
-        "@org_dartlang_pub_html//:html",
-        "@org_dartlang_pub_isolate//:isolate",
-        "@org_dartlang_pub_meta//:meta",
-        "@org_dartlang_pub_package_config//:package_config",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_plugin//:plugin",
-        "@org_dartlang_pub_watcher//:watcher",
-        "@org_dartlang_pub_yaml//:yaml",
-    ],
-)
diff --git a/build_files/archive.BUILD b/build_files/archive.BUILD
deleted file mode 100644
index f2362e3..0000000
--- a/build_files/archive.BUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-load("@io_bazel_rules_dart//dart/build_rules:vm.bzl", "dart_vm_binary")
-
-licenses(["notice"])  # Apache 2.0
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "archive",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "archive",
-    visibility = ["//visibility:public"],
-    deps = ["@org_dartlang_pub_crypto//:crypto"],
-)
-
-dart_vm_binary(
-    name = "tar",
-    srcs = glob(["bin/**"]),
-    script_file = "bin/tar.dart",
-    deps = [
-        ":archive",
-        "@org_dartlang_pub_crypto//:crypto",
-    ],
-)
diff --git a/build_files/args.BUILD b/build_files/args.BUILD
deleted file mode 100644
index a9908d1..0000000
--- a/build_files/args.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "args",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "args",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/async.BUILD b/build_files/async.BUILD
deleted file mode 100644
index 76b6652..0000000
--- a/build_files/async.BUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "async",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "async",
-    visibility = ["//visibility:public"],
-    deps = ["@org_dartlang_pub_collection//:collection"],
-)
diff --git a/build_files/barback.BUILD b/build_files/barback.BUILD
deleted file mode 100644
index d5fac6d..0000000
--- a/build_files/barback.BUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "barback",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "barback",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_pool//:pool",
-        "@org_dartlang_pub_source_span//:source_span",
-        "@org_dartlang_pub_stack_trace//:stack_trace",
-    ],
-)
diff --git a/build_files/boolean_selector.BUILD b/build_files/boolean_selector.BUILD
deleted file mode 100644
index e616e52..0000000
--- a/build_files/boolean_selector.BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "boolean_selector",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "boolean_selector",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_source_span//:source_span",
-        "@org_dartlang_pub_string_scanner//:string_scanner",
-    ],
-)
diff --git a/build_files/charcode.BUILD b/build_files/charcode.BUILD
deleted file mode 100644
index 3e33f52..0000000
--- a/build_files/charcode.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "charcode",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "charcode",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/collection.BUILD b/build_files/collection.BUILD
deleted file mode 100644
index bdc41a8..0000000
--- a/build_files/collection.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "collection",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "collection",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/convert.BUILD b/build_files/convert.BUILD
deleted file mode 100644
index 502b344..0000000
--- a/build_files/convert.BUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "convert",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "convert",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_charcode//:charcode",
-        "@org_dartlang_pub_typed_data//:typed_data",
-    ],
-)
diff --git a/build_files/crypto.BUILD b/build_files/crypto.BUILD
deleted file mode 100644
index 76c2098..0000000
--- a/build_files/crypto.BUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "crypto",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "crypto",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_convert//:convert",
-    ],
-)
diff --git a/build_files/csslib.BUILD b/build_files/csslib.BUILD
deleted file mode 100644
index d88f5d4..0000000
--- a/build_files/csslib.BUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-load("@io_bazel_rules_dart//dart/build_rules:vm.bzl", "dart_vm_binary")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "csslib",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "csslib",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_args//:args",
-        "@org_dartlang_pub_logging//:logging",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_source_span//:source_span",
-    ],
-)
-
-dart_vm_binary(
-    name = "css",
-    srcs = glob(["bin/**"]),
-    script_file = "bin/css.dart",
-    deps = [
-        ":csslib",
-        "@org_dartlang_pub_args//:args",
-        "@org_dartlang_pub_logging//:logging",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_source_span//:source_span",
-    ],
-)
diff --git a/build_files/glob.BUILD b/build_files/glob.BUILD
deleted file mode 100644
index 8e427e4..0000000
--- a/build_files/glob.BUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "glob",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "glob",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_string_scanner//:string_scanner",
-    ],
-)
diff --git a/build_files/html.BUILD b/build_files/html.BUILD
deleted file mode 100644
index 2620470..0000000
--- a/build_files/html.BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # MIT (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "html",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "html",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_csslib//:csslib",
-        "@org_dartlang_pub_source_span//:source_span",
-        "@org_dartlang_pub_utf//:utf",
-    ],
-)
diff --git a/build_files/http.BUILD b/build_files/http.BUILD
deleted file mode 100644
index 9f4a970..0000000
--- a/build_files/http.BUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "http",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "http",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_http_parser//:http_parser",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_stack_trace//:stack_trace",
-    ],
-)
diff --git a/build_files/http_multi_server.BUILD b/build_files/http_multi_server.BUILD
deleted file mode 100644
index b2f0829..0000000
--- a/build_files/http_multi_server.BUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "http_multi_server",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "http_multi_server",
-    visibility = ["//visibility:public"],
-    deps = ["@org_dartlang_pub_async//:async"],
-)
diff --git a/build_files/http_parser.BUILD b/build_files/http_parser.BUILD
deleted file mode 100644
index e648c37..0000000
--- a/build_files/http_parser.BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "http_parser",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "http_parser",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_source_span//:source_span",
-        "@org_dartlang_pub_string_scanner//:string_scanner",
-    ],
-)
diff --git a/build_files/isolate.BUILD b/build_files/isolate.BUILD
deleted file mode 100644
index 270e717..0000000
--- a/build_files/isolate.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "isolate",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "isolate",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/logging.BUILD b/build_files/logging.BUILD
deleted file mode 100644
index ae4eff8..0000000
--- a/build_files/logging.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "logging",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "logging",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/matcher.BUILD b/build_files/matcher.BUILD
deleted file mode 100644
index 58f588f..0000000
--- a/build_files/matcher.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "matcher",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "matcher",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/meta.BUILD b/build_files/meta.BUILD
deleted file mode 100644
index 188abf9..0000000
--- a/build_files/meta.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "meta",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "meta",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/mime.BUILD b/build_files/mime.BUILD
deleted file mode 100644
index c4589c8..0000000
--- a/build_files/mime.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "mime",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "mime",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/package_config.BUILD b/build_files/package_config.BUILD
deleted file mode 100644
index df7ee0d..0000000
--- a/build_files/package_config.BUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "package_config",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "package_config",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_charcode//:charcode",
-        "@org_dartlang_pub_path//:path",
-    ],
-)
diff --git a/build_files/package_resolver.BUILD b/build_files/package_resolver.BUILD
deleted file mode 100644
index 1bd389e..0000000
--- a/build_files/package_resolver.BUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "package_resolver",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "package_resolver",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_http//:http",
-        "@org_dartlang_pub_package_config//:package_config",
-        "@org_dartlang_pub_path//:path",
-    ],
-)
diff --git a/build_files/path.BUILD b/build_files/path.BUILD
deleted file mode 100644
index 5c1ad63..0000000
--- a/build_files/path.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "path",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "path",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/plugin.BUILD b/build_files/plugin.BUILD
deleted file mode 100644
index f134fd8..0000000
--- a/build_files/plugin.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "plugin",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "plugin",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/pool.BUILD b/build_files/pool.BUILD
deleted file mode 100644
index e8710c4..0000000
--- a/build_files/pool.BUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "pool",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "pool",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_stack_trace//:stack_trace",
-    ],
-)
diff --git a/build_files/pub_semver.BUILD b/build_files/pub_semver.BUILD
deleted file mode 100644
index ae74c53..0000000
--- a/build_files/pub_semver.BUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "pub_semver",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "pub_semver",
-    visibility = ["//visibility:public"],
-    deps = ["@org_dartlang_pub_collection//:collection"],
-)
diff --git a/build_files/shelf.BUILD b/build_files/shelf.BUILD
deleted file mode 100644
index afa0189..0000000
--- a/build_files/shelf.BUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "shelf",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "shelf",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_http_parser//:http_parser",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_stack_trace//:stack_trace",
-        "@org_dartlang_pub_stream_channel//:stream_channel",
-    ],
-)
diff --git a/build_files/shelf_packages_handler.BUILD b/build_files/shelf_packages_handler.BUILD
deleted file mode 100644
index 479e8b9..0000000
--- a/build_files/shelf_packages_handler.BUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "shelf_packages_handler",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "shelf_packages_handler",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_package_resolver//:package_resolver",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_shelf//:shelf",
-        "@org_dartlang_pub_shelf_static//:shelf_static",
-    ],
-)
diff --git a/build_files/shelf_static.BUILD b/build_files/shelf_static.BUILD
deleted file mode 100644
index 939c62a..0000000
--- a/build_files/shelf_static.BUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "shelf_static",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "shelf_static",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_convert//:convert",
-        "@org_dartlang_pub_http_parser//:http_parser",
-        "@org_dartlang_pub_mime//:mime",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_shelf//:shelf",
-    ],
-)
diff --git a/build_files/shelf_web_socket.BUILD b/build_files/shelf_web_socket.BUILD
deleted file mode 100644
index e9543e1..0000000
--- a/build_files/shelf_web_socket.BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "shelf_web_socket",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "shelf_web_socket",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_shelf//:shelf",
-        "@org_dartlang_pub_stream_channel//:stream_channel",
-        "@org_dartlang_pub_web_socket_channel//:web_socket_channel",
-    ],
-)
diff --git a/build_files/source_map_stack_trace.BUILD b/build_files/source_map_stack_trace.BUILD
deleted file mode 100644
index 6f2f1b2..0000000
--- a/build_files/source_map_stack_trace.BUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "source_map_stack_trace",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "source_map_stack_trace",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_package_resolver//:package_resolver",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_source_maps//:source_maps",
-        "@org_dartlang_pub_stack_trace//:stack_trace",
-    ],
-)
diff --git a/build_files/source_maps.BUILD b/build_files/source_maps.BUILD
deleted file mode 100644
index b401a93..0000000
--- a/build_files/source_maps.BUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "source_maps",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "source_maps",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_source_span//:source_span",
-    ],
-)
diff --git a/build_files/source_span.BUILD b/build_files/source_span.BUILD
deleted file mode 100644
index 213b095..0000000
--- a/build_files/source_span.BUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "source_span",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "source_span",
-    visibility = ["//visibility:public"],
-    deps = ["@org_dartlang_pub_path//:path"],
-)
diff --git a/build_files/stack_trace.BUILD b/build_files/stack_trace.BUILD
deleted file mode 100644
index 400e272..0000000
--- a/build_files/stack_trace.BUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "stack_trace",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "stack_trace",
-    visibility = ["//visibility:public"],
-    deps = ["@org_dartlang_pub_path//:path"],
-)
diff --git a/build_files/stream_channel.BUILD b/build_files/stream_channel.BUILD
deleted file mode 100644
index b6c317e..0000000
--- a/build_files/stream_channel.BUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "stream_channel",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "stream_channel",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_stack_trace//:stack_trace",
-    ],
-)
diff --git a/build_files/string_scanner.BUILD b/build_files/string_scanner.BUILD
deleted file mode 100644
index b920df3..0000000
--- a/build_files/string_scanner.BUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "string_scanner",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "string_scanner",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_charcode//:charcode",
-        "@org_dartlang_pub_source_span//:source_span",
-    ],
-)
diff --git a/build_files/test.BUILD b/build_files/test.BUILD
deleted file mode 100644
index 0d1fb39..0000000
--- a/build_files/test.BUILD
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "test",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "test",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_analyzer//:analyzer",
-        "@org_dartlang_pub_args//:args",
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_barback//:barback",
-        "@org_dartlang_pub_boolean_selector//:boolean_selector",
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_glob//:glob",
-        "@org_dartlang_pub_http_multi_server//:http_multi_server",
-        "@org_dartlang_pub_matcher//:matcher",
-        "@org_dartlang_pub_package_resolver//:package_resolver",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_pool//:pool",
-        "@org_dartlang_pub_pub_semver//:pub_semver",
-        "@org_dartlang_pub_shelf//:shelf",
-        "@org_dartlang_pub_shelf_packages_handler//:shelf_packages_handler",
-        "@org_dartlang_pub_shelf_static//:shelf_static",
-        "@org_dartlang_pub_shelf_web_socket//:shelf_web_socket",
-        "@org_dartlang_pub_source_map_stack_trace//:source_map_stack_trace",
-        "@org_dartlang_pub_source_maps//:source_maps",
-        "@org_dartlang_pub_source_span//:source_span",
-        "@org_dartlang_pub_stack_trace//:stack_trace",
-        "@org_dartlang_pub_stream_channel//:stream_channel",
-        "@org_dartlang_pub_string_scanner//:string_scanner",
-        "@org_dartlang_pub_web_socket_channel//:web_socket_channel",
-        "@org_dartlang_pub_yaml//:yaml",
-    ],
-)
diff --git a/build_files/typed_data.BUILD b/build_files/typed_data.BUILD
deleted file mode 100644
index bfc5d41..0000000
--- a/build_files/typed_data.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "typed_data",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "typed_data",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/unittest.BUILD b/build_files/unittest.BUILD
deleted file mode 100644
index 1fe4bed..0000000
--- a/build_files/unittest.BUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "unittest",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "unittest",
-    visibility = ["//visibility:public"],
-    deps = ["@org_dartlang_pub_stack_trace//:stack_trace"],
-)
diff --git a/build_files/utf.BUILD b/build_files/utf.BUILD
deleted file mode 100644
index f6cd52a..0000000
--- a/build_files/utf.BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "utf",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "utf",
-    visibility = ["//visibility:public"],
-)
diff --git a/build_files/watcher.BUILD b/build_files/watcher.BUILD
deleted file mode 100644
index 0a83aed..0000000
--- a/build_files/watcher.BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # New BSD
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "watcher",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "watcher",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_path//:path",
-    ],
-)
diff --git a/build_files/web_socket_channel.BUILD b/build_files/web_socket_channel.BUILD
deleted file mode 100644
index ea4fd27..0000000
--- a/build_files/web_socket_channel.BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-licenses(["notice"])  # BSD (Google-authored with external contributions)
-
-exports_files(["LICENSE"])
-
-dart_library(
-    name = "web_socket_channel",
-    srcs = glob(["lib/**"]),
-    license_files = ["LICENSE"],
-    pub_pkg_name = "web_socket_channel",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_crypto//:crypto",
-        "@org_dartlang_pub_stream_channel//:stream_channel",
-    ],
-)
diff --git a/build_files/yaml.BUILD b/build_files/yaml.BUILD
deleted file mode 100644
index b0c69a0..0000000
--- a/build_files/yaml.BUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:core.bzl", "dart_library")
-
-dart_library(
-    name = "yaml",
-    srcs = glob(["lib/**"]),
-    pub_pkg_name = "yaml",
-    visibility = ["//visibility:public"],
-    deps = [
-        "@org_dartlang_pub_charcode//:charcode",
-        "@org_dartlang_pub_collection//:collection",
-        "@org_dartlang_pub_source_span//:source_span",
-        "@org_dartlang_pub_string_scanner//:string_scanner",
-    ],
-)
diff --git a/lib/html.dart b/lib/html.dart
index f2208bc..104895d 100644
--- a/lib/html.dart
+++ b/lib/html.dart
@@ -18,11 +18,11 @@
 import 'dart:convert' show JSON;
 import 'dart:html' show HttpRequest, ProgressEvent;
 
-import 'package:webdriver/support/async.dart' show Lock;
 import 'package:webdriver/core.dart' as core
     show createDriver, fromExistingSession, WebDriver;
 import 'package:webdriver/src/command_processor.dart' show CommandProcessor;
 import 'package:webdriver/src/exception.dart' show WebDriverException;
+import 'package:webdriver/support/async.dart' show Lock;
 
 export 'package:webdriver/core.dart' hide createDriver, fromExistingSession;
 
diff --git a/lib/io.dart b/lib/io.dart
index e06b1ba..332981c 100644
--- a/lib/io.dart
+++ b/lib/io.dart
@@ -24,11 +24,11 @@
         HttpClientResponse,
         HttpHeaders;
 
-import 'package:webdriver/support/async.dart' show Lock;
 import 'package:webdriver/core.dart' as core
     show createDriver, fromExistingSession, WebDriver;
 import 'package:webdriver/src/command_processor.dart' show CommandProcessor;
 import 'package:webdriver/src/exception.dart' show WebDriverException;
+import 'package:webdriver/support/async.dart' show Lock;
 
 export 'package:webdriver/core.dart' hide createDriver, fromExistingSession;
 
@@ -103,9 +103,9 @@
 
     if (response.statusCode < 200 ||
         response.statusCode > 299 ||
-        (respBody is Map 
-          && respBody['status'] != null 
-          && respBody['status'] != 0)) {
+        (respBody is Map &&
+            respBody['status'] != null &&
+            respBody['status'] != 0)) {
       throw new WebDriverException(
           httpStatusCode: response.statusCode,
           httpReasonPhrase: response.reasonPhrase,
diff --git a/lib/support/firefox_profile.dart b/lib/support/firefox_profile.dart
index f0e815b..e7ae4f2 100644
--- a/lib/support/firefox_profile.dart
+++ b/lib/support/firefox_profile.dart
@@ -17,6 +17,7 @@
 import 'dart:collection';
 import 'dart:convert' show LineSplitter, BASE64;
 import 'dart:io' as io;
+
 import 'package:archive/archive.dart' show Archive, ArchiveFile, ZipEncoder;
 import 'package:path/path.dart' as path;
 
diff --git a/repositories.bzl b/repositories.bzl
deleted file mode 100644
index be9ba1e..0000000
--- a/repositories.bzl
+++ /dev/null
@@ -1,414 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-"""Configure required repositories for webdriver.dart."""
-
-
-def webdriver_dart_repositories(
-    omit_org_dartlang_pub_analyzer=False,
-    omit_org_dartlang_pub_archive=False,
-    omit_org_dartlang_pub_args=False,
-    omit_org_dartlang_pub_async=False,
-    omit_org_dartlang_pub_barback=False,
-    omit_org_dartlang_pub_boolean_selector=False,
-    omit_org_dartlang_pub_charcode=False,
-    omit_org_dartlang_pub_collection=False,
-    omit_org_dartlang_pub_convert=False,
-    omit_org_dartlang_pub_crypto=False,
-    omit_org_dartlang_pub_csslib=False,
-    omit_org_dartlang_pub_glob=False,
-    omit_org_dartlang_pub_html=False,
-    omit_org_dartlang_pub_http=False,
-    omit_org_dartlang_pub_http_multi_server=False,
-    omit_org_dartlang_pub_http_parser=False,
-    omit_org_dartlang_pub_isolate=False,
-    omit_org_dartlang_pub_logging=False,
-    omit_org_dartlang_pub_matcher=False,
-    omit_org_dartlang_pub_meta=False,
-    omit_org_dartlang_pub_mime=False,
-    omit_org_dartlang_pub_package_config=False,
-    omit_org_dartlang_pub_package_resolver=False,
-    omit_org_dartlang_pub_path=False,
-    omit_org_dartlang_pub_plugin=False,
-    omit_org_dartlang_pub_pool=False,
-    omit_org_dartlang_pub_pub_semver=False,
-    omit_org_dartlang_pub_shelf=False,
-    omit_org_dartlang_pub_shelf_packages_handler=False,
-    omit_org_dartlang_pub_shelf_static=False,
-    omit_org_dartlang_pub_shelf_web_socket=False,
-    omit_org_dartlang_pub_source_map_stack_trace=False,
-    omit_org_dartlang_pub_source_maps=False,
-    omit_org_dartlang_pub_source_span=False,
-    omit_org_dartlang_pub_stack_trace=False,
-    omit_org_dartlang_pub_stream_channel=False,
-    omit_org_dartlang_pub_string_scanner=False,
-    omit_org_dartlang_pub_test=False,
-    omit_org_dartlang_pub_typed_data=False,
-    omit_org_dartlang_pub_unittest=False,
-    omit_org_dartlang_pub_utf=False,
-    omit_org_dartlang_pub_watcher=False,
-    omit_org_dartlang_pub_web_socket_channel=False,
-    omit_org_dartlang_pub_yaml=False):
-  """Configure required repositories for webdriver.dart."""
-  
-  if not omit_org_dartlang_pub_analyzer:
-    native.new_http_archive(
-        name="org_dartlang_pub_analyzer",
-        build_file=str(Label("//build_files:analyzer.BUILD")),
-        sha256="7249fc31827063a154b8d9f4232cf778713cd3cc29074abf19e42d9f0a5572c7",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/analyzer-0.29.5.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_archive:
-    native.new_http_archive(
-        name="org_dartlang_pub_archive",
-        build_file=str(Label("//build_files:archive.BUILD")),
-        sha256="c05654256072f7eb0a351fb97605bbfdb02ba191241de2ddec61041982fc3206",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/archive-1.0.27.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_args:
-    native.new_http_archive(
-        name="org_dartlang_pub_args",
-        build_file=str(Label("//build_files:args.BUILD")),
-        sha256="3b592846eb4458e340e8bf03d950314c4dbadf964a8fe022cab1c9a1106b3754",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/args-0.13.7.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_async:
-    native.new_http_archive(
-        name="org_dartlang_pub_async",
-        build_file=str(Label("//build_files:async.BUILD")),
-        sha256="78eda22375d22c73ebfa349d425e8795b375f28a021ee2b14a50827605120213",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/async-1.12.0.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_barback:
-    native.new_http_archive(
-        name="org_dartlang_pub_barback",
-        build_file=str(Label("//build_files:barback.BUILD")),
-        sha256="d7d2a527f07d7af61c0c9d91376df6df1dbc8e8a606817b8ec82459ecf91a4af",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/barback-0.15.2+9.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_boolean_selector:
-    native.new_http_archive(
-        name="org_dartlang_pub_boolean_selector",
-        build_file=str(Label("//build_files:boolean_selector.BUILD")),
-        sha256="fd70dd881d04c4e6d89f07e0045c371551ddc083aa6f0fcb1dbab85a85b9875d",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/boolean_selector-1.0.2.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_charcode:
-    native.new_http_archive(
-        name="org_dartlang_pub_charcode",
-        build_file=str(Label("//build_files:charcode.BUILD")),
-        sha256="c3a733a042234bbe813741c41a298232ce162feb6ffd2b368b54aa1d995256e0",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/charcode-1.1.1.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_collection:
-    native.new_http_archive(
-        name="org_dartlang_pub_collection",
-        build_file=str(Label("//build_files:collection.BUILD")),
-        sha256="396abdd82b601422f21b3020392b45f8464b89c2c407082eaf8c038ef2b8306b",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/collection-1.13.0.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_convert:
-    native.new_http_archive(
-        name="org_dartlang_pub_convert",
-        build_file=str(Label("//build_files:convert.BUILD")),
-        sha256="45c7a83da5d927ec0780d475a755c7bec3b38ce33308413e3729c7afc958464f",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/convert-2.0.1.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_crypto:
-    native.new_http_archive(
-        name="org_dartlang_pub_crypto",
-        build_file=str(Label("//build_files:crypto.BUILD")),
-        sha256="252cbd678600b61ff0cd051e4d8fee35475cd7533ba0dc712eff4dbce0b2b609",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/crypto-2.0.1.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_csslib:
-    native.new_http_archive(
-        name="org_dartlang_pub_csslib",
-        build_file=str(Label("//build_files:csslib.BUILD")),
-        sha256="0264a0c25e3bf54e8a675419b7b92ad828e2cc55b57d8205e6752ca86ff3a40f",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/csslib-0.13.2+2.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_glob:
-    native.new_http_archive(
-        name="org_dartlang_pub_glob",
-        build_file=str(Label("//build_files:glob.BUILD")),
-        sha256="46e1584b52aa4b4098f6be96c335650b67d1bf6ffd289d5ad6623ffa038de71d",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/glob-1.1.3.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_html:
-    native.new_http_archive(
-        name="org_dartlang_pub_html",
-        build_file=str(Label("//build_files:html.BUILD")),
-        sha256="3df38f194934273d7aa6214ac017df0a61ee4c8cc42eb1fe1a6260370ad26eb3",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/html-0.13.1.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_http:
-    native.new_http_archive(
-        name="org_dartlang_pub_http",
-        build_file=str(Label("//build_files:http.BUILD")),
-        sha256="1d95188dfe3b1d03049410e6eeea4f785658635f440735266c855daae82e15c7",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/http-0.11.3+9.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_http_multi_server:
-    native.new_http_archive(
-        name="org_dartlang_pub_http_multi_server",
-        build_file=str(Label("//build_files:http_multi_server.BUILD")),
-        sha256="3f68607027cce2bc531ae66b0bbdae89aea82361f4f2fcaa42fb5f9644ce0113",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/http_multi_server-2.0.3.tar.gz"
-    )
-    
-  if not omit_org_dartlang_pub_http_parser:
-    native.new_http_archive(
-        name="org_dartlang_pub_http_parser",
-        build_file=str(Label("//build_files:http_parser.BUILD")),
-        sha256="cdd2fbf11f37ada5d81ab55395a5f1a7be303beee4b2b73631192cc6fe46a34e",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/http_parser-3.1.1.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_isolate:
-    native.new_http_archive(
-        name="org_dartlang_pub_isolate",
-        build_file=str(Label("//build_files:isolate.BUILD")),
-        sha256="c0bcb80331f99eaa21daccb8c3ab24d5e69b77ecfffdfa603b10466a0955a99c",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/isolate-0.2.3.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_logging:
-    native.new_http_archive(
-        name="org_dartlang_pub_logging",
-        build_file=str(Label("//build_files:logging.BUILD")),
-        sha256="d9374a73a13f941ee04c9bd09dafdbbc54c2fd7cb6972f75dd2e900cda69fdea",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/logging-0.11.3+1.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_matcher:
-    native.new_http_archive(
-        name="org_dartlang_pub_matcher",
-        build_file=str(Label("//build_files:matcher.BUILD")),
-        sha256="66fe71ebcbd7064b6a492973775f1ba91bbf0b8bf1e8d86d545062d8ff35c2d9",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/matcher-0.12.0+2.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_meta:
-    native.new_http_archive(
-        name="org_dartlang_pub_meta",
-        build_file=str(Label("//build_files:meta.BUILD")),
-        sha256="fa80faf10b014b40d72f00dfbf60044cd8f7b0b7d317e29634b01fbdc6397287",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/meta-1.0.4.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_mime:
-    native.new_http_archive(
-        name="org_dartlang_pub_mime",
-        build_file=str(Label("//build_files:mime.BUILD")),
-        sha256="6f2da7f8ae179b624f8e14cb36761868452761d6af287f86dc9cc5632e947d49",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/mime-0.9.3.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_package_config:
-    native.new_http_archive(
-        name="org_dartlang_pub_package_config",
-        build_file=str(Label("//build_files:package_config.BUILD")),
-        sha256="1af9acd7fa5f8a17a9ae1d7144666e8679b0053a23c21ed7ac83010e6c05b1f3",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/package_config-1.0.0.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_package_resolver:
-    native.new_http_archive(
-        name="org_dartlang_pub_package_resolver",
-        build_file=str(Label("//build_files:package_resolver.BUILD")),
-        sha256="2f138d188b960ec061e59233c9688be185081a7b422ea039c070639b19675f5e",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/package_resolver-1.0.2.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_path:
-    native.new_http_archive(
-        name="org_dartlang_pub_path",
-        build_file=str(Label("//build_files:path.BUILD")),
-        sha256="39413112ccce676d862608b51516bd45aee750e6865596267fc1500f3a7e0595",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/path-1.4.1.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_plugin:
-    native.new_http_archive(
-        name="org_dartlang_pub_plugin",
-        build_file=str(Label("//build_files:plugin.BUILD")),
-        sha256="21dc363e742b04cbdace0835960ef32aca27511302738f3439abb90b289870d9",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/plugin-0.2.0.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_pool:
-    native.new_http_archive(
-        name="org_dartlang_pub_pool",
-        build_file=str(Label("//build_files:pool.BUILD")),
-        sha256="c48abab9c32a0e66293a608abaaacfa1149d304096c5a688fe81d6d7ab705c89",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/pool-1.2.4.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_pub_semver:
-    native.new_http_archive(
-        name="org_dartlang_pub_pub_semver",
-        build_file=str(Label("//build_files:pub_semver.BUILD")),
-        sha256="657f1c09701f068bc905d2b5a152e42c9fed240ff43873d820b82c06d898849b",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/pub_semver-1.3.2.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_shelf:
-    native.new_http_archive(
-        name="org_dartlang_pub_shelf",
-        build_file=str(Label("//build_files:shelf.BUILD")),
-        sha256="e5abb9e0731acc24480df302a9b4a0c2bc46b976dd24f24cf4347be1833b8f03",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/shelf-0.6.7+2.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_shelf_packages_handler:
-    native.new_http_archive(
-        name="org_dartlang_pub_shelf_packages_handler",
-        build_file=str(Label("//build_files:shelf_packages_handler.BUILD")),
-        sha256="d2856eac40844d5889aac8cf78d94461ebef3867fa892ebf1f9ccd55dc301732",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/shelf_packages_handler-1.0.0.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_shelf_static:
-    native.new_http_archive(
-        name="org_dartlang_pub_shelf_static",
-        build_file=str(Label("//build_files:shelf_static.BUILD")),
-        sha256="0b302c648bbd4a1775ace3b43c9a604a7f199619375554447835c875918343d0",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/shelf_static-0.2.4.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_shelf_web_socket:
-    native.new_http_archive(
-        name="org_dartlang_pub_shelf_web_socket",
-        build_file=str(Label("//build_files:shelf_web_socket.BUILD")),
-        sha256="48e26601ad549ed5bdcc52a90ec59597154e05722ede2e66e85d5221ac3fa357",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/shelf_web_socket-0.2.1.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_source_map_stack_trace:
-    native.new_http_archive(
-        name="org_dartlang_pub_source_map_stack_trace",
-        build_file=str(Label("//build_files:source_map_stack_trace.BUILD")),
-        sha256="a9dde62354b0544f4c7e6ee00e7584e327c77dd6b380f18d7ec91aa72e07ebf2",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/source_map_stack_trace-1.1.4.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_source_maps:
-    native.new_http_archive(
-        name="org_dartlang_pub_source_maps",
-        build_file=str(Label("//build_files:source_maps.BUILD")),
-        sha256="1b77163b33baf614454ad34c79233754e120fbd03ac491dee70a2612a15eae85",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/source_maps-0.10.2.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_source_span:
-    native.new_http_archive(
-        name="org_dartlang_pub_source_span",
-        build_file=str(Label("//build_files:source_span.BUILD")),
-        sha256="32c891d21baa24013f1a516d367061862daa47039f052e322d83767cbe862725",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/source_span-1.3.1.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_stack_trace:
-    native.new_http_archive(
-        name="org_dartlang_pub_stack_trace",
-        build_file=str(Label("//build_files:stack_trace.BUILD")),
-        sha256="b8ea106aa932e2ba97fc29562caa76bd71c60f9d688ba03ca1466559f632af9d",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/stack_trace-1.7.0.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_stream_channel:
-    native.new_http_archive(
-        name="org_dartlang_pub_stream_channel",
-        build_file=str(Label("//build_files:stream_channel.BUILD")),
-        sha256="e22242ac461247618190a50342c3cd93a2466746637e55201375ccb4654cd420",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/stream_channel-1.6.0.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_string_scanner:
-    native.new_http_archive(
-        name="org_dartlang_pub_string_scanner",
-        build_file=str(Label("//build_files:string_scanner.BUILD")),
-        sha256="204cdb66eb0a8b933cb88f7504640e6dccdc35e15a2ec05a7aebfbe53b7a2fe8",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/string_scanner-1.0.1.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_test:
-    native.new_http_archive(
-        name="org_dartlang_pub_test",
-        build_file=str(Label("//build_files:test.BUILD")),
-        sha256="064efe7993b3be3a1980f88c5d1e5573f3bae1808d45785238a445edb70638f4",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/test-0.12.18+1.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_typed_data:
-    native.new_http_archive(
-        name="org_dartlang_pub_typed_data",
-        build_file=str(Label("//build_files:typed_data.BUILD")),
-        sha256="8c7637fad3224be35d2ad9b620db3f642bc5905ac3662bca1ec4f54408bfec21",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/typed_data-1.1.3.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_unittest:
-    native.new_http_archive(
-        name="org_dartlang_pub_unittest",
-        build_file=str(Label("//build_files:unittest.BUILD")),
-        sha256="96cd840fc210e876f6e9734ce2f95644c30c1b162a833b6015a6aa752b31ecf3",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/unittest-0.11.7.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_utf:
-    native.new_http_archive(
-        name="org_dartlang_pub_utf",
-        build_file=str(Label("//build_files:utf.BUILD")),
-        sha256="52cd84b505ac03d565606a576cf3d1f75ba807e8a02c4d9d1b876d59c3bc41e5",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/utf-0.9.0+3.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_watcher:
-    native.new_http_archive(
-        name="org_dartlang_pub_watcher",
-        build_file=str(Label("//build_files:watcher.BUILD")),
-        sha256="ea390b8b71c97b1d7fc45364842565b74b703df4174d4ae544664074ea754cf5",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/watcher-0.9.7+3.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_web_socket_channel:
-    native.new_http_archive(
-        name="org_dartlang_pub_web_socket_channel",
-        build_file=str(Label("//build_files:web_socket_channel.BUILD")),
-        sha256="4b27d9c641cc0e0dd527443d5899d0588c57d83615dc8b56a86653b784667c0c",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/web_socket_channel-1.0.4.tar.gz"
-    )
-
-  if not omit_org_dartlang_pub_yaml:
-    native.new_http_archive(
-        name="org_dartlang_pub_yaml",
-        build_file=str(Label("//build_files:yaml.BUILD")),
-        sha256="cae64a1337c3a0350e01989721172afc4411be5520f267e8fb568e9e6a5928b4",
-        url="https://storage.googleapis.com/pub.dartlang.org/packages/yaml-2.1.12.tar.gz"
-    )
diff --git a/test/BUILD b/test/BUILD
deleted file mode 100644
index 69c7a72..0000000
--- a/test/BUILD
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 2016 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-load("@io_bazel_rules_dart//dart/build_rules:vm.bzl", "dart_vm_test")
-load("@io_bazel_rules_webtesting//web:dart.bzl", "dart_web_test_suite")
-load("//:_generate_io_tests.bzl", "generate_io_tests")
-
-licenses(["notice"])  # Apache (Google-authored with external contributions)
-
-# TODO(DrMarcII) Add support for html webdriver tests when rules_dart support dart_web_test
-
-_TESTS_TO_RUN = glob(["*_test.dart"])
-
-generate_io_tests(
-    name = "generate_io_tests",
-    srcs = _TESTS_TO_RUN,
-)
-
-[
-    dart_web_test_suite(
-        name = dart_file[:-5] + "_io",
-        srcs = [
-            dart_file[:-5] + ".io.dart",
-            "io_test_util.dart",
-            "test_util.dart",
-            "webdriver_test_util.dart"
-        ],
-        browsers = ["//browsers:chromium-native"],
-        data = [
-            "frame.html",
-            "support/forwarder_test_page.html",
-            "test_page.html",
-        ],
-        flaky = True,
-        local = True,
-        pub_pkg_name = "webdriver_test",
-        script_file = dart_file[:-5] + ".io.dart",
-        deps = [
-            "//:webdriver",
-            "@org_dartlang_pub_matcher//:matcher",
-            "@org_dartlang_pub_path//:path",
-            "@org_dartlang_pub_test//:test",
-        ],
-    )
-    for dart_file in _TESTS_TO_RUN
-]
-
-# Workaround if dart_web_test_suite target is broken. (E.g. on Mac.)
-#
-# To use:
-# 1) Start an instance of Selenium/ChromeDriver/SafariDriver and note the port.
-# 2) bazel test test:<test_name> \
-#      --action_env=WEB_TEST_WEBDRIVER_SERVER=http://localhost:<port>
-[
-    dart_vm_test(
-        name = dart_file[:-5],
-        srcs = [
-            dart_file,
-            "io_test_util.dart",
-            "test_util.dart",
-            "webdriver_test_util.dart"
-        ],
-        data = [
-            "frame.html",
-            "support/forwarder_test_page.html",
-            "test_page.html",
-        ],
-        pub_pkg_name = "webdriver_test",
-        script_file = dart_file,
-        deps = [
-            "//:webdriver",
-            "@org_dartlang_pub_async//:async",
-            "@org_dartlang_pub_test//:test",
-            "@org_dartlang_pub_unittest//:unittest",
-        ],
-    )
-    for dart_file in _TESTS_TO_RUN
-]
-
-dart_vm_test(
-    name = "async_test",
-    srcs = ["support/async_test.dart"],
-    pub_pkg_name = "webdriver_test",
-    script_file = "support/async_test.dart",
-    deps = [
-        "//:webdriver",
-        "@org_dartlang_pub_async//:async",
-        "@org_dartlang_pub_test//:test",
-        "@org_dartlang_pub_unittest//:unittest",
-    ],
-)
-
-dart_vm_test(
-    name = "firefox_profile_test",
-    srcs = [
-        "io_test_util.dart",
-        "support/firefox_profile_test.dart",
-        "test_util.dart",
-    ],
-    data = glob(["support/firefox_profile/**"]),
-    pub_pkg_name = "webdriver_test",
-    script_file = "support/firefox_profile_test.dart",
-    deps = [
-        "//:webdriver",
-        "@org_dartlang_pub_archive//:archive",
-        "@org_dartlang_pub_matcher//:matcher",
-        "@org_dartlang_pub_path//:path",
-        "@org_dartlang_pub_test//:test",
-    ],
-)
diff --git a/test/alert_test.dart b/test/alert_test.dart
index 80866b4..7172cc4 100644
--- a/test/alert_test.dart
+++ b/test/alert_test.dart
@@ -12,12 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.alert_test;
 
 import 'package:test/test.dart';
 import 'package:webdriver/core.dart';
 
-import 'test_util.dart';
+import 'io_config.dart' as config;
 
 void main() {
   group('Alert', () {
@@ -26,8 +27,8 @@
     WebElement output;
 
     setUp(() async {
-      driver = await createTestDriver();
-      await driver.get(testPagePath);
+      driver = await config.createTestDriver();
+      await driver.get(config.testPagePath);
       button = await driver.findElement(const By.tagName('button'));
       output = await driver.findElement(const By.id('settable'));
     });
diff --git a/test/command_event_test.dart b/test/command_event_test.dart
index d2c4aa5..44ee8f0 100644
--- a/test/command_event_test.dart
+++ b/test/command_event_test.dart
@@ -12,6 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.command_event_test;
 
 import 'package:stack_trace/stack_trace.dart';
@@ -19,7 +20,7 @@
 import 'package:webdriver/core.dart';
 import 'package:webdriver/support/async.dart';
 
-import 'test_util.dart';
+import 'io_config.dart' as config;
 
 void main() {
   group('CommandEvent', () {
@@ -29,10 +30,10 @@
     var sub;
 
     setUp(() async {
-      driver = await createTestDriver();
+      driver = await config.createTestDriver();
       sub = driver.onCommand.listen(events.add);
 
-      await driver.get(testPagePath);
+      await driver.get(config.testPagePath);
     });
 
     tearDown(() async {
@@ -66,5 +67,5 @@
       expect(events[1].startTime.isBefore(events[1].endTime), isTrue);
       expect(events[1].stackTrace, new isInstanceOf<Chain>());
     });
-  }, testOn: '!js');
+  });
 }
diff --git a/test/config.dart b/test/config.dart
new file mode 100644
index 0000000..ceeb8be
--- /dev/null
+++ b/test/config.dart
@@ -0,0 +1,28 @@
+// Copyright 2015 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+library config;
+
+import 'dart:async' show Future;
+
+import 'package:webdriver/core.dart' show WebDriver;
+
+Future<WebDriver> createTestDriver(
+    {Map<String, dynamic> additionalCapabilities}) {
+  throw new UnimplementedError("createTestDriver is abstract");
+}
+
+String get testPagePath {
+  throw new UnimplementedError("createTestDriver is abstract");
+}
diff --git a/test/forwarder_test.dart b/test/forwarder_test.dart
index 9956826..aed79ec 100644
--- a/test/forwarder_test.dart
+++ b/test/forwarder_test.dart
@@ -22,7 +22,7 @@
 import 'package:webdriver/io.dart';
 import 'package:webdriver/support/forwarder.dart';
 
-import 'test_util.dart' as test_util;
+import 'io_config.dart' as config;
 
 const buttonClicked = 'Button clicked';
 const buttonNotClicked = 'Button not clicked';
@@ -36,7 +36,7 @@
     Uri address;
 
     setUp(() async {
-      driver = await test_util.createTestDriver();
+      driver = await config.createTestDriver();
       forwarder =
           new WebDriverForwarder(driver, prefix: '/webdriver/session/1');
 
@@ -46,8 +46,8 @@
           forwarder.forward(request);
         } else if (request.method == 'GET' &&
             request.uri.path.endsWith('test_page.html')) {
-          File file = new File(test_util.runfile(
-              path.join('test', 'support', 'forwarder_test_page.html')));
+          File file = new File(
+              path.join('test', 'support', 'forwarder_test_page.html'));
           request.response
             ..statusCode = HttpStatus.OK
             ..headers.set('Content-type', 'text/html');
diff --git a/test/io_config.dart b/test/io_config.dart
new file mode 100644
index 0000000..85b4861
--- /dev/null
+++ b/test/io_config.dart
@@ -0,0 +1,57 @@
+// Copyright 2017 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+library io_test_util;
+
+import 'dart:async' show Future;
+import 'dart:io' show FileSystemEntity, Platform;
+
+import 'package:path/path.dart' as path;
+import 'package:webdriver/core.dart' show Capabilities, WebDriver;
+import 'package:webdriver/io.dart' show createDriver;
+
+Future<WebDriver> createTestDriver(
+    {Map<String, dynamic> additionalCapabilities}) {
+  var capabilities = Capabilities.chrome;
+  Map env = Platform.environment;
+
+  Map chromeOptions = {};
+
+  if (env['CHROMEDRIVER_BINARY'] != null) {
+    chromeOptions['binary'] = env['CHROMEDRIVER_BINARY'];
+  }
+
+  if (env['CHROMEDRIVER_ARGS'] != null) {
+    chromeOptions['args'] = env['CHROMEDRIVER_ARGS'].split(' ');
+  }
+
+  if (chromeOptions.isNotEmpty) {
+    capabilities['chromeOptions'] = chromeOptions;
+  }
+
+  if (additionalCapabilities != null) {
+    capabilities.addAll(additionalCapabilities);
+  }
+
+  return createDriver(desired: capabilities);
+}
+
+String get testPagePath {
+  String testPagePath = path.absolute('test', 'test_page.html');
+  if (!FileSystemEntity.isFileSync(testPagePath)) {
+    throw new Exception('Could not find the test file at "$testPagePath".'
+        ' Make sure you are running tests from the root of the project.');
+  }
+  return path.toUri(testPagePath).toString();
+}
diff --git a/test/io_test_util.dart b/test/io_test_util.dart
deleted file mode 100644
index c2db7ab..0000000
--- a/test/io_test_util.dart
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2017 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//    http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-library io_test_util;
-
-import 'dart:io' show FileSystemEntity, Platform;
-import 'package:path/path.dart' as path;
-
-export 'webdriver_test_util.dart'
-    show isWebElement, isRectangle, isPoint, createTestDriver;
-
-String get testPagePath {
-  String testPagePath = runfile(path.join('test', 'test_page.html'));
-  if (!FileSystemEntity.isFileSync(testPagePath)) {
-    throw new Exception('Could not find the test file at "$testPagePath".'
-        ' Make sure you are running tests from the root of the project.');
-  }
-  return path.toUri(testPagePath).toString();
-}
-
-String runfile(String p) => path.absolute(path.join(
-    Platform.environment['TEST_SRCDIR'],
-    'com_github_google_webdriver_dart',
-    p));
diff --git a/test/keyboard_test.dart b/test/keyboard_test.dart
index 60f68b3..7e16923 100644
--- a/test/keyboard_test.dart
+++ b/test/keyboard_test.dart
@@ -12,6 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.keyboard_test;
 
 import 'dart:io';
@@ -19,7 +20,7 @@
 import 'package:test/test.dart';
 import 'package:webdriver/core.dart';
 
-import 'test_util.dart';
+import 'io_config.dart' as config;
 
 void main() {
   group('Keyboard', () {
@@ -34,8 +35,8 @@
         ctrlCmdKey = Keyboard.control;
       }
 
-      driver = await createTestDriver();
-      await driver.get(testPagePath);
+      driver = await config.createTestDriver();
+      await driver.get(config.testPagePath);
       textInput =
           await driver.findElement(const By.cssSelector('input[type=text]'));
       await textInput.click();
diff --git a/test/logs_test.dart b/test/logs_test.dart
index 4a8c887..ee42496 100644
--- a/test/logs_test.dart
+++ b/test/logs_test.dart
@@ -12,12 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.logs_test;
 
 import 'package:test/test.dart';
 import 'package:webdriver/core.dart';
 
-import 'test_util.dart';
+import 'io_config.dart' as config;
 
 void main() {
   group('Logs', () {
@@ -28,8 +29,9 @@
         Capabilities.loggingPrefs: {LogType.performance: LogLevel.info}
       };
 
-      driver = await createTestDriver(additionalCapabilities: capabilities);
-      await driver.get(testPagePath);
+      driver =
+          await config.createTestDriver(additionalCapabilities: capabilities);
+      await driver.get(config.testPagePath);
     });
 
     tearDown(() async {
diff --git a/test/mouse_test.dart b/test/mouse_test.dart
index fb25783..b86c77c 100644
--- a/test/mouse_test.dart
+++ b/test/mouse_test.dart
@@ -12,12 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.mouse_test;
 
 import 'package:test/test.dart';
 import 'package:webdriver/core.dart';
 
-import 'test_util.dart';
+import 'io_config.dart' as config;
 
 void main() {
   group('Mouse', () {
@@ -25,8 +26,8 @@
     WebElement button;
 
     setUp(() async {
-      driver = await createTestDriver();
-      await driver.get(testPagePath);
+      driver = await config.createTestDriver();
+      await driver.get(config.testPagePath);
       button = await driver.findElement(const By.tagName('button'));
     });
 
diff --git a/test/navigation_test.dart b/test/navigation_test.dart
index 755bd99..9e29e0e 100644
--- a/test/navigation_test.dart
+++ b/test/navigation_test.dart
@@ -12,21 +12,22 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.navigation_test;
 
 import 'package:test/test.dart';
-import 'package:webdriver/support/async.dart';
 import 'package:webdriver/core.dart';
+import 'package:webdriver/support/async.dart';
 
-import 'test_util.dart';
+import 'io_config.dart' as config;
 
 void main() {
   group('Navigation', () {
     WebDriver driver;
 
     setUp(() async {
-      driver = await createTestDriver();
-      await driver.get(testPagePath);
+      driver = await config.createTestDriver();
+      await driver.get(config.testPagePath);
     });
 
     tearDown(() async {
diff --git a/test/options_test.dart b/test/options_test.dart
index 82b0180..3d7df49 100644
--- a/test/options_test.dart
+++ b/test/options_test.dart
@@ -12,19 +12,20 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.options_test;
 
 import 'package:test/test.dart';
 import 'package:webdriver/core.dart';
 
-import 'test_util.dart';
+import 'io_config.dart' as config;
 
 void main() {
   group('Cookies', () {
     WebDriver driver;
 
     setUp(() async {
-      driver = await createTestDriver();
+      driver = await config.createTestDriver();
       await driver.get('http://www.google.com/ncr');
     });
 
@@ -81,14 +82,14 @@
     test('delete all cookies', () async {
       await driver.cookies.deleteAll();
       expect(await driver.cookies.all.toList(), isEmpty);
-    });
+    }, skip: 'ureliable');
   });
 
   group('TimeOuts', () {
     WebDriver driver;
 
     setUp(() async {
-      driver = await createTestDriver();
+      driver = await config.createTestDriver();
     });
 
     tearDown(() async {
diff --git a/test/support/firefox_profile_test.dart b/test/support/firefox_profile_test.dart
index 6bb1ed0..1af8fb5 100644
--- a/test/support/firefox_profile_test.dart
+++ b/test/support/firefox_profile_test.dart
@@ -17,13 +17,12 @@
 
 import 'dart:convert' show BASE64, Encoding, UTF8;
 import 'dart:io' as io;
+
 import 'package:archive/archive.dart' show Archive, ArchiveFile, ZipDecoder;
 import 'package:test/test.dart';
 import 'package:webdriver/core.dart';
 import 'package:webdriver/support/firefox_profile.dart';
 
-import '../io_test_util.dart' as test_util;
-
 void main() {
   group('Firefox profile', () {
     test('parse and serialize string value with quotes', () {
@@ -146,8 +145,7 @@
 
     test('encode/decode profile directory from disk', () {
       var profile = new FirefoxProfile(
-          profileDirectory: new io.Directory(
-              test_util.runfile('test/support/firefox_profile')));
+          profileDirectory: new io.Directory('test/support/firefox_profile'));
       profile.setOption(new PrefsOption(Capabilities.hasNativeEvents, true));
 
       var archive = unpackArchiveData(profile.toJson());
diff --git a/test/support/forwarder_test.dart b/test/support/forwarder_test.dart
new file mode 100644
index 0000000..b5e9e81
--- /dev/null
+++ b/test/support/forwarder_test.dart
@@ -0,0 +1,156 @@
+// Copyright 2015 Google Inc. All Rights Reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+@TestOn("vm")
+library webdriver.support.forwarder_test;
+
+import 'dart:io';
+
+import 'package:path/path.dart' as path;
+import 'package:test/test.dart';
+import 'package:webdriver/io.dart';
+import 'package:webdriver/support/forwarder.dart';
+
+import '../io_config.dart' as config;
+
+const buttonClicked = 'Button clicked';
+const buttonNotClicked = 'Button not clicked';
+
+void main() {
+  group('WebDriverForwarder', () {
+    WebDriver driver;
+    WebDriverForwarder forwarder;
+    HttpServer server;
+    WebDriver forwardedDriver;
+    Uri address;
+
+    setUp(() async {
+      driver = await config.createTestDriver();
+      forwarder =
+          new WebDriverForwarder(driver, prefix: '/webdriver/session/1');
+
+      server = await HttpServer.bind(InternetAddress.ANY_IP_V4, 0);
+      server.listen((request) {
+        if (request.uri.path.startsWith('/webdriver')) {
+          forwarder.forward(request);
+        } else if (request.method == 'GET' &&
+            request.uri.path.endsWith('test_page.html')) {
+          File file = new File(
+              path.join('test', 'support', 'forwarder_test_page.html'));
+          request.response
+            ..statusCode = HttpStatus.OK
+            ..headers.set('Content-type', 'text/html');
+          file.openRead().pipe(request.response);
+        } else {
+          request.response
+            ..statusCode = HttpStatus.NOT_FOUND
+            ..close();
+        }
+      });
+      address = new Uri.http('localhost:${server.port}', '/webdriver/');
+      forwardedDriver = await fromExistingSession('1', uri: address);
+
+      await forwardedDriver.get(address.resolve('/test_page.html'));
+    });
+
+    tearDown(() async {
+      try {
+        await forwardedDriver.quit();
+      } catch (e) {
+        print('Ignored error quitting forwardedDriver: $e');
+      }
+      try {
+        await server.close(force: true);
+      } catch (e) {
+        print('Ignored error quitting server: $e');
+      }
+      try {
+        await driver.quit();
+      } catch (e) {
+        print('Ignored error quitting driver: $e');
+      }
+    });
+
+    test('get url', () async {
+      expect(await forwardedDriver.currentUrl, endsWith('test_page.html'));
+    });
+
+    test('click button', () async {
+      expect(await forwardedDriver.getRequest('element/div/text'),
+          buttonNotClicked);
+
+      await forwardedDriver.postRequest('element/button/click', {'button': 0});
+      expect(
+          await forwardedDriver.getRequest('element/div/text'), buttonClicked);
+    });
+
+    test('moveto/click', () async {
+      expect(await forwardedDriver.getRequest('element/div/text'),
+          buttonNotClicked);
+
+      await forwardedDriver.postRequest('moveto', {'element': 'button'});
+      await forwardedDriver.mouse.click();
+
+      expect(
+          await forwardedDriver.getRequest('element/div/text'), buttonClicked);
+    });
+
+    test('execute_script', () async {
+      expect(await forwardedDriver.getRequest('element/div/text'),
+          buttonNotClicked);
+
+      await forwardedDriver.execute('arguments[0].el.click();', [
+        {
+          'el': {'ELEMENT': 'button'}
+        }
+      ]);
+
+      expect(
+          await forwardedDriver.getRequest('element/div/text'), buttonClicked);
+    });
+
+    test('element equals', () async {
+      expect(
+          await forwardedDriver.getRequest('element/div/equals/div'), isTrue);
+      expect(await forwardedDriver.getRequest('element/div/equals/button'),
+          isFalse);
+    });
+
+    // TODO(DrMarcII) add test that actually uses shadow dom
+    test('enable/disable deep', () async {
+      await forwardedDriver.postRequest('disabledeep');
+
+      expect(await forwardedDriver.getRequest('element/div/text'),
+          buttonNotClicked);
+
+      await forwardedDriver.postRequest('element/button/click', {'button': 0});
+      expect(
+          await forwardedDriver.getRequest('element/div/text'), buttonClicked);
+
+      await forwardedDriver.postRequest('enabledeep');
+      await forwardedDriver.navigate.refresh();
+
+      expect(await forwardedDriver.getRequest('element/div/text'),
+          buttonNotClicked);
+
+      await forwardedDriver.postRequest('element/button/click', {'button': 0});
+      expect(
+          await forwardedDriver.getRequest('element/div/text'), buttonClicked);
+    });
+
+    test('window close', () async {
+      await forwardedDriver.close();
+    });
+  });
+}
diff --git a/test/target_locator_test.dart b/test/target_locator_test.dart
index 82995cf..5bf65ce 100644
--- a/test/target_locator_test.dart
+++ b/test/target_locator_test.dart
@@ -12,12 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.target_locator_test;
 
 import 'package:test/test.dart';
 import 'package:webdriver/core.dart';
 
-import 'test_util.dart';
+import 'io_config.dart' as config;
 
 /**
  * Tests for switchTo.frame(). switchTo.window() and switchTo.alert are tested
@@ -29,8 +30,8 @@
     WebElement frame;
 
     setUp(() async {
-      driver = await createTestDriver();
-      await driver.get(testPagePath);
+      driver = await config.createTestDriver();
+      await driver.get(config.testPagePath);
       frame = await driver.findElement(const By.name('frame'));
     });
 
diff --git a/test/test_util.dart b/test/test_util.dart
index 92b4efa..6a0646a 100644
--- a/test/test_util.dart
+++ b/test/test_util.dart
@@ -14,18 +14,11 @@
 
 library webdriver_test_util;
 
-import 'dart:io' show FileSystemEntity;
-import 'package:path/path.dart' as path;
+import 'dart:math' show Point, Rectangle;
 
-export 'webdriver_test_util.dart' show isWebElement, isRectangle, isPoint, createTestDriver;
+import 'package:matcher/matcher.dart' show isInstanceOf, Matcher;
+import 'package:webdriver/core.dart' show WebElement;
 
-String get testPagePath {
-  String testPagePath = runfile(path.join('test', 'test_page.html'));
-  if (!FileSystemEntity.isFileSync(testPagePath)) {
-    throw new Exception('Could not find the test file at "$testPagePath".'
-        ' Make sure you are running tests from the root of the project.');
-  }
-  return path.toUri(testPagePath).toString();
-}
-
-String runfile(String p) => path.absolute(p);
\ No newline at end of file
+final Matcher isWebElement = new isInstanceOf<WebElement>();
+final Matcher isRectangle = new isInstanceOf<Rectangle<int>>();
+final Matcher isPoint = new isInstanceOf<Point<int>>();
diff --git a/test/web_driver_test.dart b/test/web_driver_test.dart
index 1c2e1f7..69ea352 100644
--- a/test/web_driver_test.dart
+++ b/test/web_driver_test.dart
@@ -12,6 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.web_driver_test;
 
 import 'dart:async';
@@ -19,26 +20,30 @@
 import 'package:test/test.dart';
 import 'package:webdriver/core.dart';
 
+import 'io_config.dart' as config;
 import 'test_util.dart';
 
 void main() {
   group('WebDriver', () {
-    group('create', () {
-      test('default', () async {
-        WebDriver driver = await createTestDriver();
-        await driver.get(testPagePath);
-        var element = await driver.findElement(const By.tagName('button'));
-        expect(await element.name, 'button');
-        await driver.quit();
-      });
-    });
+    group(
+      'create',
+      () {
+        test('default', () async {
+          WebDriver driver = await config.createTestDriver();
+          await driver.get(config.testPagePath);
+          var element = await driver.findElement(const By.tagName('button'));
+          expect(await element.name, 'button');
+          await driver.quit();
+        });
+      },
+    );
 
     group('methods', () {
       WebDriver driver;
 
       setUp(() async {
-        driver = await createTestDriver();
-        await driver.get(testPagePath);
+        driver = await config.createTestDriver();
+        await driver.get(config.testPagePath);
       });
 
       tearDown(() async {
@@ -49,7 +54,7 @@
       });
 
       test('get', () async {
-        await driver.get(testPagePath);
+        await driver.get(config.testPagePath);
         await driver.findElement(const By.tagName('button'));
         ;
       });
@@ -198,11 +203,10 @@
         int current = 0;
         driver.addEventListener((WebDriverCommandEvent e) async {
           return await new Future.delayed(
-              new Duration(milliseconds: millisDelay),
-              (() {
-                eventList.add(current++);
-                millisDelay = (millisDelay / 2).round();
-              }));
+              new Duration(milliseconds: millisDelay), (() {
+            eventList.add(current++);
+            millisDelay = (millisDelay / 2).round();
+          }));
         });
 
         for (int i = 0; i < 10; i++) {
diff --git a/test/web_element_test.dart b/test/web_element_test.dart
index 6f51028..4127a06 100644
--- a/test/web_element_test.dart
+++ b/test/web_element_test.dart
@@ -12,11 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.web_element_test;
 
 import 'package:test/test.dart';
 import 'package:webdriver/core.dart';
 
+import 'io_config.dart' as config;
 import 'test_util.dart';
 
 void main() {
@@ -31,8 +33,8 @@
     WebElement invisible;
 
     setUp(() async {
-      driver = await createTestDriver();
-      await driver.get(testPagePath);
+      driver = await config.createTestDriver();
+      await driver.get(config.testPagePath);
       table = await driver.findElement(const By.tagName('table'));
       button = await driver.findElement(const By.tagName('button'));
       form = await driver.findElement(const By.tagName('form'));
diff --git a/test/webdriver_test_util.dart b/test/webdriver_test_util.dart
deleted file mode 100644
index 8dd8bf5..0000000
--- a/test/webdriver_test_util.dart
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2015 Google Inc. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//    http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-library webdriver_test_util;
-
-import 'dart:async';
-import 'dart:io' show Platform;
-import 'dart:math' show Point, Rectangle;
-
-import 'package:matcher/matcher.dart';
-import 'package:webdriver/core.dart' show WebDriver;
-import 'package:webdriver/io.dart' as wdio;
-
-final Matcher isWebElement = new isInstanceOf<wdio.WebElement>();
-final Matcher isRectangle = new isInstanceOf<Rectangle<int>>();
-final Matcher isPoint = new isInstanceOf<Point<int>>();
-
-Future<WebDriver> createTestDriver(
-    {Map<String, dynamic> additionalCapabilities}) {
-  var address = Platform.environment['WEB_TEST_WEBDRIVER_SERVER'];
-  if (!address.endsWith('/')) {
-    address += '/';
-  }
-  var uri = Uri.parse(address);
-  return wdio.createDriver(uri: uri, desired: additionalCapabilities);
-}
diff --git a/test/window_test.dart b/test/window_test.dart
index 86432e0..66aae90 100644
--- a/test/window_test.dart
+++ b/test/window_test.dart
@@ -12,22 +12,23 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+@TestOn("vm")
 library webdriver.window_test;
 
 import 'dart:math' show Point, Rectangle;
 
 import 'package:test/test.dart';
-import 'package:webdriver/support/async.dart';
 import 'package:webdriver/core.dart';
+import 'package:webdriver/support/async.dart';
 
-import 'test_util.dart';
+import 'io_config.dart' as config;
 
 void main() {
   group('Window', () {
     WebDriver driver;
 
     setUp(() async {
-      driver = await createTestDriver();
+      driver = await config.createTestDriver();
     });
 
     tearDown(() async {
@@ -49,7 +50,7 @@
       var position = const Point<int>(100, 200);
       await window.setLocation(position);
       expect(await window.location, position);
-    });
+    }, skip: 'unreliable');
 
     // May not work on some OS/browser combinations (notably Mac OS X).
     test('maximize', () async {
diff --git a/third_party/chromedriver/BUILD b/third_party/chromedriver/BUILD
deleted file mode 100644
index 700a6d1..0000000
--- a/third_party/chromedriver/BUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2016 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-package(
-    default_testonly = 1,
-    default_visibility = ["//browsers:__subpackages__"],
-)
-
-load("@io_bazel_rules_webtesting//web:web.bzl", "web_test_archive")
-
-licenses([
-    "notice",
-    "reciprocal",
-])
-
-exports_files(["LICENSE"])
-
-web_test_archive(
-    name = "chromedriver",
-    archive = "@org_chromium_chromedriver//file",
-    named_files = {
-        "CHROMEDRIVER": "chromedriver",
-    },
-)
diff --git a/third_party/chromedriver/LICENSE b/third_party/chromedriver/LICENSE
deleted file mode 100644
index 45b8173..0000000
--- a/third_party/chromedriver/LICENSE
+++ /dev/null
@@ -1,1162 +0,0 @@
-::::::::::::::
-chromium/src/LICENSE
-::::::::::::::
-// Copyright 2014 The Chromium Authors. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-::::::::::::::
-chromium/src/third_party/skia/LICENSE
-::::::::::::::
-// Copyright (c) 2011 Google Inc. All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//    * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//    * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//    * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-::::::::::::::
-chromium/src/third_party/icu/LICENSE
-::::::::::::::
-ICU License - ICU 1.8.1 and later
-
-COPYRIGHT AND PERMISSION NOTICE
-
-Copyright (c) 1995-2010 International Business Machines Corporation and others
-
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, and/or sell
-copies of the Software, and to permit persons
-to whom the Software is furnished to do so, provided that the above
-copyright notice(s) and this permission notice appear in all copies
-of the Software and that both the above copyright notice(s) and this
-permission notice appear in supporting documentation.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
-INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
-PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL
-THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM,
-OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
-RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
-USE OR PERFORMANCE OF THIS SOFTWARE.
-
-Except as contained in this notice, the name of a copyright holder shall not be
-used in advertising or otherwise to promote the sale, use or other dealings in
-this Software without prior written authorization of the copyright holder.
-
-All trademarks and registered trademarks mentioned herein are the property of their respective owners.
-::::::::::::::
-chromium/src/net/third_party/nss/LICENSE
-chromium/src/crypto/third_party/nss/LICENSE
-chromium/src/net/third_party/mozilla_security_manager/LICENSE
-chromium/src/base/third_party/nspr/LICENSE
-::::::::::::::
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is the Netscape security libraries, mozilla.org code and
- * the Netscape Portable Runtime (NSPR).
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by the Initial Developer are Copyright (C) 1994-2001
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-                          MOZILLA PUBLIC LICENSE
-                                Version 1.1
-
-                              ---------------
-
-1. Definitions.
-
-     1.0.1. "Commercial Use" means distribution or otherwise making the
-     Covered Code available to a third party.
-
-     1.1. "Contributor" means each entity that creates or contributes to
-     the creation of Modifications.
-
-     1.2. "Contributor Version" means the combination of the Original
-     Code, prior Modifications used by a Contributor, and the Modifications
-     made by that particular Contributor.
-
-     1.3. "Covered Code" means the Original Code or Modifications or the
-     combination of the Original Code and Modifications, in each case
-     including portions thereof.
-
-     1.4. "Electronic Distribution Mechanism" means a mechanism generally
-     accepted in the software development community for the electronic
-     transfer of data.
-
-     1.5. "Executable" means Covered Code in any form other than Source
-     Code.
-
-     1.6. "Initial Developer" means the individual or entity identified
-     as the Initial Developer in the Source Code notice required by Exhibit
-     A.
-
-     1.7. "Larger Work" means a work which combines Covered Code or
-     portions thereof with code not governed by the terms of this License.
-
-     1.8. "License" means this document.
-
-     1.8.1. "Licensable" means having the right to grant, to the maximum
-     extent possible, whether at the time of the initial grant or
-     subsequently acquired, any and all of the rights conveyed herein.
-
-     1.9. "Modifications" means any addition to or deletion from the
-     substance or structure of either the Original Code or any previous
-     Modifications. When Covered Code is released as a series of files, a
-     Modification is:
-          A. Any addition to or deletion from the contents of a file
-          containing Original Code or previous Modifications.
-
-          B. Any new file that contains any part of the Original Code or
-          previous Modifications.
-
-     1.10. "Original Code" means Source Code of computer software code
-     which is described in the Source Code notice required by Exhibit A as
-     Original Code, and which, at the time of its release under this
-     License is not already Covered Code governed by this License.
-
-     1.10.1. "Patent Claims" means any patent claim(s), now owned or
-     hereafter acquired, including without limitation,  method, process,
-     and apparatus claims, in any patent Licensable by grantor.
-
-     1.11. "Source Code" means the preferred form of the Covered Code for
-     making modifications to it, including all modules it contains, plus
-     any associated interface definition files, scripts used to control
-     compilation and installation of an Executable, or source code
-     differential comparisons against either the Original Code or another
-     well known, available Covered Code of the Contributor's choice. The
-     Source Code can be in a compressed or archival form, provided the
-     appropriate decompression or de-archiving software is widely available
-     for no charge.
-
-     1.12. "You" (or "Your")  means an individual or a legal entity
-     exercising rights under, and complying with all of the terms of, this
-     License or a future version of this License issued under Section 6.1.
-     For legal entities, "You" includes any entity which controls, is
-     controlled by, or is under common control with You. For purposes of
-     this definition, "control" means (a) the power, direct or indirect,
-     to cause the direction or management of such entity, whether by
-     contract or otherwise, or (b) ownership of more than fifty percent
-     (50%) of the outstanding shares or beneficial ownership of such
-     entity.
-
-2. Source Code License.
-
-     2.1. The Initial Developer Grant.
-     The Initial Developer hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Initial Developer to use, reproduce,
-          modify, display, perform, sublicense and distribute the Original
-          Code (or portions thereof) with or without Modifications, and/or
-          as part of a Larger Work; and
-
-          (b) under Patents Claims infringed by the making, using or
-          selling of Original Code, to make, have made, use, practice,
-          sell, and offer for sale, and/or otherwise dispose of the
-          Original Code (or portions thereof).
-
-          (c) the licenses granted in this Section 2.1(a) and (b) are
-          effective on the date Initial Developer first distributes
-          Original Code under the terms of this License.
-
-          (d) Notwithstanding Section 2.1(b) above, no patent license is
-          granted: 1) for code that You delete from the Original Code; 2)
-          separate from the Original Code;  or 3) for infringements caused
-          by: i) the modification of the Original Code or ii) the
-          combination of the Original Code with other software or devices.
-
-     2.2. Contributor Grant.
-     Subject to third party intellectual property claims, each Contributor
-     hereby grants You a world-wide, royalty-free, non-exclusive license
-
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Contributor, to use, reproduce, modify,
-          display, perform, sublicense and distribute the Modifications
-          created by such Contributor (or portions thereof) either on an
-          unmodified basis, with other Modifications, as Covered Code
-          and/or as part of a Larger Work; and
-
-          (b) under Patent Claims infringed by the making, using, or
-          selling of  Modifications made by that Contributor either alone
-          and/or in combination with its Contributor Version (or portions
-          of such combination), to make, use, sell, offer for sale, have
-          made, and/or otherwise dispose of: 1) Modifications made by that
-          Contributor (or portions thereof); and 2) the combination of
-          Modifications made by that Contributor with its Contributor
-          Version (or portions of such combination).
-
-          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
-          effective on the date Contributor first makes Commercial Use of
-          the Covered Code.
-
-          (d)    Notwithstanding Section 2.2(b) above, no patent license is
-          granted: 1) for any code that Contributor has deleted from the
-          Contributor Version; 2)  separate from the Contributor Version;
-          3)  for infringements caused by: i) third party modifications of
-          Contributor Version or ii)  the combination of Modifications made
-          by that Contributor with other software  (except as part of the
-          Contributor Version) or other devices; or 4) under Patent Claims
-          infringed by Covered Code in the absence of Modifications made by
-          that Contributor.
-
-3. Distribution Obligations.
-
-     3.1. Application of License.
-     The Modifications which You create or to which You contribute are
-     governed by the terms of this License, including without limitation
-     Section 2.2. The Source Code version of Covered Code may be
-     distributed only under the terms of this License or a future version
-     of this License released under Section 6.1, and You must include a
-     copy of this License with every copy of the Source Code You
-     distribute. You may not offer or impose any terms on any Source Code
-     version that alters or restricts the applicable version of this
-     License or the recipients' rights hereunder. However, You may include
-     an additional document offering the additional rights described in
-     Section 3.5.
-
-     3.2. Availability of Source Code.
-     Any Modification which You create or to which You contribute must be
-     made available in Source Code form under the terms of this License
-     either on the same media as an Executable version or via an accepted
-     Electronic Distribution Mechanism to anyone to whom you made an
-     Executable version available; and if made available via Electronic
-     Distribution Mechanism, must remain available for at least twelve (12)
-     months after the date it initially became available, or at least six
-     (6) months after a subsequent version of that particular Modification
-     has been made available to such recipients. You are responsible for
-     ensuring that the Source Code version remains available even if the
-     Electronic Distribution Mechanism is maintained by a third party.
-
-     3.3. Description of Modifications.
-     You must cause all Covered Code to which You contribute to contain a
-     file documenting the changes You made to create that Covered Code and
-     the date of any change. You must include a prominent statement that
-     the Modification is derived, directly or indirectly, from Original
-     Code provided by the Initial Developer and including the name of the
-     Initial Developer in (a) the Source Code, and (b) in any notice in an
-     Executable version or related documentation in which You describe the
-     origin or ownership of the Covered Code.
-
-     3.4. Intellectual Property Matters
-          (a) Third Party Claims.
-          If Contributor has knowledge that a license under a third party's
-          intellectual property rights is required to exercise the rights
-          granted by such Contributor under Sections 2.1 or 2.2,
-          Contributor must include a text file with the Source Code
-          distribution titled "LEGAL" which describes the claim and the
-          party making the claim in sufficient detail that a recipient will
-          know whom to contact. If Contributor obtains such knowledge after
-          the Modification is made available as described in Section 3.2,
-          Contributor shall promptly modify the LEGAL file in all copies
-          Contributor makes available thereafter and shall take other steps
-          (such as notifying appropriate mailing lists or newsgroups)
-          reasonably calculated to inform those who received the Covered
-          Code that new knowledge has been obtained.
-
-          (b) Contributor APIs.
-          If Contributor's Modifications include an application programming
-          interface and Contributor has knowledge of patent licenses which
-          are reasonably necessary to implement that API, Contributor must
-          also include this information in the LEGAL file.
-
-               (c)    Representations.
-          Contributor represents that, except as disclosed pursuant to
-          Section 3.4(a) above, Contributor believes that Contributor's
-          Modifications are Contributor's original creation(s) and/or
-          Contributor has sufficient rights to grant the rights conveyed by
-          this License.
-
-     3.5. Required Notices.
-     You must duplicate the notice in Exhibit A in each file of the Source
-     Code.  If it is not possible to put such notice in a particular Source
-     Code file due to its structure, then You must include such notice in a
-     location (such as a relevant directory) where a user would be likely
-     to look for such a notice.  If You created one or more Modification(s)
-     You may add your name as a Contributor to the notice described in
-     Exhibit A.  You must also duplicate this License in any documentation
-     for the Source Code where You describe recipients' rights or ownership
-     rights relating to Covered Code.  You may choose to offer, and to
-     charge a fee for, warranty, support, indemnity or liability
-     obligations to one or more recipients of Covered Code. However, You
-     may do so only on Your own behalf, and not on behalf of the Initial
-     Developer or any Contributor. You must make it absolutely clear than
-     any such warranty, support, indemnity or liability obligation is
-     offered by You alone, and You hereby agree to indemnify the Initial
-     Developer and every Contributor for any liability incurred by the
-     Initial Developer or such Contributor as a result of warranty,
-     support, indemnity or liability terms You offer.
-
-     3.6. Distribution of Executable Versions.
-     You may distribute Covered Code in Executable form only if the
-     requirements of Section 3.1-3.5 have been met for that Covered Code,
-     and if You include a notice stating that the Source Code version of
-     the Covered Code is available under the terms of this License,
-     including a description of how and where You have fulfilled the
-     obligations of Section 3.2. The notice must be conspicuously included
-     in any notice in an Executable version, related documentation or
-     collateral in which You describe recipients' rights relating to the
-     Covered Code. You may distribute the Executable version of Covered
-     Code or ownership rights under a license of Your choice, which may
-     contain terms different from this License, provided that You are in
-     compliance with the terms of this License and that the license for the
-     Executable version does not attempt to limit or alter the recipient's
-     rights in the Source Code version from the rights set forth in this
-     License. If You distribute the Executable version under a different
-     license You must make it absolutely clear that any terms which differ
-     from this License are offered by You alone, not by the Initial
-     Developer or any Contributor. You hereby agree to indemnify the
-     Initial Developer and every Contributor for any liability incurred by
-     the Initial Developer or such Contributor as a result of any such
-     terms You offer.
-
-     3.7. Larger Works.
-     You may create a Larger Work by combining Covered Code with other code
-     not governed by the terms of this License and distribute the Larger
-     Work as a single product. In such a case, You must make sure the
-     requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-     If it is impossible for You to comply with any of the terms of this
-     License with respect to some or all of the Covered Code due to
-     statute, judicial order, or regulation then You must: (a) comply with
-     the terms of this License to the maximum extent possible; and (b)
-     describe the limitations and the code they affect. Such description
-     must be included in the LEGAL file described in Section 3.4 and must
-     be included with all distributions of the Source Code. Except to the
-     extent prohibited by statute or regulation, such description must be
-     sufficiently detailed for a recipient of ordinary skill to be able to
-     understand it.
-
-5. Application of this License.
-
-     This License applies to code to which the Initial Developer has
-     attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
-     6.1. New Versions.
-     Netscape Communications Corporation ("Netscape") may publish revised
-     and/or new versions of the License from time to time. Each version
-     will be given a distinguishing version number.
-
-     6.2. Effect of New Versions.
-     Once Covered Code has been published under a particular version of the
-     License, You may always continue to use it under the terms of that
-     version. You may also choose to use such Covered Code under the terms
-     of any subsequent version of the License published by Netscape. No one
-     other than Netscape has the right to modify the terms applicable to
-     Covered Code created under this License.
-
-     6.3. Derivative Works.
-     If You create or use a modified version of this License (which you may
-     only do in order to apply it to code which is not already Covered Code
-     governed by this License), You must (a) rename Your license so that
-     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
-     "MPL", "NPL" or any confusingly similar phrase do not appear in your
-     license (except to note that your license differs from this License)
-     and (b) otherwise make it clear that Your version of the license
-     contains terms which differ from the Mozilla Public License and
-     Netscape Public License. (Filling in the name of the Initial
-     Developer, Original Code or Contributor in the notice described in
-     Exhibit A shall not of themselves be deemed to be modifications of
-     this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
-     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
-     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
-     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
-     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
-     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
-     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-     8.1.  This License and the rights granted hereunder will terminate
-     automatically if You fail to comply with terms herein and fail to cure
-     such breach within 30 days of becoming aware of the breach. All
-     sublicenses to the Covered Code which are properly granted shall
-     survive any termination of this License. Provisions which, by their
-     nature, must remain in effect beyond the termination of this License
-     shall survive.
-
-     8.2.  If You initiate litigation by asserting a patent infringement
-     claim (excluding declatory judgment actions) against Initial Developer
-     or a Contributor (the Initial Developer or Contributor against whom
-     You file such action is referred to as "Participant")  alleging that:
-
-     (a)  such Participant's Contributor Version directly or indirectly
-     infringes any patent, then any and all rights granted by such
-     Participant to You under Sections 2.1 and/or 2.2 of this License
-     shall, upon 60 days notice from Participant terminate prospectively,
-     unless if within 60 days after receipt of notice You either: (i)
-     agree in writing to pay Participant a mutually agreeable reasonable
-     royalty for Your past and future use of Modifications made by such
-     Participant, or (ii) withdraw Your litigation claim with respect to
-     the Contributor Version against such Participant.  If within 60 days
-     of notice, a reasonable royalty and payment arrangement are not
-     mutually agreed upon in writing by the parties or the litigation claim
-     is not withdrawn, the rights granted by Participant to You under
-     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
-     the 60 day notice period specified above.
-
-     (b)  any software, hardware, or device, other than such Participant's
-     Contributor Version, directly or indirectly infringes any patent, then
-     any rights granted to You by such Participant under Sections 2.1(b)
-     and 2.2(b) are revoked effective as of the date You first made, used,
-     sold, distributed, or had made, Modifications made by that
-     Participant.
-
-     8.3.  If You assert a patent infringement claim against Participant
-     alleging that such Participant's Contributor Version directly or
-     indirectly infringes any patent where such claim is resolved (such as
-     by license or settlement) prior to the initiation of patent
-     infringement litigation, then the reasonable value of the licenses
-     granted by such Participant under Sections 2.1 or 2.2 shall be taken
-     into account in determining the amount or value of any payment or
-     license.
-
-     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
-     all end user license agreements (excluding distributors and resellers)
-     which have been validly granted by You or any distributor hereunder
-     prior to termination shall survive termination.
-
-9. LIMITATION OF LIABILITY.
-
-     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
-     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
-     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
-     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
-     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
-     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-     The Covered Code is a "commercial item," as that term is defined in
-     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
-     software" and "commercial computer software documentation," as such
-     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
-     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
-     all U.S. Government End Users acquire Covered Code with only those
-     rights set forth herein.
-
-11. MISCELLANEOUS.
-
-     This License represents the complete agreement concerning subject
-     matter hereof. If any provision of this License is held to be
-     unenforceable, such provision shall be reformed only to the extent
-     necessary to make it enforceable. This License shall be governed by
-     California law provisions (except to the extent applicable law, if
-     any, provides otherwise), excluding its conflict-of-law provisions.
-     With respect to disputes in which at least one party is a citizen of,
-     or an entity chartered or registered to do business in the United
-     States of America, any litigation relating to this License shall be
-     subject to the jurisdiction of the Federal Courts of the Northern
-     District of California, with venue lying in Santa Clara County,
-     California, with the losing party responsible for costs, including
-     without limitation, court costs and reasonable attorneys' fees and
-     expenses. The application of the United Nations Convention on
-     Contracts for the International Sale of Goods is expressly excluded.
-     Any law or regulation which provides that the language of a contract
-     shall be construed against the drafter shall not apply to this
-     License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-     As between Initial Developer and the Contributors, each party is
-     responsible for claims and damages arising, directly or indirectly,
-     out of its utilization of rights under this License and You agree to
-     work with Initial Developer and Contributors to distribute such
-     responsibility on an equitable basis. Nothing herein is intended or
-     shall be deemed to constitute any admission of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
-     Initial Developer may designate portions of the Covered Code as
-     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
-     Developer permits you to utilize portions of the Covered Code under
-     Your choice of the MPL or the alternative licenses, if any, specified
-     by the Initial Developer in the file described in Exhibit A.
-
-EXHIBIT A -Mozilla Public License.
-
-     ``The contents of this file are subject to the Mozilla Public License
-     Version 1.1 (the "License"); you may not use this file except in
-     compliance with the License. You may obtain a copy of the License at
-     http://www.mozilla.org/MPL/
-
-     Software distributed under the License is distributed on an "AS IS"
-     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-     License for the specific language governing rights and limitations
-     under the License.
-
-     The Original Code is ______________________________________.
-
-     The Initial Developer of the Original Code is ________________________.
-     Portions created by ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-     Contributor(s): ______________________________________.
-
-     Alternatively, the contents of this file may be used under the terms
-     of the _____ license (the  "[___] License"), in which case the
-     provisions of [______] License are applicable instead of those
-     above.  If you wish to allow use of your version of this file only
-     under the terms of the [____] License and not to allow others to use
-     your version of this file under the MPL, indicate your decision by
-     deleting  the provisions above and replace  them with the notice and
-     other provisions required by the [___] License.  If you do not delete
-     the provisions above, a recipient may use your version of this file
-     under either the MPL or the [___] License."
-
-     [NOTE: The text of this Exhibit A may differ slightly from the text of
-     the notices in the Source Code files of the Original Code. You should
-     use the text of this Exhibit A rather than the text found in the
-     Original Code Source Code for Your Modifications.]
-::::::::::::::
-chromium/src/third_party/zlib/LICENSE
-::::::::::::::
-/* zlib.h -- interface of the 'zlib' general purpose compression library
-  version 1.2.4, March 14th, 2010
-
-  Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-
-  Jean-loup Gailly
-  Mark Adler
-
-*/
-::::::::::::::
-chromium/src/third_party/libpng/LICENSE
-::::::::::::::
-
-This copy of the libpng notices is provided for your convenience.  In case of
-any discrepancy between this copy and the notices in the file png.h that is
-included in the libpng distribution, the latter shall prevail.
-
-COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
-
-If you modify libpng you may insert additional notices immediately following
-this sentence.
-
-This code is released under the libpng license.
-
-libpng versions 1.2.6, August 15, 2004, through 1.2.45, July 7, 2011, are
-Copyright (c) 2004, 2006-2009 Glenn Randers-Pehrson, and are
-distributed according to the same disclaimer and license as libpng-1.2.5
-with the following individual added to the list of Contributing Authors
-
-   Cosmin Truta
-
-libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
-Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
-distributed according to the same disclaimer and license as libpng-1.0.6
-with the following individuals added to the list of Contributing Authors
-
-   Simon-Pierre Cadieux
-   Eric S. Raymond
-   Gilles Vollant
-
-and with the following additions to the disclaimer:
-
-   There is no warranty against interference with your enjoyment of the
-   library or against infringement.  There is no warranty that our
-   efforts or the library will fulfill any of your particular purposes
-   or needs.  This library is provided with all faults, and the entire
-   risk of satisfactory quality, performance, accuracy, and effort is with
-   the user.
-
-libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
-Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
-distributed according to the same disclaimer and license as libpng-0.96,
-with the following individuals added to the list of Contributing Authors:
-
-   Tom Lane
-   Glenn Randers-Pehrson
-   Willem van Schaik
-
-libpng versions 0.89, June 1996, through 0.96, May 1997, are
-Copyright (c) 1996, 1997 Andreas Dilger
-Distributed according to the same disclaimer and license as libpng-0.88,
-with the following individuals added to the list of Contributing Authors:
-
-   John Bowler
-   Kevin Bracey
-   Sam Bushell
-   Magnus Holmgren
-   Greg Roelofs
-   Tom Tanner
-
-libpng versions 0.5, May 1995, through 0.88, January 1996, are
-Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
-
-For the purposes of this copyright and license, "Contributing Authors"
-is defined as the following set of individuals:
-
-   Andreas Dilger
-   Dave Martindale
-   Guy Eric Schalnat
-   Paul Schmidt
-   Tim Wegner
-
-The PNG Reference Library is supplied "AS IS".  The Contributing Authors
-and Group 42, Inc. disclaim all warranties, expressed or implied,
-including, without limitation, the warranties of merchantability and of
-fitness for any purpose.  The Contributing Authors and Group 42, Inc.
-assume no liability for direct, indirect, incidental, special, exemplary,
-or consequential damages, which may result from the use of the PNG
-Reference Library, even if advised of the possibility of such damage.
-
-Permission is hereby granted to use, copy, modify, and distribute this
-source code, or portions hereof, for any purpose, without fee, subject
-to the following restrictions:
-
-1. The origin of this source code must not be misrepresented.
-
-2. Altered versions must be plainly marked as such and must not
-   be misrepresented as being the original source.
-
-3. This Copyright notice may not be removed or altered from any
-   source or altered source distribution.
-
-The Contributing Authors and Group 42, Inc. specifically permit, without
-fee, and encourage the use of this source code as a component to
-supporting the PNG file format in commercial products.  If you use this
-source code in a product, acknowledgment is not required but would be
-appreciated.
-
-
-A "png_get_copyright" function is available, for convenient use in "about"
-boxes and the like:
-
-   printf("%s",png_get_copyright(NULL));
-
-Also, the PNG logo (in PNG format, of course) is supplied in the
-files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
-
-Libpng is OSI Certified Open Source Software.  OSI Certified Open Source is a
-certification mark of the Open Source Initiative.
-
-Glenn Randers-Pehrson
-glennrp at users.sourceforge.net
-July 7, 2011
-::::::::::::::
-chromium/src/third_party/libevent/LICENSE
-::::::::::::::
-Copyright 2000-2007 Niels Provos <provos@citi.umich.edu>
-Copyright 2007-2009 Niels Provos and Nick Mathewson
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-::::::::::::::
-chromium/src/base/third_party/xdg_mime/LICENSE
-::::::::::::::
-Licensed under the Academic Free License version 2.0 (below)
-Or under the following terms:
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2 of the License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the
-Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
-
-
---------------------------------------------------------------------------------
-Academic Free License v. 2.0
---------------------------------------------------------------------------------
-
-This Academic Free License (the "License") applies to any original work of
-authorship (the "Original Work") whose owner (the "Licensor") has placed the
-following notice immediately following the copyright notice for the Original
-Work:
-
-Licensed under the Academic Free License version 2.0
-1) Grant of Copyright License. Licensor hereby grants You a world-wide,
-royalty-free, non-exclusive, perpetual, sublicenseable license to do the
-following:
-
-a) to reproduce the Original Work in copies;
-b) to prepare derivative works ("Derivative Works") based upon the Original
-   Work;
-c) to distribute copies of the Original Work and Derivative Works to the
-   public;
-d) to perform the Original Work publicly; and
-e) to display the Original Work publicly.
-
-2) Grant of Patent License. Licensor hereby grants You a world-wide,
-royalty-free, non-exclusive, perpetual, sublicenseable license, under patent
-claims owned or controlled by the Licensor that are embodied in the Original
-Work as furnished by the Licensor, to make, use, sell and offer for sale the
-Original Work and Derivative Works.
-
-3) Grant of Source Code License. The term "Source Code" means the preferred
-form of the Original Work for making modifications to it and all available
-documentation describing how to modify the Original Work. Licensor hereby
-agrees to provide a machine-readable copy of the Source Code of the Original
-Work along with each copy of the Original Work that Licensor distributes.
-Licensor reserves the right to satisfy this obligation by placing a
-machine-readable copy of the Source Code in an information repository
-reasonably calculated to permit inexpensive and convenient access by You for as
-long as Licensor continues to distribute the Original Work, and by publishing
-the address of that information repository in a notice immediately following
-the copyright notice that applies to the Original Work.
-
-4) Exclusions From License Grant. Neither the names of Licensor, nor the names
-of any contributors to the Original Work, nor any of their trademarks or
-service marks, may be used to endorse or promote products derived from this
-Original Work without express prior written permission of the Licensor. Nothing
-in this License shall be deemed to grant any rights to trademarks, copyrights,
-patents, trade secrets or any other intellectual property of Licensor except as
-expressly stated herein. No patent license is granted to make, use, sell or
-offer to sell embodiments of any patent claims other than the licensed claims
-defined in Section 2. No right is granted to the trademarks of Licensor even if
-such marks are included in the Original Work. Nothing in this License shall be
-interpreted to prohibit Licensor from licensing under different terms from this
-License any Original Work that Licensor otherwise would have a right to
-license.
-
-5) This section intentionally omitted.
-
-6) Attribution Rights. You must retain, in the Source Code of any Derivative
-Works that You create, all copyright, patent or trademark notices from the
-Source Code of the Original Work, as well as any notices of licensing and any
-descriptive text identified therein as an "Attribution Notice." You must cause
-the Source Code for any Derivative Works that You create to carry a prominent
-Attribution Notice reasonably calculated to inform recipients that You have
-modified the Original Work.
-
-7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that
-the copyright in and to the Original Work and the patent rights granted herein
-by Licensor are owned by the Licensor or are sublicensed to You under the terms
-of this License with the permission of the contributor(s) of those copyrights
-and patent rights. Except as expressly stated in the immediately proceeding
-sentence, the Original Work is provided under this License on an "AS IS" BASIS
-and WITHOUT WARRANTY, either express or implied, including, without limitation,
-the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU.
-This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No
-license to Original Work is granted hereunder except under this disclaimer.
-
-8) Limitation of Liability. Under no circumstances and under no legal theory,
-whether in tort (including negligence), contract, or otherwise, shall the
-Licensor be liable to any person for any direct, indirect, special, incidental,
-or consequential damages of any character arising as a result of this License
-or the use of the Original Work including, without limitation, damages for loss
-of goodwill, work stoppage, computer failure or malfunction, or any and all
-other commercial damages or losses. This limitation of liability shall not
-apply to liability for death or personal injury resulting from Licensor's
-negligence to the extent applicable law prohibits such limitation. Some
-jurisdictions do not allow the exclusion or limitation of incidental or
-consequential damages, so this exclusion and limitation may not apply to You.
-
-9) Acceptance and Termination. If You distribute copies of the Original Work or
-a Derivative Work, You must make a reasonable effort under the circumstances to
-obtain the express assent of recipients to the terms of this License. Nothing
-else but this License (or another written agreement between Licensor and You)
-grants You permission to create Derivative Works based upon the Original Work
-or to exercise any of the rights granted in Section 1 herein, and any attempt
-to do so except under the terms of this License (or another written agreement
-between Licensor and You) is expressly prohibited by U.S. copyright law, the
-equivalent laws of other countries, and by international treaty. Therefore, by
-exercising any of the rights granted to You in Section 1 herein, You indicate
-Your acceptance of this License and all of its terms and conditions.
-
-10) Termination for Patent Action. This License shall terminate automatically
-and You may no longer exercise any of the rights granted to You by this License
-as of the date You commence an action, including a cross-claim or counterclaim,
-for patent infringement (i) against Licensor with respect to a patent
-applicable to software or (ii) against any entity with respect to a patent
-applicable to the Original Work (but excluding combinations of the Original
-Work with other software or hardware).
-
-11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this
-License may be brought only in the courts of a jurisdiction wherein the
-Licensor resides or in which Licensor conducts its primary business, and under
-the laws of that jurisdiction excluding its conflict-of-law provisions. The
-application of the United Nations Convention on Contracts for the International
-Sale of Goods is expressly excluded. Any use of the Original Work outside the
-scope of this License or after its termination shall be subject to the
-requirements and penalties of the U.S. Copyright Act, 17 U.S.C. 101 et seq.,
-the equivalent laws of other countries, and international treaty. This section
-shall survive the termination of this License.
-
-12) Attorneys Fees. In any action to enforce the terms of this License or
-seeking damages relating thereto, the prevailing party shall be entitled to
-recover its costs and expenses, including, without limitation, reasonable
-attorneys' fees and costs incurred in connection with such action, including
-any appeal of such action. This section shall survive the termination of this
-License.
-
-13) Miscellaneous. This License represents the complete agreement concerning
-the subject matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent necessary to
-make it enforceable.
-
-14) Definition of "You" in This License. "You" throughout this License, whether
-in upper or lower case, means an individual or a legal entity exercising rights
-under, and complying with all of the terms of, this License. For legal
-entities, "You" includes any entity that controls, is controlled by, or is
-under common control with you. For purposes of this definition, "control" means
-(i) the power, direct or indirect, to cause the direction or management of such
-entity, whether by contract or otherwise, or (ii) ownership of fifty percent
-(50%) or more of the outstanding shares, or (iii) beneficial ownership of such
-entity.
-
-15) Right to Use. You may use the Original Work in all ways not otherwise
-restricted or conditioned by this License or by law, and Licensor promises not
-to interfere with or be responsible for such uses by You.
-
-This license is Copyright (C) 2003 Lawrence E. Rosen. All rights reserved.
-Permission is hereby granted to copy and distribute this license without
-modification. This license may not be modified without the express written
-permission of its copyright owner.
-::::::::::::::
-chromium/src/third_party/modp_b64/LICENSE
-::::::::::::::
- * MODP_B64 - High performance base64 encoder/decoder
- * Version 1.3 -- 17-Mar-2006
- * http://modp.com/release/base64
- *
- * Copyright (c) 2005, 2006  Nick Galbreath -- nickg [at] modp [dot] com
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *   Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- *   Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- *   Neither the name of the modp.com nor the names of its
- *   contributors may be used to endorse or promote products derived from
- *   this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-::::::::::::::
-chromium/src/base/third_party/symbolize/LICENSE
-::::::::::::::
-// Copyright (c) 2006, Google Inc.
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-::::::::::::::
-chromium/src/base/third_party/dynamic_annotations/LICENSE
-::::::::::::::
-/* Copyright (c) 2008-2009, Google Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *     * Neither the name of Google Inc. nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * ---
- * Author: Kostya Serebryany
- */
-::::::::::::::
-chromium/src/base/third_party/dmg_fp/LICENSE
-::::::::::::::
-/****************************************************************
- *
- * The author of this software is David M. Gay.
- *
- * Copyright (c) 1991, 2000, 2001 by Lucent Technologies.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose without fee is hereby granted, provided that this entire notice
- * is included in all copies of any software which is or includes a copy
- * or modification of this software and in all copies of the supporting
- * documentation for such software.
- *
- * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTY.  IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY
- * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
- * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
- *
- ***************************************************************/
-::::::::::::::
-chromium/src/third_party/webdriver/LICENSE
-::::::::::::::
-NAME: WebDriver
-URL: http://selenium.googlecode.com/svn/trunk/py
-     http://selenium.googlecode.com/svn/trunk/common/src/web
-LICENSE: Apache 2 
-::::::::::::::
-chromium/src/base/third_party/xdg_user_dirs/LICENSE
-::::::::::::::
-  Copyright (c) 2007 Red Hat, inc
-
-  Permission is hereby granted, free of charge, to any person
-  obtaining a copy of this software and associated documentation files
-  (the "Software"), to deal in the Software without restriction,
-  including without limitation the rights to use, copy, modify, merge,
-  publish, distribute, sublicense, and/or sell copies of the Software,
-  and to permit persons to whom the Software is furnished to do so,
-  subject to the following conditions: 
-
-  The above copyright notice and this permission notice shall be
-  included in all copies or substantial portions of the Software. 
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-  SOFTWARE.
-::::::::::::::
-chromium/src/base/third_party/superfasthash/LICENSE
-::::::::::::::
-Paul Hsieh OLD BSD license
-
-Copyright (c) 2010, Paul Hsieh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
-  list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright notice, this
-  list of conditions and the following disclaimer in the documentation and/or
-  other materials provided with the distribution.
-* Neither my name, Paul Hsieh, nor the names of any other contributors to the
-  code use may not be used to endorse or promote products derived from this
-  software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-::::::::::::::
-chromium/src/base/third_party/icu/LICENSE
-::::::::::::::
-ICU License - ICU 1.8.1 and later
-
-COPYRIGHT AND PERMISSION NOTICE
-
-Copyright (c) 1995-2009 International Business Machines Corporation and others
-
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, and/or sell copies of the Software, and to permit persons
-to whom the Software is furnished to do so, provided that the above
-copyright notice(s) and this permission notice appear in all copies of
-the Software and that both the above copyright notice(s) and this
-permission notice appear in supporting documentation.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
-SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
-RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-Except as contained in this notice, the name of a copyright holder
-shall not be used in advertising or otherwise to promote the sale, use
-or other dealings in this Software without prior written authorization
-of the copyright holder.
\ No newline at end of file
diff --git a/third_party/chromium/BUILD b/third_party/chromium/BUILD
deleted file mode 100644
index aa55488..0000000
--- a/third_party/chromium/BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2016 Google Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-package(
-    default_testonly = 1,
-    default_visibility = ["//browsers:__subpackages__"],
-)
-
-load("@io_bazel_rules_webtesting//web:web.bzl", "web_test_archive")
-
-licenses(["by_exception_only"])
-
-exports_files(["LICENSE"])
-
-web_test_archive(
-    name = "chromium",
-    archive = "@org_chromium_chromium//file",
-    named_files = {
-        "CHROME": "chrome-linux/chrome",
-    },
-)
diff --git a/third_party/chromium/LICENSE b/third_party/chromium/LICENSE
deleted file mode 100644
index c756a9c..0000000
--- a/third_party/chromium/LICENSE
+++ /dev/null
@@ -1,760 +0,0 @@
-Google Chrome Terms of Service
-
-These Terms of Service apply to the executable code version of Google Chrome.
-Source code for Google Chrome is available free of charge under open source
-software license agreements at http://code.google.com/chromium/terms.html.
-
-1. Your relationship with Google
-
-1.1 Your use of Google’s products, software, services and web sites (referred to
-collectively as the “Services” in this document and excluding any services
-provided to you by Google under a separate written agreement) is subject to the
-terms of a legal agreement between you and Google. “Google” means Google Inc.,
-whose principal place of business is at 1600 Amphitheatre Parkway, Mountain
-View, CA 94043, United States. This document explains how the agreement is made
-up, and sets out some of the terms of that agreement.
-
-1.2 Unless otherwise agreed in writing with Google, your agreement with Google
-will always include, at a minimum, the terms and conditions set out in this
-document. These are referred to below as the “Universal Terms”. Open source
-software licenses for Google Chrome source code constitute separate written
-agreements. To the limited extent that the open source software licenses
-expressly supersede these Universal Terms, the open source licenses govern your
-agreement with Google for the use of Google Chrome or specific included
-components of Google Chrome.
-
-1.3 Your agreement with Google will also include the the terms set forth below
-in the Google Chrome Additional Terms of Service and terms of any Legal Notices
-applicable to the Services, in addition to the Universal Terms. All of these are
-referred to below as the “Additional Terms”. Where Additional Terms apply to a
-Service, these will be accessible for you to read either within, or through your
-use of, that Service.
-
-1.4 The Universal Terms, together with the Additional Terms, form a legally
-binding agreement between you and Google in relation to your use of the
-Services. It is important that you take the time to read them carefully.
-Collectively, this legal agreement is referred to below as the “Terms”.
-
-1.5 If there is any contradiction between what the Additional Terms say and what
-the Universal Terms say, then the Additional Terms shall take precedence in
-relation to that Service.
-
-2. Accepting the Terms
-
-2.1 In order to use the Services, you must first agree to the Terms. You may not
-use the Services if you do not accept the Terms.
-
-2.2 You can accept the Terms by:
-
-(A) clicking to accept or agree to the Terms, where this option is made
-available to you by Google in the user interface for any Service; or
-
-(B) by actually using the Services. In this case, you understand and agree that
-Google will treat your use of the Services as acceptance of the Terms from that
-point onwards.
-
-3. Language of the Terms
-
-3.1 Where Google has provided you with a translation of the English language
-version of the Terms, then you agree that the translation is provided for your
-convenience only and that the English language versions of the Terms will govern
-your relationship with Google.
-
-3.2 If there is any contradiction between what the English language version of
-the Terms says and what a translation says, then the English language version
-shall take precedence.
-
-4. Provision of the Services by Google
-
-4.1 Google has subsidiaries and affiliated legal entities around the world
-(“Subsidiaries and Affiliates”). Sometimes, these companies will be providing
-the Services to you on behalf of Google itself. You acknowledge and agree that
-Subsidiaries and Affiliates will be entitled to provide the Services to you.
-
-4.2 Google is constantly innovating in order to provide the best possible
-experience for its users. You acknowledge and agree that the form and nature of
-the Services which Google provides may change from time to time without prior
-notice to you.
-
-4.3 As part of this continuing innovation, you acknowledge and agree that Google
-may stop (permanently or temporarily) providing the Services (or any features
-within the Services) to you or to users generally at Google’s sole discretion,
-without prior notice to you. You may stop using the Services at any time. You do
-not need to specifically inform Google when you stop using the Services.
-
-4.4 You acknowledge and agree that if Google disables access to your account,
-you may be prevented from accessing the Services, your account details or any
-files or other content which is contained in your account.
-
-5. Use of the Services by you
-
-5.1 You agree to use the Services only for purposes that are permitted by (a)
-the Terms and (b) any applicable law, regulation or generally accepted practices
-or guidelines in the relevant jurisdictions (including any laws regarding the
-export of data or software to and from the United States or other relevant
-countries).
-
-5.2 You agree that you will not engage in any activity that interferes with or
-disrupts the Services (or the servers and networks which are connected to the
-Services).
-
-5.3 Unless you have been specifically permitted to do so in a separate agreement
-with Google, you agree that you will not reproduce, duplicate, copy, sell, trade
-or resell the Services for any purpose.
-
-5.4 You agree that you are solely responsible for (and that Google has no
-responsibility to you or to any third party for) any breach of your obligations
-under the Terms and for the consequences (including any loss or damage which
-Google may suffer) of any such breach.
-
-6. Privacy and your personal information
-
-6.1 For information about Google’s data protection practices, please read
-Google’s privacy policy at http://www.google.com/privacy.html and at
-http://www.google.com/chrome/intl/en/privacy.html. This policy explains how
-Google treats your personal information, and protects your privacy, when you use
-the Services.
-
-6.2 You agree to the use of your data in accordance with Google’s privacy
-policies.
-
-7. Content in the Services
-
-7.1 You understand that all information (such as data files, written text,
-computer software, music, audio files or other sounds, photographs, videos or
-other images) which you may have access to as part of, or through your use of,
-the Services are the sole responsibility of the person from which such content
-originated. All such information is referred to below as the “Content.”
-
-7.2 You should be aware that Content presented to you as part of the Services,
-including but not limited to advertisements in the Services and sponsored
-Content within the Services may be protected by intellectual property rights
-which are owned by the sponsors or advertisers who provide that Content to
-Google (or by other persons or companies on their behalf). You may not modify,
-rent, lease, loan, sell, distribute or create derivative works based on this
-Content (either in whole or in part) unless you have been specifically told that
-you may do so by Google or by the owners of that Content, in a separate
-agreement.
-
-7.3 Google reserves the right (but shall have no obligation) to pre-screen,
-review, flag, filter, modify, refuse or remove any or all Content from any
-Service. For some of the Services, Google may provide tools to filter out
-explicit sexual content. These tools include the SafeSearch preference settings
-(see http://www.google.com/help/customize.html#safe). In addition, there are
-commercially available services and software to limit access to material that
-you may find objectionable.
-
-7.4 You understand that by using the Services you may be exposed to Content that
-you may find offensive, indecent or objectionable and that, in this respect, you
-use the Services at your own risk.
-
-7.5 You agree that you are solely responsible for (and that Google has no
-responsibility to you or to any third party for) any Content that you create,
-transmit or display while using the Services and for the consequences of your
-actions (including any loss or damage which Google may suffer) by doing so.
-
-8. Proprietary rights
-
-8.1 You acknowledge and agree that Google (or Google’s licensors) own all legal
-right, title and interest in and to the Services, including any intellectual
-property rights which subsist in the Services (whether those rights happen to be
-registered or not, and wherever in the world those rights may exist).
-
-8.2 Unless you have agreed otherwise in writing with Google, nothing in the
-Terms gives you a right to use any of Google’s trade names, trade marks, service
-marks, logos, domain names, and other distinctive brand features.
-
-8.3 If you have been given an explicit right to use any of these brand features
-in a separate written agreement with Google, then you agree that your use of
-such features shall be in compliance with that agreement, any applicable
-provisions of the Terms, and Google's brand feature use guidelines as updated
-from time to time. These guidelines can be viewed online at
-http://www.google.com/permissions/guidelines.html (or such other URL as Google
-may provide for this purpose from time to time).
-
-8.4 Google acknowledges and agrees that it obtains no right, title or interest
-from you (or your licensors) under these Terms in or to any Content that you
-submit, post, transmit or display on, or through, the Services, including any
-intellectual property rights which subsist in that Content (whether those rights
-happen to be registered or not, and wherever in the world those rights may
-exist). Unless you have agreed otherwise in writing with Google, you agree that
-you are responsible for protecting and enforcing those rights and that Google
-has no obligation to do so on your behalf.
-
-8.5 You agree that you shall not remove, obscure, or alter any proprietary
-rights notices (including copyright and trade mark notices) which may be affixed
-to or contained within the Services.
-
-8.6 Unless you have been expressly authorized to do so in writing by Google, you
-agree that in using the Services, you will not use any trade mark, service mark,
-trade name, logo of any company or organization in a way that is likely or
-intended to cause confusion about the owner or authorized user of such marks,
-names or logos.
-
-9. License from Google
-
-9.1 Google gives you a personal, worldwide, royalty-free, non-assignable and
-non-exclusive license to use the software provided to you by Google as part of
-the Services as provided to you by Google (referred to as the “Software” below).
-This license is for the sole purpose of enabling you to use and enjoy the
-benefit of the Services as provided by Google, in the manner permitted by the
-Terms.
-
-9.2 Subject to section 1.2, you may not (and you may not permit anyone else to)
-copy, modify, create a derivative work of, reverse engineer, decompile or
-otherwise attempt to extract the source code of the Software or any part
-thereof, unless this is expressly permitted or required by law, or unless you
-have been specifically told that you may do so by Google, in writing.
-
-9.3 Subject to section 1.2, unless Google has given you specific written
-permission to do so, you may not assign (or grant a sub-license of) your rights
-to use the Software, grant a security interest in or over your rights to use the
-Software, or otherwise transfer any part of your rights to use the Software.
-
-10. Content license from you
-
-10.1 You retain copyright and any other rights you already hold in Content which
-you submit, post or display on or through, the Services.
-
-11. Software updates
-
-11.1 The Software which you use may automatically download and install updates
-from time to time from Google. These updates are designed to improve, enhance
-and further develop the Services and may take the form of bug fixes, enhanced
-functions, new software modules and completely new versions. You agree to
-receive such updates (and permit Google to deliver these to you) as part of your
-use of the Services.
-
-12. Ending your relationship with Google
-
-12.1 The Terms will continue to apply until terminated by either you or Google
-as set out below.
-
-12.2 Google may at any time, terminate its legal agreement with you if:
-
-(A) you have breached any provision of the Terms (or have acted in manner which
-clearly shows that you do not intend to, or are unable to comply with the
-provisions of the Terms); or
-
-(B) Google is required to do so by law (for example, where the provision of the
-Services to you is, or becomes, unlawful); or
-
-(C) the partner with whom Google offered the Services to you has terminated its
-relationship with Google or ceased to offer the Services to you; or
-
-(D) Google is transitioning to no longer providing the Services to users in the
-country in which you are resident or from which you use the service; or
-
-(E) the provision of the Services to you by Google is, in Google’s opinion, no
-longer commercially viable.
-
-12.3 Nothing in this Section shall affect Google’s rights regarding provision of
-Services under Section 4 of the Terms.
-
-12.4 When these Terms come to an end, all of the legal rights, obligations and
-liabilities that you and Google have benefited from, been subject to (or which
-have accrued over time whilst the Terms have been in force) or which are
-expressed to continue indefinitely, shall be unaffected by this cessation, and
-the provisions of paragraph 19.7 shall continue to apply to such rights,
-obligations and liabilities indefinitely.
-
-13. EXCLUSION OF WARRANTIES
-
-13.1 NOTHING IN THESE TERMS, INCLUDING SECTIONS 13 AND 14, SHALL EXCLUDE OR
-LIMIT GOOGLE’S WARRANTY OR LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY
-EXCLUDED OR LIMITED BY APPLICABLE LAW. SOME JURISDICTIONS DO NOT ALLOW THE
-EXCLUSION OF CERTAIN WARRANTIES OR CONDITIONS OR THE LIMITATION OR EXCLUSION OF
-LIABILITY FOR LOSS OR DAMAGE CAUSED BY NEGLIGENCE, BREACH OF CONTRACT OR BREACH
-OF IMPLIED TERMS, OR INCIDENTAL OR CONSEQUENTIAL DAMAGES. ACCORDINGLY, ONLY THE
-LIMITATIONS WHICH ARE LAWFUL IN YOUR JURISDICTION WILL APPLY TO YOU AND OUR
-LIABILITY WILL BE LIMITED TO THE MAXIMUM EXTENT PERMITTED BY LAW.
-
-13.2 YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SERVICES IS AT YOUR
-SOLE RISK AND THAT THE SERVICES ARE PROVIDED "AS IS" AND “AS AVAILABLE.”
-
-13.3 IN PARTICULAR, GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS LICENSORS
-DO NOT REPRESENT OR WARRANT TO YOU THAT:
-
-(A) YOUR USE OF THE SERVICES WILL MEET YOUR REQUIREMENTS,
-
-(B) YOUR USE OF THE SERVICES WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM
-ERROR,
-
-(C) ANY INFORMATION OBTAINED BY YOU AS A RESULT OF YOUR USE OF THE SERVICES WILL
-BE ACCURATE OR RELIABLE, AND
-
-(D) THAT DEFECTS IN THE OPERATION OR FUNCTIONALITY OF ANY SOFTWARE PROVIDED TO
-YOU AS PART OF THE SERVICES WILL BE CORRECTED.
-
-13.4 ANY MATERIAL DOWNLOADED OR OTHERWISE OBTAINED THROUGH THE USE OF THE
-SERVICES IS DONE AT YOUR OWN DISCRETION AND RISK AND THAT YOU WILL BE SOLELY
-RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR OTHER DEVICE OR LOSS OF
-DATA THAT RESULTS FROM THE DOWNLOAD OF ANY SUCH MATERIAL.
-
-13.5 NO ADVICE OR INFORMATION, WHETHER ORAL OR WRITTEN, OBTAINED BY YOU FROM
-GOOGLE OR THROUGH OR FROM THE SERVICES SHALL CREATE ANY WARRANTY NOT EXPRESSLY
-STATED IN THE TERMS.
-
-13.6 GOOGLE FURTHER EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY
-KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED
-WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
-AND NON-INFRINGEMENT.
-
-14. LIMITATION OF LIABILITY
-
-14.1 SUBJECT TO OVERALL PROVISION IN PARAGRAPH 13.1 ABOVE, YOU EXPRESSLY
-UNDERSTAND AND AGREE THAT GOOGLE, ITS SUBSIDIARIES AND AFFILIATES, AND ITS
-LICENSORS SHALL NOT BE LIABLE TO YOU FOR:
-
-(A) ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES
-WHICH MAY BE INCURRED BY YOU, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY..
-THIS SHALL INCLUDE, BUT NOT BE LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED
-DIRECTLY OR INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS
-OF DATA SUFFERED, COST OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER
-INTANGIBLE LOSS;
-
-(B) ANY LOSS OR DAMAGE WHICH MAY BE INCURRED BY YOU, INCLUDING BUT NOT LIMITED
-TO LOSS OR DAMAGE AS A RESULT OF:
-
-(I) ANY RELIANCE PLACED BY YOU ON THE COMPLETENESS, ACCURACY OR EXISTENCE OF ANY
-ADVERTISING, OR AS A RESULT OF ANY RELATIONSHIP OR TRANSACTION BETWEEN YOU AND
-ANY ADVERTISER OR SPONSOR WHOSE ADVERTISING APPEARS ON THE SERVICES;
-
-(II) ANY CHANGES WHICH GOOGLE MAY MAKE TO THE SERVICES, OR FOR ANY PERMANENT OR
-TEMPORARY CESSATION IN THE PROVISION OF THE SERVICES (OR ANY FEATURES WITHIN THE
-SERVICES);
-
-(III) THE DELETION OF, CORRUPTION OF, OR FAILURE TO STORE, ANY CONTENT AND OTHER
-COMMUNICATIONS DATA MAINTAINED OR TRANSMITTED BY OR THROUGH YOUR USE OF THE
-SERVICES;
-
-(IV) YOUR FAILURE TO PROVIDE GOOGLE WITH ACCURATE ACCOUNT INFORMATION;
-
-(V) YOUR FAILURE TO KEEP YOUR PASSWORD OR ACCOUNT DETAILS SECURE AND
-CONFIDENTIAL;
-
-14.2 THE LIMITATIONS ON GOOGLE’S LIABILITY TO YOU IN PARAGRAPH 14.1 ABOVE SHALL
-APPLY WHETHER OR NOT GOOGLE HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE
-POSSIBILITY OF ANY SUCH LOSSES ARISING.
-
-15. Copyright and trade mark policies
-
-15.1 It is Google’s policy to respond to notices of alleged copyright
-infringement that comply with applicable international intellectual property law
-(including, in the United States, the Digital Millennium Copyright Act) and to
-terminating the accounts of repeat infringers. Details of Google’s policy can be
-found at http://www.google.com/dmca.html.
-
-15.2 Google operates a trade mark complaints procedure in respect of Google’s
-advertising business, details of which can be found at
-http://www.google.com/tm_complaint.html.
-
-16. Advertisements
-
-16.1 Some of the Services are supported by advertising revenue and may display
-advertisements and promotions. These advertisements may be targeted to the
-content of information stored on the Services, queries made through the Services
-or other information.
-
-16.2 The manner, mode and extent of advertising by Google on the Services are
-subject to change without specific notice to you.
-
-16.3 In consideration for Google granting you access to and use of the Services,
-you agree that Google may place such advertising on the Services.
-
-17. Other content
-
-17.1 The Services may include hyperlinks to other web sites or content or
-resources. Google may have no control over any web sites or resources which are
-provided by companies or persons other than Google.
-
-17.2 You acknowledge and agree that Google is not responsible for the
-availability of any such external sites or resources, and does not endorse any
-advertising, products or other materials on or available from such web sites or
-resources.
-
-17.3 You acknowledge and agree that Google is not liable for any loss or damage
-which may be incurred by you as a result of the availability of those external
-sites or resources, or as a result of any reliance placed by you on the
-completeness, accuracy or existence of any advertising, products or other
-materials on, or available from, such web sites or resources.
-
-18. Changes to the Terms
-
-18.1 Google may make changes to the Universal Terms or Additional Terms from
-time to time. When these changes are made, Google will make a new copy of the
-Universal Terms available at http://www.google.com/chrome/intl/en/eula_text.html
-and any new Additional Terms will be made available to you from within, or
-through, the affected Services.
-
-18.2 You understand and agree that if you use the Services after the date on
-which the Universal Terms or Additional Terms have changed, Google will treat
-your use as acceptance of the updated Universal Terms or Additional Terms.
-
-19. General legal terms
-
-19.1 Sometimes when you use the Services, you may (as a result of, or in
-connection with your use of the Services) use a service or download a piece of
-software, or purchase goods, which are provided by another person or company.
-Your use of these other services, software or goods may be subject to separate
-terms between you and the company or person concerned. If so, the Terms do not
-affect your legal relationship with these other companies or individuals.
-
-19.2 The Terms constitute the whole legal agreement between you and Google and
-govern your use of the Services (but excluding any services which Google may
-provide to you under a separate written agreement), and completely replace any
-prior agreements between you and Google in relation to the Services.
-
-19.3 You agree that Google may provide you with notices, including those
-regarding changes to the Terms, by email, regular mail, or postings on the
-Services.
-
-19.4 You agree that if Google does not exercise or enforce any legal right or
-remedy which is contained in the Terms (or which Google has the benefit of under
-any applicable law), this will not be taken to be a formal waiver of Google’s
-rights and that those rights or remedies will still be available to Google.
-
-19.5 If any court of law, having the jurisdiction to decide on this matter,
-rules that any provision of these Terms is invalid, then that provision will be
-removed from the Terms without affecting the rest of the Terms. The remaining
-provisions of the Terms will continue to be valid and enforceable.
-
-19.6 You acknowledge and agree that each member of the group of companies of
-which Google is the parent shall be third party beneficiaries to the Terms and
-that such other companies shall be entitled to directly enforce, and rely upon,
-any provision of the Terms which confers a benefit on (or rights in favor of)
-them. Other than this, no other person or company shall be third party
-beneficiaries to the Terms.
-
-19.7 The Terms, and your relationship with Google under the Terms, shall be
-governed by the laws of the State of California without regard to its conflict
-of laws provisions. You and Google agree to submit to the exclusive jurisdiction
-of the courts located within the county of Santa Clara, California to resolve
-any legal matter arising from the Terms. Notwithstanding this, you agree that
-Google shall still be allowed to apply for injunctive remedies (or an equivalent
-type of urgent legal relief) in any jurisdiction.
-
-20. Additional Terms for Extensions for Google Chrome
-
-20.1 These terms in this section apply if you install extensions on your copy of
-Google Chrome. Extensions are small software programs, developed by Google or
-third parties, that can modify and enhance the functionality of Google Chrome.
-Extensions may have greater privileges to access your browser or your computer
-than regular webpages, including the ability to read and modify your private
-data.
-
-20.2 From time to time, Google Chrome may check with remote servers (hosted by
-Google or by third parties) for available updates to extensions, including but
-not limited to bug fixes or enhanced functionality. You agree that such updates
-will be automatically requested, downloaded, and installed without further
-notice to you.
-
-20.3 From time to time, Google may discover an extension that violates Google
-developer terms or other legal agreements, laws, regulations or policies. Google
-Chrome will periodically download a list of such extensions from Google’s
-servers. You agree that Google may remotely disable or remove any such extension
-from user systems in its sole discretion.
-
-21. Additional Terms for Enterprise Use
-
-21.1 If you are a business entity, then the individual accepting on behalf of
-the entity (for the avoidance of doubt, for business entities, in these Terms,
-"you" means the entity) represents and warrants that he or she has the authority
-to act on your behalf, that you represent that you are duly authorized to do
-business in the country or countries where you operate, and that your employees,
-officers, representatives, and other agents accessing the Service are duly
-authorized to access Google Chrome and to legally bind you to these Terms.
-
-21.2 Subject to the Terms, and in addition to the license grant in Section 9,
-Google grants you a non-exclusive, non-transferable license to reproduce,
-distribute, install, and use Google Chrome solely on machines intended for use
-by your employees, officers, representatives, and agents in connection with your
-business entity, and provided that their use of Google Chrome will be subject to
-the Terms.
-
-August 12, 2010
-
-
-
-Google Chrome Additional Terms of Service
-
-MPEGLA
-
-THIS PRODUCT IS LICENSED UNDER THE AVC PATENT PORTFOLIO LICENSE FOR THE PERSONAL
-AND NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN COMPLIANCE WITH THE
-AVC STANDARD ( “AVC VIDEO”) AND/OR (ii) DECODE AVC VIDEO THAT WAS ENCODED BY A
-CONSUMER ENGAGED IN A PERSONAL AND NON-COMMERCIAL ACTIVITY AND/OR WAS OBTAINED
-FROM A VIDEO PARTNER LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS GRANTED OR
-SHALL BE IMPLIED FOR ANY OTHER USE. ADDITIONAL INFORMATION MAY BE OBTAINED FROM
-MPEG LA, L.L.C. SEE HTTP://WWW.MPEGLA.COM.
-
-Adobe
-
-Google Chrome may include one or more components provided by Adobe Systems
-Incorporated and Adobe Software Ireland Limited (collectively “Adobe”). Your use
-of the Adobe software as provided by Google (“Adobe Software”) is subject to the
-following additional terms (the “Adobe Terms”). You, the entity receiving the
-Adobe Software, will be hereinafter referred to as “Sublicensee.”
-
-1. License Restrictions.
-
-(a) Flash Player, Version 10.x is designed only as a browser plug-in.
-Sublicensee may not modify or distribute this Adobe Software for use as anything
-but a browser plug-in for playing back content on a web page. For example,
-Sublicensee will not modify this Adobe Software in order to allow interoperation
-with applications that run outside of the browser (e.g., standalone
-applications, widgets, device UI).
-
-(b) Sublicensee will not expose any APIs of the Flash Player, Version 10.x
-through a browser plug-in interface in such a way that allows such extension to
-be used to playback content from a web page as a stand-alone application.
-
-(c) The Chrome-Reader Software may not be used to render any PDF or EPUB
-documents that utilize digital rights management protocols or systems other than
-Adobe DRM.
-
-(d) Adobe DRM must be enabled in the Chrome-Reader Software for all Adobe DRM
-protected PDF and EPUB documents.
-
-(e) The Chrome-Reader Software may not, other than as explicitly permitted by
-the technical specifications, disable any capabilities provided by Adobe in the
-Adobe Software, including but not limited to, support for PDF and EPUB formats
-and Adobe DRM.
-
-2. Electronic Transmission. Sublicensee may allow the download of the Adobe
-Software from a web site, the Internet, an intranet, or similar technology (an,
-“Electronic Transmissions”) provided that Sublicensee agrees that any
-distributions of the Adobe Software by Sublicensee, including those on CD-ROM,
-DVD-ROM or other storage media and Electronic Transmissions, if expressly
-permitted, shall be subject to reasonable security measures to prevent
-unauthorized use. With relation to Electronic Transmissions approved hereunder,
-Sublicensee agrees to employ any reasonable use restrictions set by Adobe,
-including those related to security and/or the restriction of distribution to
-end users of the Sublicensee Product.
-
-3. EULA and Distribution Terms.
-
-(a) Sublicensee shall ensure that the Adobe Software is distributed to end users
-under an enforceable end user license agreement, in favor of Sublicensee and its
-suppliers containing at least each of the following minimum terms (the “End-User
-License”): (i) a prohibition against distribution and copying, (ii) a
-prohibition against modifications and derivative works, (iii) a prohibition
-against decompiling, reverse engineering, disassembling, and otherwise reducing
-the Adobe Software to a human-perceivable form, (iv) a provision indicating
-ownership of Sublicensee Product (as defined in Section 8) by Sublicensee and
-its licensors, (v) a disclaimer of indirect, special, incidental, punitive, and
-consequential damages, and (vi) other industry standard disclaimers and
-limitations, including, as applicable: a disclaimer of all applicable statutory
-warranties, to the full extent allowed by law.
-
-(b) Sublicensee shall ensure that the Adobe Software is distributed to
-Sublicensee’s distributors under an enforceable distribution license agreement,
-in favor of Sublicensee and its suppliers containing terms as protective of
-Adobe as the Adobe Terms.
-
-4. Opensource. Sublicensee will not directly or indirectly grant, or purport to
-grant, to any third party any rights or immunities under Adobe’s intellectual
-property or proprietary rights that will subject such intellectual property to
-an open source license or scheme in which there is or could be interpreted to be
-a requirement that as a condition of use, modification and/or distribution, the
-Adobe Software be: (i) disclosed or distributed in source code form; (ii)
-licensed for the purpose of making derivative works; or (iii) redistributable at
-no charge. For clarification purposes, the foregoing restriction does not
-preclude Sublicensee from distributing, and Sublicensee will distribute the
-Adobe Software as bundled with the Google Software, without charge.
-
-5. Additional Terms. With respect to any update, upgrade, new versions of the
-Adobe Software (collectively “Upgrades”) provided to Sublicenses, Adobe reserves
-the right to require additional terms and conditions applicable solely to the
-Upgrade and future versions thereof, and solely to the extent that such
-restrictions are imposed by Adobe on all licensees of such Upgrade. If
-Sublicensee does not agree to such additional terms or conditions, Sublicensee
-will have no license rights with respect to such Upgrade, and Sublicensee’s
-license rights with respect to the Adobe Software will terminate automatically
-on the 90th day from the date such additional terms are made available to
-Sublicensee.
-
-6. Proprietary Rights Notices. Sublicensee shall not, and shall require its
-distributors not to, delete or in any manner alter the copyright notices,
-trademarks, logos or related notices, or other proprietary rights notices of
-Adobe (and its licensors, if any) appearing on or within the Adobe Software or
-accompanying materials.
-
-7. Technical Requirements. Sublicensee and its distributors may only distribute
-Adobe Software and/or Upgrade on devices that (i) meet the technical
-specifications posted on http://www.adobe.com/mobile/licensees, (or a successor
-web site thereto), and (ii) has been verified by Adobe as set forth below.
-
-8. Verification and Update. Sublicensee must submit to Adobe each Sublicensee
-product (and each version thereof) containing the Adobe Software and/or Upgrade
-(“Sublicensee Product”) that do not meet the Device Verification exemption
-criteria to be communicated by Google, for Adobe to verify. Sublicensee shall
-pay for each submission made by Sublicensee by procuring verification packages
-at Adobe’s then-current terms set forth at http://flashmobile.adobe.com/.
-Sublicensee Product that has not passed verification may not be distributed.
-Verification will be accomplished in accordance with Adobe’s then-current
-process described at http://flashmobile.adobe.com/ (“Verification”).
-
-9. Profiles and Device Central. Sublicensee will be prompted to enter certain
-profile information about the Sublicensee Products either as part of the
-Verification process or some other method, and Sublicensee will provide such
-information, to Adobe. Adobe may (i) use such profile information as reasonably
-necessary to verify the Sublicensee Product (if such product is subject to
-Verification), and (ii) display such profile information in “Adobe Device
-Intelligence system,” located at https://devices.adobe.com/partnerportal/, and
-made available through Adobe’s authoring and development tools and services to
-enable developers and end users to see how content or applications are displayed
-in Sublicensee Products (e.g. how video images appear in certain phones).
-
-10. Export. Sublicensee acknowledges that the laws and regulations of the United
-States restrict the export and re-export of commodities and technical data of
-United States origin, which may include the Adobe Software. Sublicensee agrees
-that it will not export or re-export the Adobe Software, without the appropriate
-United States and foreign governmental clearances, if any.
-
-11. Technology Pass-through Terms.
-
-(a) Except pursuant to applicable permissions or agreements therefor, from or
-with the applicable parties, Sublicensees shall not use and shall not allow the
-use of, the Adobe Software for the encoding or decoding of mp3 audio only (.mp3)
-data on any non-pc device (e.g., mobile phone or set-top box), nor may the mp3
-encoders or decoders contained in the Adobe Software be used or accessed by any
-product other than the Adobe Software. The Adobe Software may be used for the
-encoding or decoding of MP3 data contained within a swf or flv file, which
-contains video, picture or other data. Sublicensee shall acknowledge that use of
-the Adobe Software for non-PC devices, as described in the prohibitions in this
-section, may require the payment of licensing royalties or other amounts to
-third parties who may hold intellectual property rights related to the MP3
-technology and that Adobe nor Sublicensee has not paid any royalties or other
-amounts on account of third party intellectual property rights for such use. If
-Sublicensee requires an MP3 encoder or decoder for such use, Sublicensee is
-responsible for obtaining the necessary intellectual property license, including
-any applicable patent rights.
-
-(b) Sublicensee will not use, copy, reproduce and modify (i) the On2 source code
-(provided hereunder as a component of the Source Code) as necessary to enable
-the Adobe Software to decode video in the Flash video file format (.flv or
-.f4v), and (ii) the Sorenson Spark source code (provided hereunder as a
-component of the Source Code) for the limited purpose of making bug fixes and
-performance enhancements to the Adobe Software. All codecs provided with the
-Adobe Software may only be used and distributed as an integrated part of the
-Adobe Software and may not be accessed by any other application, including other
-Google applications.
-
-(c) The Source Code may be provided with an AAC codec and/or HE-AAC codec (“the
-AAC Codec”). Use of the AAC Codec is conditioned on Sublicensee obtaining a
-proper patent license covering necessary patents as provided by VIA Licensing,
-for end products on or in which the AAC Codec will be used. Sublicensee
-acknowledges and agrees that Adobe is not providing a patent license for an AAC
-Codec under this Agreement to Sublicensee or its sublicensees.
-
-(d) THE SOURCE CODE MAY CONTAIN CODE LICENSED UNDER THE AVC PATENT PORTFOLIO
-LICENSE FOR THE PERSONAL NON-COMMERCIAL USE OF A CONSUMER TO (i) ENCODE VIDEO IN
-COMPLIANCE WITH THE AVC STANDARD ("AVC VIDEO") AND/OR (ii) DECODE AVC VIDEO THAT
-WAS ENCODED BY A CONSUMER ENGAGED IN A PERSONAL NON-COMMERCIAL ACTIVITY AND/OR
-WAS OBTAINED FROM A VIDEO PROVIDER LICENSED TO PROVIDE AVC VIDEO. NO LICENSE IS
-GRANTED OR WILL BE IMPLIED FOR ANY OTHER USE. ADDITIONAL INFORMATION MAY BE
-OBTAINED FROM MPEG LA, L.L.C. See http://www.mpegla.com
-
-12. Update. Sublicensee will not circumvent Google’s or Adobe’s efforts to
-update the Adobe Software in all Sublicensee’s products incorporating the Adobe
-Software as bundled with the Google Software (“Sublicensee Products”).
-
-13. Attribution and Proprietary Notices. Sublicensee will list the Adobe
-Software in publicly available Sublicensee Product specifications and include
-appropriate Adobe Software branding (specifically excluding the Adobe corporate
-logo) on the Sublicensee Product packaging or marketing materials in a manner
-consistent with branding of other third party products contained within the
-Sublicensee Product.
-
-14. No Warranty. THE ADOBE SOFTWARE IS MADE AVAILABLE TO SUBLICENSEE FOR USE AND
-REPRODUCTION “AS IS” AND ADOBE MAKES NO WARRANTY AS TO ITS USE OR PERFORMANCE.
-ADOBE AND ITS SUPPLIERS DO NOT AND CANNOT WARRANT THE PERFORMANCE OR RESULTS
-OBTAINED BY USING THE ADOBE SOFTWARE. EXCEPT FOR ANY WARRANTY, CONDITION,
-REPRESENTATION OR TERM TO THE EXTENT TO WHICH THE SAME CANNOT OR MAY NOT BE
-EXCLUDED OR LIMITED BY LAW APPLICABLE TO SUBLICENSEEIN SUBLICENSEE’S
-JURISDICTION, ADOBE AND ITS SUPPLIERS MAKE NO WARRANTIES, CONDITIONS,
-REPRESENTATIONS, OR TERMS (EXPRESS OR IMPLIED WHETHER BY STATUTE, COMMON LAW,
-CUSTOM, USAGE OR OTHERWISE) AS TO ANY MATTER INCLUDING WITHOUT LIMITATION
-NONINFRINGEMENT OF THIRD PARTY RIGHTS, MERCHANTABILITY, INTEGRATION,
-SATISFACTORY QUALITY, OR FITNESS FOR ANY PARTICULAR PURPOSE. SUBLICENSEE AGREES
-THAT SUBLICENSEE SHALL NOT MAKE ANY WARRANTY, EXPRESS OR IMPLIED, ON BEHALF OF
-ADOBE.
-
-15. Limitation of Liability. IN NO EVENT WILL ADOBE OR ITS SUPPLIERS BE LIABLE
-TO SUBLICENSEE FOR ANY DAMAGES, CLAIMS OR COSTS WHATSOEVER OR ANY CONSEQUENTIAL,
-INDIRECT, OR INCIDENTAL DAMAGES, OR ANY LOST PROFITS OR LOST SAVINGS, EVEN IF AN
-ADOBE REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS, DAMAGES,
-CLAIMS OR COSTS OR FOR ANY CLAIM BY ANY THIRD PARTY. THE FOREGOING LIMITATIONS
-AND EXCLUSIONS APPLY TO THE EXTENT PERMITTED BY APPLICABLE LAW IN SUBLICENSEE’S
-JURISDICTION. ADOBE’S AGGREGATE LIABILITY AND THAT OF ITS SUPPLIERS UNDER OR IN
-CONNECTION WITH THIS AGREEMENT SHALL BE LIMITED TO ONE THOUSAND DOLLARS
-(US$1,000). Nothing contained in this Agreement limits Adobe’s liability to
-Sublicensee in the event of death or personal injury resulting from Adobe’s
-negligence or for the tort of deceit (fraud). Adobe is acting on behalf of its
-suppliers for the purpose of disclaiming, excluding and/or limiting obligations,
-warranties and liability as provided in this Agreement, but in no other respects
-and for no other purpose.
-
-16. Content Protection Terms
-
-(a) Definitions.
-
-“Compliance and Robustness Rules” means the document setting forth compliance
-and robustness rules for the Adobe Software located at
-http://www.adobe.com/mobile/licensees, or a successor web site thereto.
-
-“Content Protection Functions” means those aspects of the Adobe Software that
-are designed to ensure compliance with the Compliance and Robustness Rules, and
-to prevent playback, copying, modification, redistribution or other actions with
-respect to digital content distributed for consumption by users of the Adobe
-Software when such actions are not authorized by the owners of such digital
-content or its licensed distributors.
-
-“Content Protection Code” means code within certain designated versions of the
-Adobe Software that enables certain Content Protection Functions.
-
-“Key” means a cryptographic value contained in the Adobe Software for use in
-decrypting digital content.
-
-(b) License Restrictions. Sublicensee’s right to exercise the licenses with
-respect to the Adobe Software is subject to the following additional
-restrictions and obligations. Sublicensee will ensure that Sublicensee’s
-customers comply with these restrictions and obligations to the same extent
-imposed on Sublicensee with respect to the Adobe Software; any failure by
-Sublicensee’s customers to comply with these additional restrictions and
-obligations shall be treated as a material breach by Sublicensee.
-
-b.1. Sublicensee and customers may only distribute the Adobe Software that meets
-the Robustness and Compliance Rules as so confirmed by Sublicensee during the
-verification process described above in the Adobe Terms.
-
-b.2. Sublicensee shall not (i) circumvent the Content Protection Functions of
-either the Adobe Software or any related Adobe Software that is used to encrypt
-or decrypt digital content for authorized consumption by users of the Adobe
-Software, or (ii) develop or distribute products that are designed to circumvent
-the Content Protection Functions of either the Adobe Software or any Adobe
-Software that is used to encrypt or decrypt digital content for authorized
-consumption by users of the Adobe Software.
-
-(c) The Keys are hereby designated as Adobe’s Confidential Information, and
-Sublicensee will, with respect to the Keys, adhere to Adobe’s Source Code
-Handling Procedure (to be provided by Adobe upon request).
-
-(d) Injunctive Relief. Sublicensee agrees that a breach of this Agreement may
-compromise the Content Protection Functions of the Adobe Software and may cause
-unique and lasting harm to the interests of Adobe and owners of digital content
-that rely on such Content Protection Functions, and that monetary damages may be
-inadequate to compensate fully for such harm. Therefore, Sublicensee further
-agrees that Adobe may be entitled to seek injunctive relief to prevent or limit
-the harm caused by any such breach, in addition to monetary damages.
-
-17. Intended Third-party Beneficiary. Adobe Systems Incorporated and Adobe
-Software Ireland Limited are the intended third-party beneficiaries of Google’s
-agreement with Sublicensee with respect to the Adobe Software, including but not
-limited to, the Adobe Terms. Sublicensee agrees, notwithstanding anything to the
-contrary in its agreement with Google, that Google may disclose Sublicensee’s
-identity to Adobe and certify in writing that Sublicensee has entered into a
-license agreement with Google which includes the Adobe Terms. Sublicensee must
-have an agreement with each of its licensees, and if such licensees are allowed
-to redistribute the Adobe Software, such agreement will include the Adobe Terms
\ No newline at end of file
diff --git a/build_files/BUILD b/tool/travis-setup.sh
old mode 100644
new mode 100755
similarity index 77%
rename from build_files/BUILD
rename to tool/travis-setup.sh
index fd2ce0c..e5211c5
--- a/build_files/BUILD
+++ b/tool/travis-setup.sh
@@ -1,5 +1,7 @@
+#!/bin/bash
+
 # Copyright 2017 Google Inc. All Rights Reserved.
-#
+
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
@@ -12,9 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-licenses(["notice"])  # Apache (Google-authored with external contributions)
+# Fast fail the script on failures.
+set -e
 
-exports_files(
-    glob(["*.BUILD"]),
-    visibility = ["//visibility:public"],
-)
+pub get
diff --git a/tool/travis.sh b/tool/travis.sh
new file mode 100755
index 0000000..bddce06
--- /dev/null
+++ b/tool/travis.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# Copyright 2013 Google Inc. All Rights Reserved.
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+STATUS=0
+
+# Analyze package.
+dartanalyzer .
+ANALYSIS_STATUS=$?
+if [[ $ANALYSIS_STATUS -ne 0 ]]; then
+  STATUS=$ANALYSIS_STATUS
+fi
+
+# Start chromedriver.
+chromedriver --port=4444 --url-base=wd/hub &
+PID=$!
+
+# Run tests.
+pub run test -r expanded -p vm,content-shell -j 1
+TEST_STATUS=$?
+if [[ $TEST_STATUS -ne 0 ]]; then
+  STATUS=$TEST_STATUS
+fi
+
+# Exit chromedriver.
+kill $PID
+
+exit $STATUS