diff --git a/CHROMIUM_VERSION b/CHROMIUM_VERSION
new file mode 100644
index 0000000000..5c16ff521b
--- /dev/null
+++ b/CHROMIUM_VERSION
@@ -0,0 +1 @@
+88.0.4324.96
diff --git a/tools/import-upstream.sh b/tools/import-upstream.sh
new file mode 100755
index 0000000000..4eea6176d9
--- /dev/null
+++ b/tools/import-upstream.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+set -ex
+have_version=$(cut -d= -f2 src/chrome/VERSION | tr '\n' . | cut -d. -f1-4)
+want_version=$(cat CHROMIUM_VERSION)
+if [ "$have_version" = "$want_version" ]; then
+  exit 0
+fi
+name="chromium-$want_version"
+tarball="$name.tar.xz"
+url="https://commondatastorage.googleapis.com/chromium-browser-official/$tarball"
+root=$(git rev-list --max-parents=0 HEAD)
+git config core.autocrlf false
+git config core.safecrlf false
+git -c advice.detachedHead=false checkout $root
+rm -rf src
+git checkout master -- tools
+sed -i "s/^\^/$name\//" tools/include.txt
+if [ -f "/tmp/$tarball" ]; then
+  cat "/tmp/$tarball" | tar xJf - --wildcards --wildcards-match-slash -T tools/include.txt
+else
+  curl "$url" -o- | tar xJf - --wildcards --wildcards-match-slash -T tools/include.txt
+fi
+mv "$name" src
+find src -name .gitignore -delete
+git rm --quiet --force -r tools
+git add src
+git commit --quiet --amend -m "Import $name" --date=now
+git rebase --onto HEAD "$root" master
diff --git a/tools/include.txt b/tools/include.txt
new file mode 100644
index 0000000000..ae9d443b00
--- /dev/null
+++ b/tools/include.txt
@@ -0,0 +1,49 @@
+*/BUILD.gn
+*.gni
+*.pydeps
+^AUTHORS
+^LICENSE
+^.clang-format
+^.gitattributes
+^.gitignore
+^.gn
+^base
+^build
+^buildtools/DEPS
+^buildtools/third_party/libc++/trunk/include
+^buildtools/third_party/libc++/trunk/src
+^buildtools/third_party/libc++abi/trunk/include
+^buildtools/third_party/libc++abi/trunk/src
+^chrome/VERSION
+^chrome/android/profiles/newest.txt
+^chrome/app/theme/chromium/BRANDING
+^chrome/build/*.txt
+^components/version_info
+^crypto
+^google_apis/build/check_internal.py
+^ipc/ipc_param_traits.h
+^net
+^testing/gtest/include/gtest/gtest_prod.h
+^third_party/abseil-cpp
+^third_party/angle/src/commit_id.py
+^third_party/angle/scripts/file_exists.py
+^third_party/apple_apsl
+^third_party/boringssl
+^third_party/brotli
+^third_party/depot_tools/cpplint.py
+^third_party/googletest/src/googletest/include/gtest/gtest_prod.h
+^third_party/lss/linux_syscall_support.h
+^third_party/modp_b64
+^third_party/nasm
+^third_party/protobuf/src
+^third_party/tcmalloc
+^third_party/win_build_output
+^third_party/zlib
+^tools/cfi
+^tools/clang/scripts/update.py
+^tools/diagnosis
+^tools/grit
+^tools/gritsettings
+^tools/protoc_wrapper
+^tools/win/DebugVisualizers
+^url