diff --git a/third_party/chromium/BUILD.bazel b/third_party/chromium/BUILD.bazel
index 384d018..2cbbb4a 100644
--- a/third_party/chromium/BUILD.bazel
+++ b/third_party/chromium/BUILD.bazel
@@ -33,7 +33,7 @@ web_test_archive(
             "CHROMIUM": "chrome-mac/Chromium.app/Contents/MacOS/chromium",
         },
         "//common/conditions:windows": {
-            "CHROMIUM": "chrome-win32/chrome.exe",
+            "CHROMIUM": "chrome-win/chrome.exe",
         },
     }),
     visibility = ["//browsers:__subpackages__"],
-- 
2.20.1

From a7c1f6b825640a95e687adc884a442fde23ccd95 Mon Sep 17 00:00:00 2001
From: Yun Peng <pcloudy@google.com>
Date: Tue, 3 Sep 2019 19:24:02 +0200
Subject: [PATCH] Update rlocation funciton in windows_utils.bzl (#387)

---
 web/internal/windows_utils.bzl | 76 ++++++++++++++++++++++++++--------
 1 file changed, 59 insertions(+), 17 deletions(-)

diff --git a/web/internal/windows_utils.bzl b/web/internal/windows_utils.bzl
index 429a01a..576053a 100644
--- a/web/internal/windows_utils.bzl
+++ b/web/internal/windows_utils.bzl
@@ -17,6 +17,49 @@
 These functions help making rules work on Windows.
 """
 
+BATCH_RLOCATION_FUNCTION = r"""
+rem Usage of rlocation function:
+rem        call :rlocation <runfile_path> <abs_path>
+rem        The rlocation function maps the given <runfile_path> to its absolute
+rem        path and stores the result in a variable named <abs_path>.
+rem        This function fails if the <runfile_path> doesn't exist in mainifest
+rem        file.
+:: Start of rlocation
+goto :rlocation_end
+:rlocation
+if "%~2" equ "" (
+  echo>&2 ERROR: Expected two arguments for rlocation function.
+  exit 1
+)
+if "%RUNFILES_MANIFEST_ONLY%" neq "1" (
+  set %~2=%~1
+  exit /b 0
+)
+if "%RUNFILES_MANIFEST_FILE%" equ "" (
+  set RUNFILES_MANIFEST_FILE=%~f0.runfiles\MANIFEST
+)
+if not exist "%RUNFILES_MANIFEST_FILE%" (
+  set RUNFILES_MANIFEST_FILE=%~f0.runfiles_manifest
+)
+set MF=%RUNFILES_MANIFEST_FILE:/=\%
+if not exist "%MF%" (
+  echo>&2 ERROR: Manifest file %MF% does not exist.
+  exit 1
+)
+set runfile_path=%~1
+for /F "tokens=2* usebackq" %%i in (`%SYSTEMROOT%\system32\findstr.exe /l /c:"!runfile_path! " "%MF%"`) do (
+  set abs_path=%%i
+)
+if "!abs_path!" equ "" (
+  echo>&2 ERROR: !runfile_path! not found in runfiles manifest
+  exit 1
+)
+set %~2=!abs_path!
+exit /b 0
+:rlocation_end
+:: End of rlocation
+"""
+
 def is_windows(ctx):
     """
     Check if we are building for Windows.
@@ -27,6 +70,14 @@ def is_windows(ctx):
     # https://github.com/bazelbuild/bazel/issues/9209 is resolved.
     return ctx.configuration.host_path_separator == ";"
 
+# Helper function to convert a file to a path in the MANIFEST file
+def _file_to_manifest_path(ctx, f):
+    p = f.short_path
+    if p.startswith("../"):
+        return p[3:]
+    else:
+        return ctx.workspace_name + "/" + p
+
 def create_windows_native_launcher_script(ctx, shell_script):
     """
     Create a Windows Batch file to launch the given shell script.
@@ -41,25 +92,16 @@ def create_windows_native_launcher_script(ctx, shell_script):
         content = r"""@echo off
 SETLOCAL ENABLEEXTENSIONS
 SETLOCAL ENABLEDELAYEDEXPANSION
-if "%RUNFILES_MANIFEST_ONLY%" neq "1" (
-  set run_script={sh_script}
-  goto :run
-)
-set MF=%RUNFILES_MANIFEST_FILE:/=\%
-set script={sh_script}
-if "!script:~0,9!" equ "external/" (set script=!script:~9!) else (set script=!TEST_WORKSPACE!/!script!)
-for /F "tokens=2* usebackq" %%i in (`findstr.exe /l /c:"!script! " "%MF%"`) do (
-  set run_script=%%i
-)
-if "!run_script!" equ "" (
-  echo>&2 ERROR: !script! not found in runfiles manifest
-  exit /b 1
-)
-:run
-{bash_bin} -c "!run_script!"
+set RUNFILES_MANIFEST_ONLY=1
+{rlocation_function}
+call :rlocation "{sh_script}" run_script
+for %%a in ("{bash_bin}") do set "bash_bin_dir=%%~dpa"
+set PATH=%bash_bin_dir%;%PATH%
+{bash_bin} -c "!run_script! %*"
 """.format(
             bash_bin = ctx.toolchains["@bazel_tools//tools/sh:toolchain_type"].path,
-            sh_script = shell_script.short_path,
+            sh_script = _file_to_manifest_path(ctx, shell_script),
+            rlocation_function = BATCH_RLOCATION_FUNCTION,
         ),
         is_executable = True,
     )
-- 
2.20.1

From 9c1e6ce41e458f41654fe609d76220770562c9b4 Mon Sep 17 00:00:00 2001
From: Paul Gschwendtner <paulgschwendtner@gmail.com>
Date: Mon, 9 Sep 2019 20:43:49 +0200
Subject: [PATCH] web test not launching on windows if shell toolchain path
 contains whitespace (#389)

The windows launcher code does currently break if the path to the bash binary contains
a whitespace. This is common on windows where programs are stored under `C:\Program Files`.

e.g.

```
:run
C:/Program Files/msys2/usr/bin/bash.exe -c "!run_script!"
```

The path needs to be quoted so that it won't be incorrectly picked up as two separate commands. Resulting in an
exception like:

```
'C:/Program' is not recognized as an internal or external command,
operable program or batch file.
```
---
 web/internal/windows_utils.bzl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/web/internal/windows_utils.bzl b/web/internal/windows_utils.bzl
index 576053a..4bec20e 100644
--- a/web/internal/windows_utils.bzl
+++ b/web/internal/windows_utils.bzl
@@ -97,7 +97,7 @@ set RUNFILES_MANIFEST_ONLY=1
 call :rlocation "{sh_script}" run_script
 for %%a in ("{bash_bin}") do set "bash_bin_dir=%%~dpa"
 set PATH=%bash_bin_dir%;%PATH%
-{bash_bin} -c "!run_script! %*"
+"{bash_bin}" -c "!run_script! %*"
 """.format(
             bash_bin = ctx.toolchains["@bazel_tools//tools/sh:toolchain_type"].path,
             sh_script = _file_to_manifest_path(ctx, shell_script),
