diff --git a/DEPS b/DEPS
index 4b288ab..780b27f 100644
--- a/DEPS
+++ b/DEPS
@@ -181,11 +181,11 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': 'f72e48dd2ff0ca9ecea2655eaa45e29c8ac587dd',
+  'skia_revision': '504032e57526923e9deda5cca6ae5380772195cc',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'v8_revision': 'c83d5e246faef119952f4ad645062d380b79781c',
+  'v8_revision': 'd2cad7137654e04a5328728551c51a1b79145a5d',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling swarming_client
   # and whatever else without interference from each other.
@@ -193,11 +193,11 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ANGLE
   # and whatever else without interference from each other.
-  'angle_revision': 'dcc57015f8922c93e9680f15c300d7c353082e00',
+  'angle_revision': 'c792a6bacf68778aa38a1a5850f1fdca6f117e41',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
-  'swiftshader_revision': '110236f3ce70c292658b1b7372903dc55f43ad35',
+  'swiftshader_revision': 'f6d3cbb2830306f3ef51a72cd3f798684d107c14',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
@@ -244,7 +244,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling catapult
   # and whatever else without interference from each other.
-  'catapult_revision': '9dbcda838560ceb6eb6ce90e92152a60ed95dcb3',
+  'catapult_revision': 'f6f813d450e5e09c1e5f3c0f0afa00c5892864f4',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -252,7 +252,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling devtools-frontend
   # and whatever else without interference from each other.
-  'devtools_frontend_revision': '5a8f4d89e1e624ade403ee72cb4c0de70262a397',
+  'devtools_frontend_revision': '2ef3661d276c4d31381479c25e0f2cd4153fe6eb',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libprotobuf-mutator
   # and whatever else without interference from each other.
@@ -308,11 +308,11 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'shaderc_revision': '0b9a2992c73d41debe4924d9f39260f773b5840a',
+  'shaderc_revision': '3f24b6829b3e7da9c97b779402311ece81264ca8',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'dawn_revision': 'e6441b604f58bf01a17ee991fa82f864fc6fc087',
+  'dawn_revision': '5fc2c82c11e078928e6a0f9c447b69fe208815f8',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -879,7 +879,7 @@
 
   # Build tools for Chrome OS. Note: This depends on third_party/pyelftools.
   'src/third_party/chromite': {
-      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'c80b27e14b360133f92c7b7f9fee869e0461dd9a',
+      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'd911a9f90cdf517f5e55a4c591198af46a886618',
       'condition': 'checkout_linux',
   },
 
@@ -1297,7 +1297,7 @@
   },
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' + '63dded1f4d55df31f1d0d74fcb1646a5d26c5145',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' + '920683437e19b65d3a6a23a0c539cf9106f1a5cb',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3',
@@ -1498,7 +1498,7 @@
     Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '88d715c9115a5ce65c0bf660209dfeee9131ccd0',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '9b289b2c2973a35d5da3929b6dabf1d26ca49cba',
+    Var('webrtc_git') + '/src.git' + '@' + '4b07059139178636809b3d9eee961da0b9c92437',
 
   'src/third_party/libgifcodec':
      Var('skia_git') + '/libgifcodec' + '@'+  Var('libgifcodec_revision'),
@@ -1568,7 +1568,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@079a14224dd125991756d2d512944d9fcd1a46c7',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@3f1bd1b88a315c2ff9cca3c5efde1be681128bba',
     'condition': 'checkout_src_internal',
   },
 
diff --git a/android_webview/common/aw_content_client.cc b/android_webview/common/aw_content_client.cc
index c7afc0a..22262d8 100644
--- a/android_webview/common/aw_content_client.cc
+++ b/android_webview/common/aw_content_client.cc
@@ -17,7 +17,6 @@
 #include "content/public/common/content_switches.h"
 #include "gpu/config/gpu_info.h"
 #include "gpu/config/gpu_util.h"
-#include "ipc/ipc_message.h"
 #include "mojo/public/cpp/bindings/binder_map.h"
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "ui/base/l10n/l10n_util.h"
@@ -52,14 +51,6 @@
       resource_id);
 }
 
-bool AwContentClient::CanSendWhileSwappedOut(const IPC::Message* message) {
-  // For legacy API support we perform a few browser -> renderer synchronous IPC
-  // messages that block the browser. However, the synchronous IPC replies might
-  // be dropped by the renderer during a swap out, deadlocking the browser.
-  // Because of this we should never drop any synchronous IPC replies.
-  return message->type() == IPC_REPLY_ID;
-}
-
 void AwContentClient::SetGpuInfo(const gpu::GPUInfo& gpu_info) {
   gpu_fingerprint_ = gpu_info.gl_version + '|' + gpu_info.gl_vendor + '|' +
                      gpu_info.gl_renderer;
diff --git a/android_webview/common/aw_content_client.h b/android_webview/common/aw_content_client.h
index 8071233..cbb7dd2 100644
--- a/android_webview/common/aw_content_client.h
+++ b/android_webview/common/aw_content_client.h
@@ -23,7 +23,6 @@
   base::StringPiece GetDataResource(int resource_id,
                                     ui::ScaleFactor scale_factor) override;
   base::RefCountedMemory* GetDataResourceBytes(int resource_id) override;
-  bool CanSendWhileSwappedOut(const IPC::Message* message) override;
   void SetGpuInfo(const gpu::GPUInfo& gpu_info) override;
   bool UsingSynchronousCompositing() override;
   media::MediaDrmBridgeClient* GetMediaDrmBridgeClient() override;
diff --git a/android_webview/docs/aosp-system-integration.md b/android_webview/docs/aosp-system-integration.md
index ea7ef0d..3b8a0764 100644
--- a/android_webview/docs/aosp-system-integration.md
+++ b/android_webview/docs/aosp-system-integration.md
@@ -195,10 +195,6 @@
 # Disable Google-specific branding/features
 is_chrome_branded = false
 use_official_google_api_keys = false
-
-# Significantly reduces binary size at the cost of preventing Android's native
-# crash handler from being able to produce useful stack unwindings.
-exclude_unwind_tables = true
 ```
 
 The `target_cpu` option must be set to
@@ -271,6 +267,24 @@
 proprietary_codecs = true
 ```
 
+#### Crash stack unwinding
+
+By default, builds using `is_official_build = true` exclude unwind tables from
+the binaries, as they significantly increase binary size. Google's builds rely
+on crashes being reported using Crashpad, which can then be decoded server-side.
+If you don't intend to enable Crashpad and set up dedicated crash reporting
+infrastructure for your WebView, you may wish to re-enable the unwind tables
+with the following GN argument:
+
+``` gn
+exclude_unwind_tables = false
+```
+
+This will allow Android's debuggerd to produce meaningful stack traces for
+crashes that occur inside WebView's native code. We don't recommend using this
+setting in shipping builds due to the binary size impact, but it may be the only
+alternative if using Crashpad is impractical.
+
 #### Other build options
 
 Other build options may be used but are not supported by the WebView team and
diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java
index da6e00f..b7b24aab 100644
--- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java
+++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java
@@ -30,6 +30,7 @@
 import org.chromium.android_webview.AwServiceWorkerController;
 import org.chromium.android_webview.AwTracingController;
 import org.chromium.android_webview.HttpAuthDatabase;
+import org.chromium.android_webview.ProductConfig;
 import org.chromium.android_webview.R;
 import org.chromium.android_webview.VariationsSeedLoader;
 import org.chromium.android_webview.WebViewChromiumRunQueue;
@@ -40,6 +41,7 @@
 import org.chromium.android_webview.gfx.AwDrawFnImpl;
 import org.chromium.base.BuildConfig;
 import org.chromium.base.BuildInfo;
+import org.chromium.base.BundleUtils;
 import org.chromium.base.ContextUtils;
 import org.chromium.base.FieldTrialList;
 import org.chromium.base.JNIUtils;
@@ -147,6 +149,8 @@
             ResourceBundle.setAvailablePakLocales(
                     new String[] {}, AwLocaleConfig.getWebViewSupportedPakLocales());
 
+            BundleUtils.setIsBundle(ProductConfig.IS_BUNDLE);
+
             // We are rewriting Java resources in the background.
             // NOTE: Any reference to Java resources will cause a crash.
 
diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
index 0761e49..fefc338 100644
--- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
+++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
@@ -34,10 +34,10 @@
 import org.chromium.android_webview.AwBrowserProcess;
 import org.chromium.android_webview.AwSettings;
 import org.chromium.android_webview.AwSwitches;
+import org.chromium.android_webview.ProductConfig;
 import org.chromium.android_webview.WebViewChromiumRunQueue;
 import org.chromium.android_webview.common.CommandLineUtil;
 import org.chromium.base.BuildInfo;
-import org.chromium.base.BundleUtils;
 import org.chromium.base.CommandLine;
 import org.chromium.base.ContextUtils;
 import org.chromium.base.Log;
@@ -391,7 +391,7 @@
 
     public static boolean preloadInZygote() {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
-                && Build.VERSION.SDK_INT < Build.VERSION_CODES.P && BundleUtils.isBundle()) {
+                && Build.VERSION.SDK_INT < Build.VERSION_CODES.P && ProductConfig.IS_BUNDLE) {
             // Apply workaround if we're a bundle on O, where the split APK handling bug exists.
             SplitApkWorkaround.apply();
         }
diff --git a/base/android/bundle_utils.cc b/base/android/bundle_utils.cc
index e2ee545b..d227b7c 100644
--- a/base/android/bundle_utils.cc
+++ b/base/android/bundle_utils.cc
@@ -63,7 +63,8 @@
 
 // static
 bool BundleUtils::IsBundle() {
-  return Java_BundleUtils_isBundle(base::android::AttachCurrentThread());
+  return Java_BundleUtils_isBundleForNative(
+      base::android::AttachCurrentThread());
 }
 
 // static
diff --git a/base/android/java/src/org/chromium/base/BundleUtils.java b/base/android/java/src/org/chromium/base/BundleUtils.java
index 7e2b490..138398f 100644
--- a/base/android/java/src/org/chromium/base/BundleUtils.java
+++ b/base/android/java/src/org/chromium/base/BundleUtils.java
@@ -8,12 +8,51 @@
 
 import org.chromium.base.annotations.CalledByNative;
 
-/** Utils to help working with android app bundles. */
-public class BundleUtils {
-    /* Returns true if the current build is a bundle. */
+/**
+ * Utils for working with android app bundles.
+ *
+ * Important notes about bundle status as interpreted by this class:
+ *
+ * <ul>
+ *   <li>If {@link BuildConfig#BUNDLES_SUPPORTED} is false, then we are definitely not in a bundle,
+ *   and ProGuard is able to strip out the bundle support library.</li>
+ *   <li>If {@link BuildConfig#BUNDLES_SUPPORTED} is true, then we MIGHT be in a bundle.
+ *   {@link BundleUtils#sIsBundle} is the source of truth.</li>
+ * </ul>
+ *
+ * We need two fields to store one bit of information here to ensure that ProGuard can optimize out
+ * the bundle support library (since {@link BuildConfig#BUNDLES_SUPPORTED} is final) and so that
+ * we can dynamically set whether or not we're in a bundle for targets that use static shared
+ * library APKs.
+ */
+public final class BundleUtils {
+    private static Boolean sIsBundle;
+
+    /**
+     * {@link BundleUtils#isBundle()}  is not called directly by native because
+     * {@link CalledByNative} prevents inlining, causing the bundle support lib to not be
+     * removed non-bundle builds.
+     *
+     * @return true if the current build is a bundle.
+     */
     @CalledByNative
+    public static boolean isBundleForNative() {
+        return isBundle();
+    }
+
+    /**
+     * @return true if the current build is a bundle.
+     */
     public static boolean isBundle() {
-        return BuildConfig.IS_BUNDLE;
+        if (!BuildConfig.BUNDLES_SUPPORTED) {
+            return false;
+        }
+        assert sIsBundle != null;
+        return sIsBundle;
+    }
+
+    public static void setIsBundle(boolean isBundle) {
+        sIsBundle = isBundle;
     }
 
     /* Returns absolute path to a native library in a feature module. */
diff --git a/base/android/java/templates/BuildConfig.template b/base/android/java/templates/BuildConfig.template
index f09ebf0..4f80588 100644
--- a/base/android/java/templates/BuildConfig.template
+++ b/base/android/java/templates/BuildConfig.template
@@ -69,11 +69,10 @@
     public static MAYBE_FINAL int MIN_SDK_VERSION = 1;
 #endif
 
-    // Not making this final for BundleTestRule to modify.
-#if defined(_IS_BUNDLE)
-    public static boolean IS_BUNDLE = true;
+#if defined(_BUNDLES_SUPPORTED)
+    public static MAYBE_FINAL boolean BUNDLES_SUPPORTED = true;
 #else
-    public static boolean IS_BUNDLE;
+    public static MAYBE_FINAL boolean BUNDLES_SUPPORTED MAYBE_FALSE;
 #endif
 
 #if defined(_IS_INCREMENTAL_INSTALL)
diff --git a/base/test/android/javatests/src/org/chromium/base/test/BundleTestRule.java b/base/test/android/javatests/src/org/chromium/base/test/BundleTestRule.java
index 9e1db3e3..9ab0024 100644
--- a/base/test/android/javatests/src/org/chromium/base/test/BundleTestRule.java
+++ b/base/test/android/javatests/src/org/chromium/base/test/BundleTestRule.java
@@ -8,7 +8,7 @@
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
 
-import org.chromium.base.BuildConfig;
+import org.chromium.base.BundleUtils;
 
 /**
  * Ensures that BundleUtils#isBundle returns true for the duration of the test.
@@ -19,12 +19,12 @@
         return new Statement() {
             @Override
             public void evaluate() throws Throwable {
-                boolean oldValue = BuildConfig.IS_BUNDLE;
+                boolean oldValue = BundleUtils.isBundle();
                 try {
-                    BuildConfig.IS_BUNDLE = true;
+                    BundleUtils.setIsBundle(true);
                     base.evaluate();
                 } finally {
-                    BuildConfig.IS_BUNDLE = oldValue;
+                    BundleUtils.setIsBundle(oldValue);
                 }
             }
         };
diff --git a/base/test/task_environment.cc b/base/test/task_environment.cc
index 2f730e6..9085791f 100644
--- a/base/test/task_environment.cc
+++ b/base/test/task_environment.cc
@@ -354,11 +354,13 @@
     MainThreadType main_thread_type,
     ThreadPoolExecutionMode thread_pool_execution_mode,
     ThreadingMode threading_mode,
+    ThreadPoolCOMEnvironment thread_pool_com_environment,
     bool subclass_creates_default_taskrunner,
     trait_helpers::NotATraitTag)
     : main_thread_type_(main_thread_type),
       thread_pool_execution_mode_(thread_pool_execution_mode),
       threading_mode_(threading_mode),
+      thread_pool_com_environment_(thread_pool_com_environment),
       subclass_creates_default_taskrunner_(subclass_creates_default_taskrunner),
       sequence_manager_(
           CreateSequenceManagerForMainThreadType(main_thread_type)),
@@ -434,18 +436,10 @@
   ThreadPoolInstance::InitParams init_params(kMaxThreads);
   init_params.suggested_reclaim_time = TimeDelta::Max();
 #if defined(OS_WIN)
-  // Enable the MTA in unit tests to match the browser process's
-  // ThreadPoolInstance configuration.
-  //
-  // This has the adverse side-effect of enabling the MTA in non-browser unit
-  // tests as well but the downside there is not as bad as not having it in
-  // browser unit tests. It just means some COM asserts may pass in unit tests
-  // where they wouldn't in integration tests or prod. That's okay because unit
-  // tests are already generally very loose on allowing I/O, waits, etc. Such
-  // misuse will still be caught in later phases (and COM usage should already
-  // be pretty much inexistent in sandboxed processes).
-  init_params.common_thread_pool_environment =
-      ThreadPoolInstance::InitParams::CommonThreadPoolEnvironment::COM_MTA;
+  if (thread_pool_com_environment_ == ThreadPoolCOMEnvironment::COM_MTA) {
+    init_params.common_thread_pool_environment =
+        ThreadPoolInstance::InitParams::CommonThreadPoolEnvironment::COM_MTA;
+  }
 #endif
 
   auto task_tracker = std::make_unique<TestTaskTracker>();
diff --git a/base/test/task_environment.h b/base/test/task_environment.h
index 01d19d9..c8d1d71 100644
--- a/base/test/task_environment.h
+++ b/base/test/task_environment.h
@@ -156,6 +156,28 @@
     DEFAULT = MULTIPLE_THREADS
   };
 
+  // On Windows, sets the COM environment for the ThreadPoolInstance. Ignored
+  // on other platforms.
+  enum class ThreadPoolCOMEnvironment {
+    // Do not initialize COM for the pool's workers.
+    NONE,
+
+    // Place the pool's workers in a COM MTA.
+    COM_MTA,
+
+    // Enable the MTA by default in unit tests to match the browser process's
+    // ThreadPoolInstance configuration.
+    //
+    // This has the adverse side-effect of enabling the MTA in non-browser unit
+    // tests as well but the downside there is not as bad as not having it in
+    // browser unit tests. It just means some COM asserts may pass in unit
+    // tests where they wouldn't in integration tests or prod. That's okay
+    // because unit tests are already generally very loose on allowing I/O,
+    // waits, etc. Such misuse will still be caught in later phases (and COM
+    // usage should already be pretty much inexistent in sandboxed processes).
+    DEFAULT = COM_MTA,
+  };
+
   // List of traits that are valid inputs for the constructor below.
   struct ValidTraits {
     ValidTraits(TimeSource);
@@ -163,6 +185,7 @@
     ValidTraits(ThreadPoolExecutionMode);
     ValidTraits(SubclassCreatesDefaultTaskRunner);
     ValidTraits(ThreadingMode);
+    ValidTraits(ThreadPoolCOMEnvironment);
   };
 
   // Constructor accepts zero or more traits which customize the testing
@@ -180,6 +203,9 @@
                                    ThreadPoolExecutionMode::DEFAULT>(traits...),
             trait_helpers::GetEnum<ThreadingMode, ThreadingMode::DEFAULT>(
                 traits...),
+            trait_helpers::GetEnum<ThreadPoolCOMEnvironment,
+                                   ThreadPoolCOMEnvironment::DEFAULT>(
+                traits...),
             trait_helpers::HasTrait<SubclassCreatesDefaultTaskRunner,
                                     TaskEnvironmentTraits...>(),
             trait_helpers::NotATraitTag()) {}
@@ -329,12 +355,14 @@
                   MainThreadType main_thread_type,
                   ThreadPoolExecutionMode thread_pool_execution_mode,
                   ThreadingMode threading_mode,
+                  ThreadPoolCOMEnvironment thread_pool_com_environment,
                   bool subclass_creates_default_taskrunner,
                   trait_helpers::NotATraitTag tag);
 
   const MainThreadType main_thread_type_;
   const ThreadPoolExecutionMode thread_pool_execution_mode_;
   const ThreadingMode threading_mode_;
+  const ThreadPoolCOMEnvironment thread_pool_com_environment_;
   const bool subclass_creates_default_taskrunner_;
 
   std::unique_ptr<sequence_manager::SequenceManager> sequence_manager_;
diff --git a/base/test/task_environment_unittest.cc b/base/test/task_environment_unittest.cc
index e6a929e..623ec9dd 100644
--- a/base/test/task_environment_unittest.cc
+++ b/base/test/task_environment_unittest.cc
@@ -44,6 +44,10 @@
 #include "base/files/file_descriptor_watcher_posix.h"
 #endif  // defined(OS_POSIX)
 
+#if defined(OS_WIN)
+#include "base/win/scoped_com_initializer.h"
+#endif
+
 namespace base {
 namespace test {
 
@@ -1199,5 +1203,58 @@
   run_loop.Run();
 }
 
+#if defined(OS_WIN)
+namespace {
+
+enum class ApartmentType {
+  kSTA,
+  kMTA,
+};
+
+void InitializeSTAApartment() {
+  base::win::ScopedCOMInitializer initializer;
+  EXPECT_TRUE(initializer.Succeeded());
+}
+
+void InitializeMTAApartment() {
+  base::win::ScopedCOMInitializer initializer(
+      base::win::ScopedCOMInitializer::kMTA);
+  EXPECT_TRUE(initializer.Succeeded());
+}
+
+void InitializeCOMOnWorker(
+    TaskEnvironment::ThreadPoolCOMEnvironment com_environment,
+    ApartmentType apartment_type) {
+  TaskEnvironment task_environment(com_environment);
+  PostTask(FROM_HERE, BindOnce(apartment_type == ApartmentType::kSTA
+                                   ? &InitializeSTAApartment
+                                   : &InitializeMTAApartment));
+  task_environment.RunUntilIdle();
+}
+
+}  // namespace
+
+TEST_F(TaskEnvironmentTest, DefaultCOMEnvironment) {
+  // Attempt to initialize an MTA COM apartment. Expect this to succeed since
+  // the thread is already in an MTA apartment.
+  InitializeCOMOnWorker(TaskEnvironment::ThreadPoolCOMEnvironment::DEFAULT,
+                        ApartmentType::kMTA);
+
+  // Attempt to initialize an STA COM apartment. Expect this to fail since the
+  // thread is already in an MTA apartment.
+  EXPECT_DCHECK_DEATH(InitializeCOMOnWorker(
+      TaskEnvironment::ThreadPoolCOMEnvironment::DEFAULT, ApartmentType::kSTA));
+}
+
+TEST_F(TaskEnvironmentTest, NoCOMEnvironment) {
+  // Attempt to initialize both MTA and STA COM apartments. Both should succeed
+  // when the thread is not already in an apartment.
+  InitializeCOMOnWorker(TaskEnvironment::ThreadPoolCOMEnvironment::NONE,
+                        ApartmentType::kMTA);
+  InitializeCOMOnWorker(TaskEnvironment::ThreadPoolCOMEnvironment::NONE,
+                        ApartmentType::kSTA);
+}
+#endif
+
 }  // namespace test
 }  // namespace base
diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
index 04b9fce..5c8844f 100644
--- a/base/trace_event/builtin_categories.h
+++ b/base/trace_event/builtin_categories.h
@@ -184,7 +184,6 @@
   X(TRACE_DISABLED_BY_DEFAULT("gpu.device"))                             \
   X(TRACE_DISABLED_BY_DEFAULT("gpu.service"))                            \
   X(TRACE_DISABLED_BY_DEFAULT("histogram_samples"))                      \
-  X(TRACE_DISABLED_BY_DEFAULT("ipc.flow"))                               \
   X(TRACE_DISABLED_BY_DEFAULT("java-heap-profiler"))                     \
   X(TRACE_DISABLED_BY_DEFAULT("layer-element"))                          \
   X(TRACE_DISABLED_BY_DEFAULT("lifecycles"))                             \
diff --git a/base/util/type_safety/id_type.h b/base/util/type_safety/id_type.h
index 29d1eb8e..7874879 100644
--- a/base/util/type_safety/id_type.h
+++ b/base/util/type_safety/id_type.h
@@ -49,7 +49,30 @@
 template <typename TypeMarker, typename WrappedType, WrappedType kInvalidValue>
 class IdType : public StrongAlias<TypeMarker, WrappedType> {
  public:
+  static_assert(kInvalidValue <= 0,
+                "The invalid value should be negative or equal to zero to "
+                "avoid overflow issues.");
+
   using StrongAlias<TypeMarker, WrappedType>::StrongAlias;
+
+  // This class can be used to generate unique IdTypes. It keeps an internal
+  // counter that is continually increased by one every time an ID is generated.
+  class Generator {
+   public:
+    Generator() = default;
+    ~Generator() = default;
+
+    // Generates the next unique ID.
+    IdType GenerateNextId() { return FromUnsafeValue(next_id_++); }
+
+    // Non-copyable.
+    Generator(const Generator&) = delete;
+    Generator& operator=(const Generator&) = delete;
+
+   private:
+    WrappedType next_id_ = kInvalidValue + 1;
+  };
+
   // Default-construct in the null state.
   IdType() : StrongAlias<TypeMarker, WrappedType>::StrongAlias(kInvalidValue) {}
 
diff --git a/base/util/type_safety/id_type_unittest.cc b/base/util/type_safety/id_type_unittest.cc
index ad76acb..04be50f 100644
--- a/base/util/type_safety/id_type_unittest.cc
+++ b/base/util/type_safety/id_type_unittest.cc
@@ -26,6 +26,20 @@
   EXPECT_FALSE(foo_id.is_null());
 }
 
+TEST(IdType, Generator) {
+  FooId::Generator foo_id_generator;
+  for (int i = 1; i < 10; i++)
+    EXPECT_EQ(foo_id_generator.GenerateNextId(), FooId::FromUnsafeValue(i));
+}
+
+TEST(IdType, GeneratorWithNonZeroInvalidValue) {
+  using TestId = IdType<class TestIdTag, int, -1>;
+
+  TestId::Generator test_id_generator;
+  for (int i = 0; i < 10; i++)
+    EXPECT_EQ(test_id_generator.GenerateNextId(), TestId::FromUnsafeValue(i));
+}
+
 class IdTypeSpecificValueTest : public ::testing::TestWithParam<int> {
  protected:
   FooId test_id() { return FooId::FromUnsafeValue(GetParam()); }
diff --git a/build/android/java/templates/ProductConfig.template b/build/android/java/templates/ProductConfig.template
index cf4ba125..dee8f82 100644
--- a/build/android/java/templates/ProductConfig.template
+++ b/build/android/java/templates/ProductConfig.template
@@ -8,10 +8,12 @@
 #define MAYBE_FINAL final
 #define MAYBE_USE_CHROMIUM_LINKER = USE_CHROMIUM_LINKER_VALUE
 #define MAYBE_USE_MODERN_LINKER = USE_MODERN_LINKER_VALUE
+#define MAYBE_IS_BUNDLE = IS_BUNDLE_VALUE
 #else
 #define MAYBE_FINAL
 #define MAYBE_USE_CHROMIUM_LINKER
 #define MAYBE_USE_MODERN_LINKER
+#define MAYBE_IS_BUNDLE
 #endif
 
 /**
@@ -37,4 +39,5 @@
 
    public static MAYBE_FINAL boolean USE_CHROMIUM_LINKER MAYBE_USE_CHROMIUM_LINKER;
    public static MAYBE_FINAL boolean USE_MODERN_LINKER MAYBE_USE_MODERN_LINKER;
+   public static MAYBE_FINAL boolean IS_BUNDLE MAYBE_IS_BUNDLE;
 }
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
index 982efeb..f7257bb 100644
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -1939,7 +1939,9 @@
   #       variables must not be set.
   #   enable_multidex: Value for ENABLE_MULTIDEX.
   #   min_sdk_version: Value for MIN_SDK_VERSION.
-  #
+  #   bundles_supported: Whether or not this target can be treated as a bundle.
+  #   resources_version_variable:
+  #   is_incremental_install:
   template("generate_build_config_srcjar") {
     java_cpp_template(target_name) {
       package_path = "org/chromium/base"
@@ -1963,8 +1965,8 @@
         defines += [ "_IS_CHROME_BRANDED" ]
       }
 
-      if (defined(invoker.is_bundle_module) && invoker.is_bundle_module) {
-        defines += [ "_IS_BUNDLE" ]
+      if (defined(invoker.bundles_supported) && invoker.bundles_supported) {
+        defines += [ "_BUNDLES_SUPPORTED" ]
       }
 
       if (defined(invoker.is_incremental_install) &&
@@ -2001,15 +2003,17 @@
   #
   # Variables:
   #   build_config: Path to build_config used for locale lists.
+  #   is_bundle_module: Whether or not this target is part of a bundle build.
   #   java_package: Java package for the generated class.
   #   use_chromium_linker:
   #   use_modern_linker:
   template("generate_product_config_srcjar") {
     java_cpp_template(target_name) {
       defines = []
-      _use_final = defined(invoker.build_config) ||
-                   defined(invoker.use_chromium_linker) ||
-                   defined(invoker.use_modern_linker)
+      _use_final =
+          defined(invoker.build_config) ||
+          defined(invoker.use_chromium_linker) ||
+          defined(invoker.use_modern_linker) || defined(invoker.is_bundle)
       if (_use_final) {
         defines += [ "USE_FINAL" ]
       }
@@ -2024,9 +2028,11 @@
           defined(invoker.use_chromium_linker) && invoker.use_chromium_linker
       _use_modern_linker =
           defined(invoker.use_modern_linker) && invoker.use_modern_linker
+      _is_bundle = defined(invoker.is_bundle_module) && invoker.is_bundle_module
       defines += [
         "USE_CHROMIUM_LINKER_VALUE=$_use_chromium_linker",
         "USE_MODERN_LINKER_VALUE=$_use_modern_linker",
+        "IS_BUNDLE_VALUE=$_is_bundle",
       ]
       if (defined(invoker.build_config)) {
         forward_variables_from(invoker,
@@ -2149,6 +2155,8 @@
   #     use when compiling the sources given to this target (optional).
   #   processor_args_javac: List of args to pass to annotation processors when
   #     compiling sources given to this target (optional).
+  #   bundles_supported: Enable Java code to treat this target as a bundle
+  #     whether (by default determined by the target type).
   template("android_apk_or_module") {
     forward_variables_from(invoker, [ "testonly" ])
     assert(defined(invoker.android_manifest))
@@ -2729,11 +2737,12 @@
 
     if (_generate_buildconfig_java) {
       generate_build_config_srcjar("${_template_name}__build_config_srcjar") {
-        forward_variables_from(invoker,
-                               [
-                                 "is_bundle_module",
-                                 "min_sdk_version",
-                               ])
+        forward_variables_from(invoker, [ "min_sdk_version" ])
+        _bundles_supported = _is_bundle_module || _is_static_library_provider
+        if (defined(invoker.bundles_supported)) {
+          _bundles_supported = invoker.bundles_supported
+        }
+        bundles_supported = _bundles_supported
         use_final_fields = true
         enable_multidex = _enable_multidex
         is_incremental_install = _incremental_apk
@@ -2753,6 +2762,7 @@
         _locale_target_name =
             "${_template_name}_${_package}__product_config_srcjar"
         generate_product_config_srcjar("$_locale_target_name") {
+          forward_variables_from(invoker, [ "is_bundle_module" ])
           build_config = _build_config
           java_package = _package
           use_chromium_linker = _use_chromium_linker
@@ -3472,6 +3482,7 @@
                                "apk_under_test",
                                "app_as_shared_lib",
                                "build_hooks_android_impl_deps",
+                               "bundles_supported",
                                "chromium_code",
                                "command_line_flags_file",
                                "create_apk_script",
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index d9253fb..d8c4fd6e 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -143,10 +143,11 @@
   # rest with 0xAA. This makes behavior of uninitialized memory bugs consistent,
   # recognizeble in debugger, and crashes memory accesses by uninitialized
   # pointers.
-  # TODO(vitalybuka):
+  # TODO(vitalybuka): investigate why some debug windows bots fail tests.
   # 'is_android' breaks content_shell_test_apk on android-kitkat-arm-rel.
   # 'use_xcode_clang' may call old clang.
-  init_stack_vars = !is_android && !use_xcode_clang && !is_official_build
+  init_stack_vars = !is_android && !(is_win && is_debug) && !use_xcode_clang &&
+                    !is_official_build
 }
 
 declare_args() {
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
index 2a11c00..0766109 100644
--- a/build/config/compiler/compiler.gni
+++ b/build/config/compiler/compiler.gni
@@ -85,19 +85,21 @@
   # is_component_build=false. Very large debug symbols can have unwanted side
   # effects so this is enforced by default for chromium.
   forbid_non_component_debug_builds = build_with_chromium
+
+  # Exclude unwind tables by default for official builds as unwinding can be
+  # done from stack dumps produced by Crashpad at a later time "offline" in the
+  # crash server. Since this increases binary size, we don't recommend including
+  # them in shipping builds.
+  # For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet
+  # which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able
+  # to unwind at runtime.
+  exclude_unwind_tables =
+      is_official_build || (is_chromecast && !is_cast_desktop_build &&
+                            !is_debug && !cast_is_debug && !is_fuchsia)
 }
 
 assert(!is_cfi || use_thin_lto, "CFI requires ThinLTO")
 
-# Exclude unwind tables for official builds as unwinding can be done from stack
-# dumps produced by Crashpad at a later time "offline" in the crash server.
-# For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet
-# which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able
-# to unwind at runtime.
-exclude_unwind_tables =
-    is_official_build || (is_chromecast && !is_cast_desktop_build &&
-                          !is_debug && !cast_is_debug && !is_fuchsia)
-
 # If true, optimize for size. Does not affect windows builds.
 # Linux & Mac favor speed over size.
 # TODO(brettw) it's weird that Mac and desktop Linux are different. We should
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index 08e3ec8a..36ab6a0e 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-8891669784849215056
\ No newline at end of file
+8891642320425975984
\ No newline at end of file
diff --git a/cc/metrics/frame_sequence_tracker.cc b/cc/metrics/frame_sequence_tracker.cc
index 9010d82..1048155f 100644
--- a/cc/metrics/frame_sequence_tracker.cc
+++ b/cc/metrics/frame_sequence_tracker.cc
@@ -417,6 +417,16 @@
 FrameSequenceTracker::~FrameSequenceTracker() {
 }
 
+void FrameSequenceTracker::ScheduleTerminate() {
+  termination_status_ = TerminationStatus::kScheduledForTermination;
+  // It could happen that a main/impl frame is generated, but never processed
+  // (didn't report no damage and didn't submit) when this happens.
+  if (last_processed_impl_sequence_ < last_started_impl_sequence_) {
+    impl_throughput().frames_expected -=
+        begin_impl_frame_data_.previous_sequence_delta;
+  }
+}
+
 void FrameSequenceTracker::ReportMetricsForTesting() {
   metrics_->ReportMetrics();
 }
@@ -437,12 +447,12 @@
 
   DCHECK_EQ(last_started_impl_sequence_, 0u) << TRACKER_DCHECK_MSG;
   DCHECK_EQ(last_processed_impl_sequence_, 0u) << TRACKER_DCHECK_MSG;
-  last_started_impl_sequence_ = args.frame_id.sequence_number;
 
   if (args.type == viz::BeginFrameArgs::NORMAL)
     impl_frames_.insert(args.frame_id);
 #endif
 
+  last_started_impl_sequence_ = args.frame_id.sequence_number;
   if (reset_all_state_) {
     begin_impl_frame_data_ = {};
     begin_main_frame_data_ = {};
@@ -507,9 +517,9 @@
 
 #if DCHECK_IS_ON()
   DCHECK(is_inside_frame_) << TRACKER_DCHECK_MSG;
-  last_processed_impl_sequence_ = ack.frame_id.sequence_number;
 #endif
 
+  last_processed_impl_sequence_ = ack.frame_id.sequence_number;
   if (first_submitted_frame_ == 0)
     first_submitted_frame_ = frame_token;
   last_submitted_frame_ = frame_token;
@@ -587,8 +597,9 @@
   DCHECK_EQ(last_started_impl_sequence_, last_processed_impl_sequence_)
       << TRACKER_DCHECK_MSG;
   is_inside_frame_ = false;
-  last_started_impl_sequence_ = last_processed_impl_sequence_ = 0;
 #endif
+
+  last_started_impl_sequence_ = last_processed_impl_sequence_ = 0;
 }
 
 void FrameSequenceTracker::ReportFramePresented(
@@ -693,10 +704,7 @@
   if (ShouldIgnoreSequence(ack.frame_id.sequence_number))
     return;
 
-#if DCHECK_IS_ON()
   last_processed_impl_sequence_ = ack.frame_id.sequence_number;
-#endif
-
   // If there is no damage for this frame (and no frame is submitted), then the
   // impl-sequence needs to be reset. However, this should be done after the
   // processing the frame is complete (i.e. in ReportFrameEnd()), so that other
diff --git a/cc/metrics/frame_sequence_tracker.h b/cc/metrics/frame_sequence_tracker.h
index 1d8354d..8ee948a 100644
--- a/cc/metrics/frame_sequence_tracker.h
+++ b/cc/metrics/frame_sequence_tracker.h
@@ -291,9 +291,7 @@
     return metrics_->main_throughput();
   }
 
-  void ScheduleTerminate() {
-    termination_status_ = TerminationStatus::kScheduledForTermination;
-  }
+  void ScheduleTerminate();
 
   struct TrackedFrameData {
     // Represents the |BeginFrameArgs::source_id| and
@@ -393,6 +391,9 @@
   // Report the throughput metrics every 5 seconds.
   const base::TimeDelta time_delta_to_report_ = base::TimeDelta::FromSeconds(5);
 
+  uint64_t last_started_impl_sequence_ = 0;
+  uint64_t last_processed_impl_sequence_ = 0;
+
 #if DCHECK_IS_ON()
   bool is_inside_frame_ = false;
 
@@ -406,9 +407,6 @@
   // when DCHECK is on.
   std::stringstream frame_sequence_trace_;
 
-  uint64_t last_started_impl_sequence_ = 0;
-  uint64_t last_processed_impl_sequence_ = 0;
-
   uint64_t last_started_main_sequence_ = 0;
 
   // If ReportBeginImplFrame is never called on a arg, then ReportBeginMainFrame
diff --git a/cc/metrics/frame_sequence_tracker_unittest.cc b/cc/metrics/frame_sequence_tracker_unittest.cc
index f0f14328..740abe3 100644
--- a/cc/metrics/frame_sequence_tracker_unittest.cc
+++ b/cc/metrics/frame_sequence_tracker_unittest.cc
@@ -696,4 +696,14 @@
   EXPECT_EQ(MainThroughput().frames_produced, 0u);
 }
 
+TEST_F(FrameSequenceTrackerTest, BeginImplFrameBeforeTerminate) {
+  const char sequence[] = "b(1)s(1)e(1)b(4)P(1)";
+  GenerateSequence(sequence);
+  EXPECT_EQ(ImplThroughput().frames_expected, 4u);
+  EXPECT_EQ(ImplThroughput().frames_produced, 1u);
+  collection_.StopSequence(FrameSequenceTrackerType::kTouchScroll);
+  EXPECT_EQ(ImplThroughput().frames_expected, 1u);
+  EXPECT_EQ(ImplThroughput().frames_produced, 1u);
+}
+
 }  // namespace cc
diff --git a/cc/trees/occlusion_tracker.cc b/cc/trees/occlusion_tracker.cc
index 363461f..d0dcf64 100644
--- a/cc/trees/occlusion_tracker.cc
+++ b/cc/trees/occlusion_tracker.cc
@@ -37,7 +37,7 @@
 Occlusion OcclusionTracker::GetCurrentOcclusionForContributingSurface(
     const gfx::Transform& draw_transform) const {
   DCHECK(!stack_.empty());
-  if (stack_.size() < 2)
+  if (stack_.size() < 2 || stack_.back().ignores_parent_occlusion)
     return Occlusion();
   // A contributing surface doesn't get occluded by things inside its own
   // surface, so only things outside the surface can occlude it. That occlusion
@@ -49,10 +49,12 @@
 
 const RenderSurfaceImpl*
 OcclusionTracker::OcclusionSurfaceForContributingSurface() const {
+  if (stack_.size() < 2 || stack_.back().ignores_parent_occlusion)
+    return nullptr;
   // A contributing surface doesn't get occluded by things inside its own
   // surface, so only things outside the surface can occlude it. That occlusion
   // is found just below the top of the stack (if it exists).
-  return (stack_.size() < 2) ? nullptr : stack_[stack_.size() - 2].target;
+  return stack_[stack_.size() - 2].target;
 }
 
 void OcclusionTracker::EnterLayer(
@@ -162,8 +164,10 @@
       !entering_unoccluded_subtree &&
       have_transform_from_screen_to_new_target &&
       !entering_root_target;
-  if (!copy_outside_occlusion_forward)
+  if (!copy_outside_occlusion_forward) {
+    stack_.back().ignores_parent_occlusion = true;
     return;
+  }
 
   size_t last_index = stack_.size() - 1;
   gfx::Transform old_target_to_new_target_transform(
diff --git a/cc/trees/occlusion_tracker.h b/cc/trees/occlusion_tracker.h
index 09c7aec..d249867 100644
--- a/cc/trees/occlusion_tracker.h
+++ b/cc/trees/occlusion_tracker.h
@@ -64,6 +64,7 @@
     const RenderSurfaceImpl* target;
     SimpleEnclosedRegion occlusion_from_outside_target;
     SimpleEnclosedRegion occlusion_from_inside_target;
+    bool ignores_parent_occlusion = false;
   };
 
   // The stack holds occluded regions for subtrees in the
diff --git a/cc/trees/occlusion_tracker_unittest.cc b/cc/trees/occlusion_tracker_unittest.cc
index 282133c..841c4bf 100644
--- a/cc/trees/occlusion_tracker_unittest.cc
+++ b/cc/trees/occlusion_tracker_unittest.cc
@@ -992,6 +992,63 @@
 
 ALL_OCCLUSIONTRACKER_TEST(OcclusionTrackerTestFilters)
 
+class OcclusionTrackerTestFiltersRenderSurfaceOcclusion
+    : public OcclusionTrackerTest {
+ protected:
+  using OcclusionTrackerTest::OcclusionTrackerTest;
+
+  void RunMyTest() override {
+    TestContentLayerImpl* parent = CreateRoot(gfx::Size(500, 500));
+    TestContentLayerImpl* blur_layer = CreateDrawingSurface(
+        parent, gfx::Transform(), gfx::PointF(100.f, 100.f), gfx::Size(50, 50),
+        true);
+    TestContentLayerImpl* opacity_layer = CreateDrawingSurface(
+        parent, gfx::Transform(), gfx::PointF(200.f, 100.f), gfx::Size(50, 50),
+        true);
+
+    // This layer fully covers the layer bounds of the above filtered layers,
+    // but not the blur filter extent of |blur_layer|.
+    TestContentLayerImpl* occluding_layer =
+        CreateDrawingLayer(parent, gfx::Transform(), gfx::PointF(100.f, 100.f),
+                           gfx::Size(300, 100), true);
+
+    FilterOperations filters;
+    filters.Append(FilterOperation::CreateBlurFilter(10.f));
+    GetEffectNode(blur_layer)->filters = filters;
+
+    filters.Clear();
+    filters.Append(FilterOperation::CreateOpacityFilter(0.5f));
+    GetEffectNode(opacity_layer)->filters = filters;
+
+    CalcDrawEtc();
+    TestOcclusionTrackerWithClip occlusion(gfx::Rect(0, 0, 1000, 1000));
+
+    ASSERT_NO_FATAL_FAILURE(VisitLayer(occluding_layer, &occlusion));
+
+    // The render surface of |opacity_layer| (which has a filter that doesn't
+    // move pixels) is occluded by |occluding_layer|.
+    ASSERT_NO_FATAL_FAILURE(VisitLayer(opacity_layer, &occlusion));
+    ASSERT_NO_FATAL_FAILURE(
+        EnterContributingSurface(opacity_layer, &occlusion));
+    EXPECT_EQ(gfx::Rect(),
+              occlusion.UnoccludedSurfaceContentRect(
+                  opacity_layer, gfx::Rect(opacity_layer->bounds())));
+    ASSERT_NO_FATAL_FAILURE(
+        LeaveContributingSurface(opacity_layer, &occlusion));
+
+    // The render surface of |blur_layer| (which has a filter that moves pixels)
+    // is not occluded by |occluding_layer|.
+    ASSERT_NO_FATAL_FAILURE(VisitLayer(blur_layer, &occlusion));
+    ASSERT_NO_FATAL_FAILURE(EnterContributingSurface(blur_layer, &occlusion));
+    EXPECT_EQ(gfx::Rect(blur_layer->bounds()),
+              occlusion.UnoccludedSurfaceContentRect(
+                  blur_layer, gfx::Rect(blur_layer->bounds())));
+    ASSERT_NO_FATAL_FAILURE(LeaveContributingSurface(blur_layer, &occlusion));
+  }
+};
+
+ALL_OCCLUSIONTRACKER_TEST(OcclusionTrackerTestFiltersRenderSurfaceOcclusion)
+
 class OcclusionTrackerTestOpaqueContentsRegionEmpty
     : public OcclusionTrackerTest {
  protected:
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index 2d216d2..11105d8 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -1988,6 +1988,7 @@
     testonly = true
     target_type = "instrumentation_test_apk"
     shared_library_for_unwind_asset = "chromefortest"
+    bundles_supported = true
 
     deps = _chrome_public_shared_deps + invoker.deps + [
              ":chrome_apk_pak_assets",
@@ -2964,6 +2965,7 @@
   sources = [
     "native_java_unittests/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulatorTest.java",
     "native_java_unittests/src/org/chromium/chrome/browser/installedapp/InstalledAppProviderTest.java",
+    "native_java_unittests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java",
   ]
 
   annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
@@ -2976,5 +2978,6 @@
   sources = [
     "native_java_unittests/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulatorTest.java",
     "native_java_unittests/src/org/chromium/chrome/browser/installedapp/InstalledAppProviderTest.java",
+    "native_java_unittests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java",
   ]
 }
diff --git a/chrome/android/chrome_junit_test_java_sources.gni b/chrome/android/chrome_junit_test_java_sources.gni
index 09e03c2a..37061f40 100644
--- a/chrome/android/chrome_junit_test_java_sources.gni
+++ b/chrome/android/chrome_junit_test_java_sources.gni
@@ -114,7 +114,6 @@
   "junit/src/org/chromium/chrome/browser/nfc/NfcSystemLevelPromptTest.java",
   "junit/src/org/chromium/chrome/browser/night_mode/GlobalNightModeStateControllerTest.java",
   "junit/src/org/chromium/chrome/browser/night_mode/GlobalNightModeStateProviderHolderTest.java",
-  "junit/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java",
   "junit/src/org/chromium/chrome/browser/notifications/NotificationSystemStatusUtilUnitTest.java",
   "junit/src/org/chromium/chrome/browser/notifications/NotificationTriggerBackgroundTaskTest.java",
   "junit/src/org/chromium/chrome/browser/notifications/NotificationTriggerSchedulerTest.java",
@@ -192,6 +191,7 @@
   "junit/src/org/chromium/chrome/browser/signin/ConfirmManagedSyncDataDialogTest.java",
   "junit/src/org/chromium/chrome/browser/signin/ConfirmSyncDataStateMachineDelegateTest.java",
   "junit/src/org/chromium/chrome/browser/signin/ConfirmSyncDataStateMachineTest.java",
+  "junit/src/org/chromium/chrome/browser/signin/SignOutDialogFragmentTest.java",
   "junit/src/org/chromium/chrome/browser/signin/SigninManagerTest.java",
   "junit/src/org/chromium/chrome/browser/signin/SigninPromoUtilTest.java",
   "junit/src/org/chromium/chrome/browser/signin/SigninUtilsStartActivityTest.java",
diff --git a/chrome/android/features/autofill_assistant/BUILD.gn b/chrome/android/features/autofill_assistant/BUILD.gn
index f79e8d2..edbac41 100644
--- a/chrome/android/features/autofill_assistant/BUILD.gn
+++ b/chrome/android/features/autofill_assistant/BUILD.gn
@@ -261,6 +261,7 @@
     "//chrome/android:chrome_test_util_java",
     "//chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/library:feed_lib_java",
     "//chrome/browser/image_fetcher:java",
+    "//chrome/browser/preferences:java",
     "//chrome/browser/ui/android/widget:java",
     "//chrome/test/android:chrome_java_test_support",
     "//components/autofill_assistant/browser:proto_java",
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataBinder.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataBinder.java
index 1049b5e..5b40f450 100644
--- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataBinder.java
+++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataBinder.java
@@ -5,15 +5,11 @@
 package org.chromium.chrome.browser.autofill_assistant.user_data;
 
 import android.app.Activity;
-import android.content.Context;
 import android.view.View;
 import android.view.ViewGroup;
 
-import androidx.annotation.Nullable;
-
 import org.chromium.base.task.PostTask;
 import org.chromium.chrome.browser.ChromeVersionInfo;
-import org.chromium.chrome.browser.autofill.PersonalDataManager;
 import org.chromium.chrome.browser.autofill.prefeditor.EditorDialog;
 import org.chromium.chrome.browser.autofill_assistant.user_data.additional_sections.AssistantAdditionalSectionContainer;
 import org.chromium.chrome.browser.payments.AddressEditor;
@@ -93,10 +89,6 @@
             mDividerTag = dividerTag;
             mActivity = activity;
         }
-
-        public Context getContext() {
-            return mActivity;
-        }
     }
 
     @Override
@@ -215,38 +207,35 @@
      */
     private boolean updateSectionContents(
             AssistantCollectUserDataModel model, PropertyKey propertyKey, ViewHolder view) {
-        if (propertyKey == AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS
+        if (propertyKey == AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS
                 || propertyKey == AssistantCollectUserDataModel.WEB_CONTENTS) {
-            WebContents webContents = model.get(AssistantCollectUserDataModel.WEB_CONTENTS);
-            List<AssistantCollectUserDataModel.PaymentTuple> paymentTuples =
-                    model.get(AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS);
-
-            List<AutofillPaymentInstrument> availablePaymentMethods;
-            if (webContents != null && paymentTuples != null) {
-                availablePaymentMethods =
-                        getPaymentInstrumentsFromPaymentTuples(webContents, paymentTuples);
-            } else {
-                availablePaymentMethods = Collections.emptyList();
-            }
-            view.mPaymentMethodSection.onAvailablePaymentMethodsChanged(availablePaymentMethods);
-            return true;
-        } else if (propertyKey == AssistantCollectUserDataModel.AVAILABLE_PROFILES) {
-            List<PersonalDataManager.AutofillProfile> autofillProfiles =
-                    model.get(AssistantCollectUserDataModel.AVAILABLE_PROFILES);
-            if (autofillProfiles == null) {
-                autofillProfiles = Collections.emptyList();
-            }
-            if (shouldShowContactDetails(model)) {
-                view.mContactDetailsSection.onProfilesChanged(autofillProfiles,
-                        model.get(AssistantCollectUserDataModel.REQUEST_EMAIL),
-                        model.get(AssistantCollectUserDataModel.REQUEST_NAME),
-                        model.get(AssistantCollectUserDataModel.REQUEST_PHONE));
-            }
             if (model.get(AssistantCollectUserDataModel.REQUEST_PAYMENT)) {
-                view.mPaymentMethodSection.onProfilesChanged(autofillProfiles);
+                List<AutofillPaymentInstrument> paymentInstruments;
+                if (model.get(AssistantCollectUserDataModel.WEB_CONTENTS) == null) {
+                    paymentInstruments = Collections.emptyList();
+                } else {
+                    paymentInstruments =
+                            model.get(AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS);
+                }
+                view.mPaymentMethodSection.onAvailablePaymentMethodsChanged(paymentInstruments);
             }
+            return true;
+        } else if (propertyKey == AssistantCollectUserDataModel.AVAILABLE_CONTACTS) {
+            if (shouldShowContactDetails(model)) {
+                view.mContactDetailsSection.onContactsChanged(
+                        model.get(AssistantCollectUserDataModel.AVAILABLE_CONTACTS));
+            }
+            return true;
+        } else if (propertyKey == AssistantCollectUserDataModel.AVAILABLE_SHIPPING_ADDRESSES) {
             if (model.get(AssistantCollectUserDataModel.REQUEST_SHIPPING_ADDRESS)) {
-                view.mShippingAddressSection.onProfilesChanged(autofillProfiles);
+                view.mShippingAddressSection.onAddressesChanged(
+                        model.get(AssistantCollectUserDataModel.AVAILABLE_SHIPPING_ADDRESSES));
+            }
+            return true;
+        } else if (propertyKey == AssistantCollectUserDataModel.AVAILABLE_BILLING_ADDRESSES) {
+            if (model.get(AssistantCollectUserDataModel.REQUEST_PAYMENT)) {
+                view.mPaymentMethodSection.onAddressesChanged(
+                        model.get(AssistantCollectUserDataModel.AVAILABLE_BILLING_ADDRESSES));
             }
             return true;
         } else if (propertyKey == AssistantCollectUserDataModel.REQUIRE_BILLING_POSTAL_CODE
@@ -376,10 +365,10 @@
      */
     private boolean updateSectionSelectedItem(
             AssistantCollectUserDataModel model, PropertyKey propertyKey, ViewHolder view) {
-        if (propertyKey == AssistantCollectUserDataModel.SHIPPING_ADDRESS) {
+        if (propertyKey == AssistantCollectUserDataModel.SELECTED_SHIPPING_ADDRESS) {
             if (model.get(AssistantCollectUserDataModel.REQUEST_SHIPPING_ADDRESS)) {
-                AutofillAddress shippingAddress = getAddressFromProfile(view.getContext(),
-                        model.get(AssistantCollectUserDataModel.SHIPPING_ADDRESS));
+                AutofillAddress shippingAddress =
+                        model.get(AssistantCollectUserDataModel.SELECTED_SHIPPING_ADDRESS);
                 if (shippingAddress != null) {
                     view.mShippingAddressSection.addOrUpdateItem(
                             shippingAddress, /* select= */ true);
@@ -387,11 +376,10 @@
                 // No need to reset selection if null, this will be handled by setItems().
             }
             return true;
-        } else if (propertyKey == AssistantCollectUserDataModel.PAYMENT_METHOD) {
+        } else if (propertyKey == AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT) {
             if (model.get(AssistantCollectUserDataModel.REQUEST_PAYMENT)) {
-                AutofillPaymentInstrument paymentInstrument = getPaymentInstrumentFromPaymentTuple(
-                        model.get(AssistantCollectUserDataModel.WEB_CONTENTS),
-                        model.get(AssistantCollectUserDataModel.PAYMENT_METHOD));
+                AutofillPaymentInstrument paymentInstrument =
+                        model.get(AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT);
                 if (paymentInstrument != null) {
                     view.mPaymentMethodSection.addOrUpdateItem(
                             paymentInstrument, /* select= */ true);
@@ -399,13 +387,10 @@
                 // No need to reset selection if null, this will be handled by setItems().
             }
             return true;
-        } else if (propertyKey == AssistantCollectUserDataModel.CONTACT_DETAILS) {
+        } else if (propertyKey == AssistantCollectUserDataModel.SELECTED_CONTACT_DETAILS) {
             if (shouldShowContactDetails(model)) {
-                AutofillContact contact = getContactFromProfile(view.getContext(),
-                        model.get(AssistantCollectUserDataModel.CONTACT_DETAILS),
-                        model.get(AssistantCollectUserDataModel.REQUEST_NAME),
-                        model.get(AssistantCollectUserDataModel.REQUEST_PHONE),
-                        model.get(AssistantCollectUserDataModel.REQUEST_EMAIL));
+                AutofillContact contact =
+                        model.get(AssistantCollectUserDataModel.SELECTED_CONTACT_DETAILS);
                 if (contact != null) {
                     view.mContactDetailsSection.addOrUpdateItem(contact, /* select= */ true);
                 }
@@ -616,55 +601,4 @@
 
         return methodData;
     }
-
-    private List<AutofillPaymentInstrument> getPaymentInstrumentsFromPaymentTuples(
-            WebContents webContents,
-            List<AssistantCollectUserDataModel.PaymentTuple> paymentTuples) {
-        List<AutofillPaymentInstrument> paymentInstruments = new ArrayList<>(paymentTuples.size());
-
-        for (AssistantCollectUserDataModel.PaymentTuple tuple : paymentTuples) {
-            paymentInstruments.add(new AutofillPaymentInstrument(webContents, tuple.getCreditCard(),
-                    tuple.getBillingAddress(), MethodStrings.BASIC_CARD,
-                    /* matchesMerchantCardTypeExactly= */ true));
-        }
-
-        return paymentInstruments;
-    }
-
-    @Nullable
-    private AutofillAddress getAddressFromProfile(
-            Context context, @Nullable PersonalDataManager.AutofillProfile profile) {
-        if (profile == null) {
-            return null;
-        }
-        return new AutofillAddress(context, profile);
-    }
-
-    @Nullable
-    private AutofillContact getContactFromProfile(Context context,
-            @Nullable PersonalDataManager.AutofillProfile profile, boolean requestName,
-            boolean requestPhone, boolean requestEmail) {
-        if (profile == null) {
-            return null;
-        }
-        ContactEditor editor = new ContactEditor(requestName, requestPhone, requestEmail, false);
-        String name = profile.getFullName();
-        String phone = profile.getPhoneNumber();
-        String email = profile.getEmailAddress();
-        return new AutofillContact(context, profile, name, phone, email,
-                editor.checkContactCompletionStatus(name, phone, email), requestName, requestPhone,
-                requestEmail);
-    }
-
-    @Nullable
-    private AutofillPaymentInstrument getPaymentInstrumentFromPaymentTuple(
-            @Nullable WebContents webContents,
-            @Nullable AssistantCollectUserDataModel.PaymentTuple paymentTuple) {
-        if (webContents == null || paymentTuple == null) {
-            return null;
-        }
-        return new AutofillPaymentInstrument(webContents, paymentTuple.getCreditCard(),
-                paymentTuple.getBillingAddress(), MethodStrings.BASIC_CARD,
-                /* matchesMerchantCardTypeExactly= */ true);
-    }
 }
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataModel.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataModel.java
index 9d126906..ea96452 100644
--- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataModel.java
+++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantCollectUserDataModel.java
@@ -4,7 +4,9 @@
 
 package org.chromium.chrome.browser.autofill_assistant.user_data;
 
+import android.content.Context;
 import android.support.annotation.Nullable;
+import android.support.annotation.VisibleForTesting;
 import android.view.View;
 
 import org.chromium.base.annotations.CalledByNative;
@@ -16,11 +18,17 @@
 import org.chromium.chrome.browser.autofill_assistant.user_data.additional_sections.AssistantTextInputSection;
 import org.chromium.chrome.browser.autofill_assistant.user_data.additional_sections.AssistantTextInputSection.TextInputFactory;
 import org.chromium.chrome.browser.autofill_assistant.user_data.additional_sections.AssistantTextInputType;
+import org.chromium.chrome.browser.payments.AutofillAddress;
+import org.chromium.chrome.browser.payments.AutofillContact;
+import org.chromium.chrome.browser.payments.AutofillPaymentInstrument;
+import org.chromium.chrome.browser.payments.ContactEditor;
+import org.chromium.components.payments.MethodStrings;
 import org.chromium.content_public.browser.WebContents;
 import org.chromium.ui.modelutil.PropertyModel;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -30,31 +38,6 @@
 public class AssistantCollectUserDataModel extends PropertyModel {
     // TODO(crbug.com/806868): Add |setSelectedLogin|.
 
-    /**
-     * This class holds a the credit card and billing address information required to create an
-     * {@code AutofillPaymentInstrument}.
-     */
-    public static class PaymentTuple {
-        private final PersonalDataManager.CreditCard mCreditCard;
-        @Nullable
-        private final PersonalDataManager.AutofillProfile mBillingAddress;
-
-        public PaymentTuple(PersonalDataManager.CreditCard creditCard,
-                @Nullable PersonalDataManager.AutofillProfile billingAddress) {
-            mCreditCard = creditCard;
-            mBillingAddress = billingAddress;
-        }
-
-        public PersonalDataManager.CreditCard getCreditCard() {
-            return mCreditCard;
-        }
-
-        @Nullable
-        public PersonalDataManager.AutofillProfile getBillingAddress() {
-            return mBillingAddress;
-        }
-    }
-
     public static final WritableObjectPropertyKey<AssistantCollectUserDataDelegate> DELEGATE =
             new WritableObjectPropertyKey<>();
 
@@ -65,16 +48,16 @@
     public static final WritableBooleanPropertyKey VISIBLE = new WritableBooleanPropertyKey();
 
     /** The chosen shipping address. */
-    public static final WritableObjectPropertyKey<PersonalDataManager.AutofillProfile>
-            SHIPPING_ADDRESS = new WritableObjectPropertyKey<>();
+    public static final WritableObjectPropertyKey<AutofillAddress> SELECTED_SHIPPING_ADDRESS =
+            new WritableObjectPropertyKey<>();
 
     /** The chosen payment method (including billing address). */
-    public static final WritableObjectPropertyKey<AssistantCollectUserDataModel.PaymentTuple>
-            PAYMENT_METHOD = new WritableObjectPropertyKey<>();
+    public static final WritableObjectPropertyKey<AutofillPaymentInstrument>
+            SELECTED_PAYMENT_INSTRUMENT = new WritableObjectPropertyKey<>();
 
     /** The chosen contact details. */
-    public static final WritableObjectPropertyKey<PersonalDataManager.AutofillProfile>
-            CONTACT_DETAILS = new WritableObjectPropertyKey<>();
+    public static final WritableObjectPropertyKey<AutofillContact> SELECTED_CONTACT_DETAILS =
+            new WritableObjectPropertyKey<>();
 
     /** The login section title. */
     public static final WritableObjectPropertyKey<String> LOGIN_SECTION_TITLE =
@@ -101,11 +84,17 @@
     public static final WritableBooleanPropertyKey REQUEST_LOGIN_CHOICE =
             new WritableBooleanPropertyKey();
 
-    public static final WritableObjectPropertyKey<List<PersonalDataManager.AutofillProfile>>
-            AVAILABLE_PROFILES = new WritableObjectPropertyKey<>();
+    public static final WritableObjectPropertyKey<List<AutofillAddress>>
+            AVAILABLE_BILLING_ADDRESSES = new WritableObjectPropertyKey<>();
 
-    public static final WritableObjectPropertyKey<List<AssistantCollectUserDataModel.PaymentTuple>>
-            AVAILABLE_AUTOFILL_PAYMENT_METHODS = new WritableObjectPropertyKey<>();
+    public static final WritableObjectPropertyKey<List<AutofillContact>> AVAILABLE_CONTACTS =
+            new WritableObjectPropertyKey<>();
+
+    public static final WritableObjectPropertyKey<List<AutofillAddress>>
+            AVAILABLE_SHIPPING_ADDRESSES = new WritableObjectPropertyKey<>();
+
+    public static final WritableObjectPropertyKey<List<AutofillPaymentInstrument>>
+            AVAILABLE_PAYMENT_INSTRUMENTS = new WritableObjectPropertyKey<>();
 
     public static final WritableObjectPropertyKey<List<String>> SUPPORTED_BASIC_CARD_NETWORKS =
             new WritableObjectPropertyKey<>();
@@ -158,11 +147,12 @@
             new WritableObjectPropertyKey<>();
 
     public AssistantCollectUserDataModel() {
-        super(DELEGATE, WEB_CONTENTS, VISIBLE, SHIPPING_ADDRESS, PAYMENT_METHOD, CONTACT_DETAILS,
-                LOGIN_SECTION_TITLE, SELECTED_LOGIN, TERMS_STATUS, REQUEST_NAME, REQUEST_EMAIL,
-                REQUEST_PHONE, REQUEST_SHIPPING_ADDRESS, REQUEST_PAYMENT,
-                ACCEPT_TERMS_AND_CONDITIONS_TEXT, SHOW_TERMS_AS_CHECKBOX, REQUEST_LOGIN_CHOICE,
-                AVAILABLE_PROFILES, AVAILABLE_AUTOFILL_PAYMENT_METHODS,
+        super(DELEGATE, WEB_CONTENTS, VISIBLE, SELECTED_SHIPPING_ADDRESS,
+                SELECTED_PAYMENT_INSTRUMENT, SELECTED_CONTACT_DETAILS, LOGIN_SECTION_TITLE,
+                SELECTED_LOGIN, TERMS_STATUS, REQUEST_NAME, REQUEST_EMAIL, REQUEST_PHONE,
+                REQUEST_SHIPPING_ADDRESS, REQUEST_PAYMENT, ACCEPT_TERMS_AND_CONDITIONS_TEXT,
+                SHOW_TERMS_AS_CHECKBOX, REQUEST_LOGIN_CHOICE, AVAILABLE_BILLING_ADDRESSES,
+                AVAILABLE_CONTACTS, AVAILABLE_SHIPPING_ADDRESSES, AVAILABLE_PAYMENT_INSTRUMENTS,
                 SUPPORTED_BASIC_CARD_NETWORKS, AVAILABLE_LOGINS, EXPANDED_SECTION,
                 REQUIRE_BILLING_POSTAL_CODE, BILLING_POSTAL_CODE_MISSING_TEXT,
                 CREDIT_CARD_EXPIRED_TEXT, REQUEST_DATE_RANGE, DATE_RANGE_START,
@@ -185,8 +175,12 @@
         set(REQUIRE_BILLING_POSTAL_CODE, false);
         set(DATE_RANGE_START_LABEL, "");
         set(DATE_RANGE_END_LABEL, "");
-        set(PREPENDED_SECTIONS, new ArrayList<>());
-        set(APPENDED_SECTIONS, new ArrayList<>());
+        set(PREPENDED_SECTIONS, Collections.emptyList());
+        set(APPENDED_SECTIONS, Collections.emptyList());
+        set(AVAILABLE_PAYMENT_INSTRUMENTS, Collections.emptyList());
+        set(AVAILABLE_CONTACTS, Collections.emptyList());
+        set(AVAILABLE_SHIPPING_ADDRESSES, Collections.emptyList());
+        set(AVAILABLE_BILLING_ADDRESSES, Collections.emptyList());
     }
 
     @CalledByNative
@@ -275,23 +269,20 @@
     }
 
     @CalledByNative
-    private void setContactDetails(@Nullable PersonalDataManager.AutofillProfile contact) {
-        set(CONTACT_DETAILS, contact);
+    private void setSelectedContactDetails(@Nullable AutofillContact contact) {
+        set(SELECTED_CONTACT_DETAILS, contact);
     }
 
     @CalledByNative
-    private void setShippingAddress(@Nullable PersonalDataManager.AutofillProfile shippingAddress) {
-        set(SHIPPING_ADDRESS, shippingAddress);
+    private void setSelectedShippingAddress(@Nullable AutofillAddress shippingAddress) {
+        set(SELECTED_SHIPPING_ADDRESS, shippingAddress);
     }
 
     @CalledByNative
-    private void setPaymentMethod(@Nullable PersonalDataManager.CreditCard card,
-            @Nullable PersonalDataManager.AutofillProfile billingAddress) {
-        if (card == null) {
-            set(PAYMENT_METHOD, null);
-        } else {
-            set(PAYMENT_METHOD, new PaymentTuple(card, billingAddress));
-        }
+    private void setSelectedPaymentInstrument(@Nullable PersonalDataManager.CreditCard card,
+            @Nullable PersonalDataManager.AutofillProfile billingProfile) {
+        set(SELECTED_PAYMENT_INSTRUMENT,
+                createAutofillPaymentInstrument(get(WEB_CONTENTS), card, billingProfile));
     }
 
     /** Creates an empty list of login options. */
@@ -406,39 +397,109 @@
     }
 
     @CalledByNative
-    private static List<PersonalDataManager.AutofillProfile> createAutofillProfileList() {
+    private static List<AutofillContact> createAutofillContactList() {
         return new ArrayList<>();
     }
 
     @CalledByNative
-    private static void addAutofillProfile(List<PersonalDataManager.AutofillProfile> profiles,
-            PersonalDataManager.AutofillProfile profile) {
-        profiles.add(profile);
+    private static void addAutofillContact(
+            List<AutofillContact> contacts, AutofillContact contact) {
+        contacts.add(contact);
+    }
+
+    @VisibleForTesting
+    @CalledByNative
+    @Nullable
+    public static AutofillContact createAutofillContact(Context context,
+            @Nullable PersonalDataManager.AutofillProfile profile, boolean requestName,
+            boolean requestPhone, boolean requestEmail) {
+        if (profile == null || !(requestName || requestPhone || requestEmail)) {
+            return null;
+        }
+        ContactEditor editor =
+                new ContactEditor(requestName, requestPhone, requestEmail, /* saveToDisk= */ false);
+        String name = profile.getFullName();
+        String phone = profile.getPhoneNumber();
+        String email = profile.getEmailAddress();
+        return new AutofillContact(context, profile, name, phone, email,
+                editor.checkContactCompletionStatus(name, phone, email), requestName, requestPhone,
+                requestEmail);
     }
 
     @CalledByNative
-    private void setAutofillProfiles(List<PersonalDataManager.AutofillProfile> profiles) {
-        set(AVAILABLE_PROFILES, profiles);
+    private void setAvailableContacts(List<AutofillContact> contacts) {
+        set(AVAILABLE_CONTACTS, contacts);
     }
 
     @CalledByNative
-    private static List<AssistantCollectUserDataModel.PaymentTuple>
-    createAutofillPaymentMethodList() {
+    private static List<AutofillAddress> createAutofillAddressList() {
         return new ArrayList<>();
     }
 
     @CalledByNative
-    private static void addAutofillPaymentMethod(
-            List<AssistantCollectUserDataModel.PaymentTuple> paymentTuples,
-            PersonalDataManager.CreditCard card,
-            @Nullable PersonalDataManager.AutofillProfile billingAddress) {
-        paymentTuples.add(new PaymentTuple(card, billingAddress));
+    private static void addAutofillAddress(
+            List<AutofillAddress> addresses, AutofillAddress address) {
+        addresses.add(address);
+    }
+
+    @VisibleForTesting
+    @CalledByNative
+    @Nullable
+    public static AutofillAddress createAutofillAddress(
+            Context context, @Nullable PersonalDataManager.AutofillProfile profile) {
+        if (profile == null) {
+            return null;
+        }
+        return new AutofillAddress(context, profile);
     }
 
     @CalledByNative
-    private void setAutofillPaymentMethods(
-            List<AssistantCollectUserDataModel.PaymentTuple> paymentTuples) {
-        set(AVAILABLE_AUTOFILL_PAYMENT_METHODS, paymentTuples);
+    private void setAvailableShippingAddresses(List<AutofillAddress> addresses) {
+        set(AVAILABLE_SHIPPING_ADDRESSES, addresses);
+    }
+
+    @CalledByNative
+    private void setAvailableBillingAddresses(List<AutofillAddress> addresses) {
+        set(AVAILABLE_BILLING_ADDRESSES, addresses);
+    }
+
+    @CalledByNative
+    private static List<AutofillPaymentInstrument> createAutofillPaymentInstrumentList() {
+        return new ArrayList<>();
+    }
+
+    // TODO(b/144005336): Make this method static.
+    @CalledByNative
+    private void addAutofillPaymentInstrument(List<AutofillPaymentInstrument> paymentInstruments,
+            @Nullable PersonalDataManager.CreditCard card,
+            @Nullable PersonalDataManager.AutofillProfile billingProfile) {
+        AutofillPaymentInstrument paymentInstrument =
+                createAutofillPaymentInstrument(get(WEB_CONTENTS), card, billingProfile);
+        if (paymentInstrument != null) {
+            paymentInstruments.add(paymentInstrument);
+        }
+    }
+
+    // TODO(b/144005336): Call from native instead.
+    @VisibleForTesting
+    @Nullable
+    public static AutofillPaymentInstrument createAutofillPaymentInstrument(
+            @Nullable WebContents webContents, @Nullable PersonalDataManager.CreditCard card,
+            @Nullable PersonalDataManager.AutofillProfile billingProfile) {
+        if (webContents == null) {
+            return null;
+        }
+        if (card == null) {
+            return null;
+        }
+        return new AutofillPaymentInstrument(webContents, card, billingProfile,
+                MethodStrings.BASIC_CARD, /* matchesMerchantCardTypeExactly= */ true);
+    }
+
+    @CalledByNative
+    private void setAvailablePaymentInstruments(
+            List<AutofillPaymentInstrument> paymentInstruments) {
+        set(AVAILABLE_PAYMENT_INSTRUMENTS, paymentInstruments);
     }
 
     @CalledByNative
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantContactDetailsSection.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantContactDetailsSection.java
index f3f981b0..a41f16a 100644
--- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantContactDetailsSection.java
+++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantContactDetailsSection.java
@@ -14,12 +14,9 @@
 import androidx.annotation.Nullable;
 
 import org.chromium.chrome.autofill_assistant.R;
-import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile;
 import org.chromium.chrome.browser.payments.AutofillContact;
 import org.chromium.chrome.browser.payments.ContactEditor;
-import org.chromium.chrome.browser.payments.ui.ContactDetailsSection;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -140,39 +137,21 @@
 
     /**
      * The Chrome profiles have changed externally. This will rebuild the UI with the new/changed
-     * set of profiles, while keeping the selected item if possible.
+     * set of contacts derived from the profiles, while keeping the selected item if possible.
      */
-    void onProfilesChanged(List<AutofillProfile> profiles, boolean requestPayerEmail,
-            boolean requestPayerName, boolean requestPayerPhone) {
+    void onContactsChanged(List<AutofillContact> contacts) {
         if (mIgnoreProfileChangeNotifications) {
             return;
         }
-
-        if (!requestPayerEmail && !requestPayerName && !requestPayerPhone) {
-            return;
-        }
-
-        // Note: we create a temporary editor (necessary for converting profiles to contacts)
-        // instead of using mEditor, which may be null.
-        ContactEditor tempEditor =
-                new ContactEditor(requestPayerName, requestPayerPhone, requestPayerEmail, false);
-
-        // Convert profiles into a list of |AutofillContact|.
         int selectedContactIndex = -1;
-        ContactDetailsSection sectionInformation =
-                new ContactDetailsSection(mContext, profiles, tempEditor, null);
-        List<AutofillContact> contacts = new ArrayList<>();
-        for (int i = 0; i < sectionInformation.getSize(); i++) {
-            AutofillContact contact = (AutofillContact) sectionInformation.getItem(i);
-            if (contact == null) {
-                continue;
-            }
-            contacts.add(contact);
-            if (mSelectedOption != null && areEqual(contact, mSelectedOption)) {
-                selectedContactIndex = i;
+        if (mSelectedOption != null) {
+            for (int i = 0; i < contacts.size(); i++) {
+                if (areEqual(contacts.get(i), mSelectedOption)) {
+                    selectedContactIndex = i;
+                    break;
+                }
             }
         }
-
         // Replace current set of items, keep selection if possible.
         setItems(contacts, selectedContactIndex);
     }
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantPaymentMethodSection.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantPaymentMethodSection.java
index cbfe148f..d6235f7 100644
--- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantPaymentMethodSection.java
+++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantPaymentMethodSection.java
@@ -57,7 +57,7 @@
             String guid = method.getCard().getBillingAddressId();
             PersonalDataManager.AutofillProfile profile = personalDataManager.getProfile(guid);
             if (profile != null) {
-                addAutocompleteInformationToEditor(profile);
+                addAutocompleteInformationToEditor(new AutofillAddress(mContext, profile));
             }
         }
     }
@@ -167,10 +167,10 @@
         return TextUtils.equals(profileA.getGUID(), profileB.getGUID());
     }
 
-    void onProfilesChanged(List<PersonalDataManager.AutofillProfile> profiles) {
+    void onAddressesChanged(List<AutofillAddress> addresses) {
         // TODO(crbug.com/806868): replace suggested billing addresses (remove if necessary).
-        for (PersonalDataManager.AutofillProfile profile : profiles) {
-            addAutocompleteInformationToEditor(profile);
+        for (AutofillAddress address : addresses) {
+            addAutocompleteInformationToEditor(address);
         }
     }
 
@@ -209,12 +209,12 @@
         mCreditCardExpiredText = text;
     }
 
-    private void addAutocompleteInformationToEditor(PersonalDataManager.AutofillProfile profile) {
+    private void addAutocompleteInformationToEditor(AutofillAddress address) {
         // The check for non-null label is necessary to prevent crash in editor when opening.
-        if (mEditor == null || profile.getLabel() == null) {
+        if (mEditor == null || address.getProfile().getLabel() == null) {
             return;
         }
-        mEditor.updateBillingAddressIfComplete(new AutofillAddress(mContext, profile));
+        mEditor.updateBillingAddressIfComplete(address);
     }
 
     private void setErrorMessage(TextView errorMessageView, AutofillPaymentInstrument method) {
diff --git a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantShippingAddressSection.java b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantShippingAddressSection.java
index e53d823a..22b17dc 100644
--- a/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantShippingAddressSection.java
+++ b/chrome/android/features/autofill_assistant/java/src/org/chromium/chrome/browser/autofill_assistant/user_data/AssistantShippingAddressSection.java
@@ -18,7 +18,6 @@
 import org.chromium.chrome.browser.payments.AddressEditor;
 import org.chromium.chrome.browser.payments.AutofillAddress;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -125,21 +124,23 @@
         return TextUtils.equals(optionA.getProfile().getGUID(), optionB.getProfile().getGUID());
     }
 
-    void onProfilesChanged(List<PersonalDataManager.AutofillProfile> profiles) {
+    /**
+     * The Chrome profiles have changed externally. This will rebuild the UI with the new/changed
+     * set of addresses derived from the profiles, while keeping the selected item if possible.
+     */
+    void onAddressesChanged(List<AutofillAddress> addresses) {
         if (mIgnoreProfileChangeNotifications) {
             return;
         }
-
         int selectedAddressIndex = -1;
-        List<AutofillAddress> addresses = new ArrayList<>();
-        for (int i = 0; i < profiles.size(); i++) {
-            AutofillAddress autofillAddress = new AutofillAddress(mContext, profiles.get(i));
-            if (mSelectedOption != null && areEqual(mSelectedOption, autofillAddress)) {
-                selectedAddressIndex = i;
+        if (mSelectedOption != null) {
+            for (int i = 0; i < addresses.size(); i++) {
+                if (areEqual(addresses.get(i), mSelectedOption)) {
+                    selectedAddressIndex = i;
+                    break;
+                }
             }
-            addresses.add(autofillAddress);
         }
-
         // Replace current set of items, keep selection if possible.
         setItems(addresses, selectedAddressIndex);
     }
diff --git a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataUiTest.java b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataUiTest.java
index 01aebea..fc01bee 100644
--- a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataUiTest.java
+++ b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantCollectUserDataUiTest.java
@@ -64,6 +64,9 @@
 import org.chromium.chrome.browser.autofill_assistant.user_data.additional_sections.AssistantTextInputSection.TextInputFactory;
 import org.chromium.chrome.browser.autofill_assistant.user_data.additional_sections.AssistantTextInputType;
 import org.chromium.chrome.browser.customtabs.CustomTabActivityTestRule;
+import org.chromium.chrome.browser.payments.AutofillAddress;
+import org.chromium.chrome.browser.payments.AutofillContact;
+import org.chromium.chrome.browser.payments.AutofillPaymentInstrument;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
 
@@ -131,17 +134,18 @@
 
         /* Test initial model state. */
         assertThat(model.get(AssistantCollectUserDataModel.VISIBLE), is(false));
-        assertThat(model.get(AssistantCollectUserDataModel.AVAILABLE_PROFILES), nullValue());
-        assertThat(model.get(AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS),
-                nullValue());
+        assertThat(model.get(AssistantCollectUserDataModel.AVAILABLE_CONTACTS), empty());
+        assertThat(model.get(AssistantCollectUserDataModel.AVAILABLE_SHIPPING_ADDRESSES), empty());
+        assertThat(model.get(AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS), empty());
         assertThat(model.get(AssistantCollectUserDataModel.SUPPORTED_BASIC_CARD_NETWORKS),
                 nullValue());
         assertThat(model.get(AssistantCollectUserDataModel.EXPANDED_SECTION), nullValue());
         assertThat(model.get(AssistantCollectUserDataModel.DELEGATE), nullValue());
         assertThat(model.get(AssistantCollectUserDataModel.WEB_CONTENTS), nullValue());
-        assertThat(model.get(AssistantCollectUserDataModel.SHIPPING_ADDRESS), nullValue());
-        assertThat(model.get(AssistantCollectUserDataModel.PAYMENT_METHOD), nullValue());
-        assertThat(model.get(AssistantCollectUserDataModel.CONTACT_DETAILS), nullValue());
+        assertThat(model.get(AssistantCollectUserDataModel.SELECTED_SHIPPING_ADDRESS), nullValue());
+        assertThat(
+                model.get(AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT), nullValue());
+        assertThat(model.get(AssistantCollectUserDataModel.SELECTED_CONTACT_DETAILS), nullValue());
         assertThat(model.get(AssistantCollectUserDataModel.TERMS_STATUS),
                 is(AssistantTermsAndConditionsState.NOT_SELECTED));
         assertThat(model.get(AssistantCollectUserDataModel.SELECTED_LOGIN), nullValue());
@@ -378,8 +382,8 @@
             model.set(AssistantCollectUserDataModel.WEB_CONTENTS, mTestRule.getWebContents());
             model.set(AssistantCollectUserDataModel.REQUEST_NAME, true);
             model.set(AssistantCollectUserDataModel.REQUEST_EMAIL, true);
-            model.set(AssistantCollectUserDataModel.AVAILABLE_PROFILES, Collections.emptyList());
-            model.set(AssistantCollectUserDataModel.CONTACT_DETAILS, null);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_CONTACTS, Collections.emptyList());
+            model.set(AssistantCollectUserDataModel.SELECTED_CONTACT_DETAILS, null);
             model.set(AssistantCollectUserDataModel.VISIBLE, true);
         });
 
@@ -390,12 +394,14 @@
         assertThat(viewHolder.mContactList.getItemCount(), is(0));
 
         // Add profile to the list and send the updated model.
-        PersonalDataManager.AutofillProfile profile =
-                mHelper.createDummyProfile("John Doe", "john@gmail.com");
         TestThreadUtils.runOnUiThreadBlocking(() -> {
-            model.set(AssistantCollectUserDataModel.AVAILABLE_PROFILES,
-                    Collections.singletonList(profile));
-            model.set(AssistantCollectUserDataModel.CONTACT_DETAILS, profile);
+            AutofillContact contact = AssistantCollectUserDataModel.createAutofillContact(
+                    mTestRule.getActivity(),
+                    mHelper.createDummyProfile("John Doe", "john@gmail.com"),
+                    /* requestName= */ true, /* requestPhone= */ true, /* requestEmail= */ false);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_CONTACTS,
+                    Collections.singletonList(contact));
+            model.set(AssistantCollectUserDataModel.SELECTED_CONTACT_DETAILS, contact);
         });
 
         // Contact details section should now contain and have pre-selected the new contact.
@@ -409,8 +415,8 @@
 
         // Remove profile from the list and send the updated model. Section should be empty again.
         TestThreadUtils.runOnUiThreadBlocking(() -> {
-            model.set(AssistantCollectUserDataModel.AVAILABLE_PROFILES, Collections.emptyList());
-            model.set(AssistantCollectUserDataModel.CONTACT_DETAILS, null);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_CONTACTS, Collections.emptyList());
+            model.set(AssistantCollectUserDataModel.SELECTED_CONTACT_DETAILS, null);
         });
 
         onView(allOf(withId(R.id.section_title_add_button),
@@ -443,9 +449,9 @@
             model.set(AssistantCollectUserDataModel.WEB_CONTENTS, mTestRule.getWebContents());
             model.set(AssistantCollectUserDataModel.REQUEST_PAYMENT, true);
             model.set(AssistantCollectUserDataModel.VISIBLE, true);
-            model.set(AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS,
+            model.set(AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS,
                     Collections.emptyList());
-            model.set(AssistantCollectUserDataModel.PAYMENT_METHOD, null);
+            model.set(AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT, null);
         });
 
         // Payment method section should be empty and show the 'add' button in the title.
@@ -459,13 +465,14 @@
                 mHelper.createDummyProfile("Jill Doe", "jill@gmail.com");
         String billingAddressId = mHelper.setProfile(billingAddress);
         PersonalDataManager.CreditCard creditCard = mHelper.createDummyCreditCard(billingAddressId);
-        AssistantCollectUserDataModel.PaymentTuple paymentTuple =
-                new AssistantCollectUserDataModel.PaymentTuple(creditCard, billingAddress);
 
         TestThreadUtils.runOnUiThreadBlocking(() -> {
-            model.set(AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS,
-                    Collections.singletonList(paymentTuple));
-            model.set(AssistantCollectUserDataModel.PAYMENT_METHOD, paymentTuple);
+            AutofillPaymentInstrument paymentInstrument =
+                    AssistantCollectUserDataModel.createAutofillPaymentInstrument(
+                            mTestRule.getWebContents(), creditCard, billingAddress);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS,
+                    Collections.singletonList(paymentInstrument));
+            model.set(AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT, paymentInstrument);
         });
 
         // Payment method section contains the new credit card, which should be pre-selected.
@@ -479,9 +486,9 @@
 
         // Remove credit card from the list. Section should be empty again.
         TestThreadUtils.runOnUiThreadBlocking(() -> {
-            model.set(AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS,
+            model.set(AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS,
                     Collections.emptyList());
-            model.set(AssistantCollectUserDataModel.PAYMENT_METHOD, null);
+            model.set(AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT, null);
         });
         onView(allOf(withId(R.id.section_title_add_button),
                        isDescendantOfA(is(viewHolder.mPaymentSection))))
@@ -508,17 +515,18 @@
                 mHelper.createDummyProfile("Jill Doe", "jill@gmail.com");
         String billingAddressId = mHelper.setProfile(billingAddress);
         PersonalDataManager.CreditCard creditCard = mHelper.createDummyCreditCard(billingAddressId);
-        AssistantCollectUserDataModel.PaymentTuple paymentTuple =
-                new AssistantCollectUserDataModel.PaymentTuple(creditCard, billingAddress);
 
         TestThreadUtils.runOnUiThreadBlocking(() -> {
             // WEB_CONTENTS are necessary for the creation of the editors.
             model.set(AssistantCollectUserDataModel.WEB_CONTENTS, mTestRule.getWebContents());
             model.set(AssistantCollectUserDataModel.REQUEST_PAYMENT, true);
             model.set(AssistantCollectUserDataModel.VISIBLE, true);
-            model.set(AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS,
-                    Collections.singletonList(paymentTuple));
-            model.set(AssistantCollectUserDataModel.PAYMENT_METHOD, paymentTuple);
+            AutofillPaymentInstrument paymentInstrument =
+                    AssistantCollectUserDataModel.createAutofillPaymentInstrument(
+                            mTestRule.getWebContents(), creditCard, billingAddress);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS,
+                    Collections.singletonList(paymentInstrument));
+            model.set(AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT, paymentInstrument);
         });
 
         // Payment method section contains the new credit card, which should be pre-selected.
@@ -569,8 +577,6 @@
                 new PersonalDataManager.CreditCard("", "https://example.com", true, true, "Jon Doe",
                         "4111111111111111", "1111", "12", "2050", "visa", R.drawable.visa_card,
                         CardType.UNKNOWN, /* billingAddressId= */ "GUID", /* serverId= */ "");
-        AssistantCollectUserDataModel.PaymentTuple paymentTuple =
-                new AssistantCollectUserDataModel.PaymentTuple(creditCard, profile);
 
         AssistantCollectUserDataModel model = new AssistantCollectUserDataModel();
         AssistantCollectUserDataCoordinator coordinator = createCollectUserDataCoordinator(model);
@@ -590,13 +596,23 @@
             model.set(AssistantCollectUserDataModel.REQUEST_EMAIL, true);
             model.set(AssistantCollectUserDataModel.REQUEST_PAYMENT, true);
             model.set(AssistantCollectUserDataModel.REQUEST_SHIPPING_ADDRESS, true);
-            model.set(AssistantCollectUserDataModel.AVAILABLE_PROFILES,
-                    Collections.singletonList(profile));
-            model.set(AssistantCollectUserDataModel.CONTACT_DETAILS, profile);
-            model.set(AssistantCollectUserDataModel.SHIPPING_ADDRESS, profile);
-            model.set(AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS,
-                    Collections.singletonList(paymentTuple));
-            model.set(AssistantCollectUserDataModel.PAYMENT_METHOD, paymentTuple);
+            AutofillContact contact = AssistantCollectUserDataModel.createAutofillContact(
+                    mTestRule.getActivity(), profile, /* requestName= */ true,
+                    /* requestPhone= */ true, /* requestEmail= */ true);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_CONTACTS,
+                    Collections.singletonList(contact));
+            model.set(AssistantCollectUserDataModel.SELECTED_CONTACT_DETAILS, contact);
+            AutofillAddress address = AssistantCollectUserDataModel.createAutofillAddress(
+                    mTestRule.getActivity(), profile);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_SHIPPING_ADDRESSES,
+                    Collections.singletonList(address));
+            model.set(AssistantCollectUserDataModel.SELECTED_SHIPPING_ADDRESS, address);
+            AutofillPaymentInstrument paymentInstrument =
+                    AssistantCollectUserDataModel.createAutofillPaymentInstrument(
+                            mTestRule.getWebContents(), creditCard, profile);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS,
+                    Collections.singletonList(paymentInstrument));
+            model.set(AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT, paymentInstrument);
             model.set(AssistantCollectUserDataModel.VISIBLE, true);
             model.set(AssistantCollectUserDataModel.REQUEST_LOGIN_CHOICE, true);
             model.set(AssistantCollectUserDataModel.AVAILABLE_LOGINS,
@@ -820,9 +836,6 @@
         PersonalDataManager.CreditCard creditCard = mHelper.createDummyCreditCard(profileId);
         creditCard.setYear("2019");
 
-        AssistantCollectUserDataModel.PaymentTuple expiredPaymentTuple =
-                new AssistantCollectUserDataModel.PaymentTuple(creditCard, profile);
-
         AssistantCollectUserDataModel model = new AssistantCollectUserDataModel();
         AssistantCollectUserDataCoordinator coordinator = createCollectUserDataCoordinator(model);
         AutofillAssistantCollectUserDataTestHelper
@@ -835,9 +848,13 @@
             model.set(AssistantCollectUserDataModel.REQUEST_PAYMENT, true);
             model.set(AssistantCollectUserDataModel.CREDIT_CARD_EXPIRED_TEXT, "Card is expired");
             model.set(AssistantCollectUserDataModel.VISIBLE, true);
-            model.set(AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS,
-                    Collections.singletonList(expiredPaymentTuple));
-            model.set(AssistantCollectUserDataModel.PAYMENT_METHOD, expiredPaymentTuple);
+            AutofillPaymentInstrument expiredPaymentInstrument =
+                    AssistantCollectUserDataModel.createAutofillPaymentInstrument(
+                            mTestRule.getWebContents(), creditCard, profile);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS,
+                    Collections.singletonList(expiredPaymentInstrument));
+            model.set(AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT,
+                    expiredPaymentInstrument);
         });
 
         // check that the card is not accepted (i.e. an error message is shown).
@@ -846,12 +863,15 @@
                 .check(matches(withText("Card is expired")));
 
         creditCard.setYear("2050");
-        AssistantCollectUserDataModel.PaymentTuple validPaymentTuple =
-                new AssistantCollectUserDataModel.PaymentTuple(creditCard, profile);
+
         TestThreadUtils.runOnUiThreadBlocking(() -> {
-            model.set(AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS,
-                    Collections.singletonList(validPaymentTuple));
-            model.set(AssistantCollectUserDataModel.PAYMENT_METHOD, validPaymentTuple);
+            AutofillPaymentInstrument validPaymentInstrument =
+                    AssistantCollectUserDataModel.createAutofillPaymentInstrument(
+                            mTestRule.getWebContents(), creditCard, profile);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS,
+                    Collections.singletonList(validPaymentInstrument));
+            model.set(AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT,
+                    validPaymentInstrument);
         });
 
         // check that the card is now accepted.
@@ -890,8 +910,6 @@
         AutofillAssistantCollectUserDataTestHelper
                 .ViewHolder viewHolder = TestThreadUtils.runOnUiThreadBlocking(
                 () -> new AutofillAssistantCollectUserDataTestHelper.ViewHolder(coordinator));
-        AssistantCollectUserDataModel.PaymentTuple paymentTuple =
-                new AssistantCollectUserDataModel.PaymentTuple(creditCard, profile);
 
         TestThreadUtils.runOnUiThreadBlocking(() -> {
             // WEB_CONTENTS are necessary for the creation of AutofillPaymentInstrument.
@@ -902,9 +920,12 @@
             model.set(AssistantCollectUserDataModel.BILLING_POSTAL_CODE_MISSING_TEXT,
                     "Billing postcode missing");
             model.set(AssistantCollectUserDataModel.REQUEST_PAYMENT, true);
-            model.set(AssistantCollectUserDataModel.AVAILABLE_AUTOFILL_PAYMENT_METHODS,
-                    Collections.singletonList(paymentTuple));
-            model.set(AssistantCollectUserDataModel.PAYMENT_METHOD, paymentTuple);
+            AutofillPaymentInstrument paymentInstrument =
+                    AssistantCollectUserDataModel.createAutofillPaymentInstrument(
+                            mTestRule.getWebContents(), creditCard, profile);
+            model.set(AssistantCollectUserDataModel.AVAILABLE_PAYMENT_INSTRUMENTS,
+                    Collections.singletonList(paymentInstrument));
+            model.set(AssistantCollectUserDataModel.SELECTED_PAYMENT_INSTRUMENT, paymentInstrument);
             model.set(AssistantCollectUserDataModel.VISIBLE, true);
         });
 
diff --git a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantDirectActionHandlerTest.java b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantDirectActionHandlerTest.java
index 9744878..5c7980f4 100644
--- a/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantDirectActionHandlerTest.java
+++ b/chrome/android/features/autofill_assistant/javatests/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantDirectActionHandlerTest.java
@@ -26,7 +26,6 @@
 import org.junit.runner.RunWith;
 
 import org.chromium.base.Callback;
-import org.chromium.base.ContextUtils;
 import org.chromium.base.test.util.CallbackHelper;
 import org.chromium.base.test.util.CommandLineFlags;
 import org.chromium.base.test.util.DisableIf;
@@ -37,6 +36,8 @@
 import org.chromium.chrome.browser.directactions.DirectActionReporter;
 import org.chromium.chrome.browser.directactions.DirectActionReporter.Type;
 import org.chromium.chrome.browser.directactions.FakeDirectActionReporter;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.widget.bottomsheet.BottomSheetController;
 import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
@@ -54,6 +55,8 @@
     private BottomSheetController mBottomSheetController;
     private DirectActionHandler mHandler;
     private TestingAutofillAssistantModuleEntryProvider mModuleEntryProvider;
+    private final SharedPreferencesManager mSharedPreferencesManager =
+            SharedPreferencesManager.getInstance();
 
     @Before
     public void setUp() throws Exception {
@@ -69,11 +72,10 @@
                 mActivity.getScrim(), mActivity.getTabModelSelector()::getCurrentTab,
                 mModuleEntryProvider);
 
-        ContextUtils.getAppSharedPreferences()
-                .edit()
-                .remove(AutofillAssistantPreferencesUtil.AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED)
-                .remove(AutofillAssistantPreferencesUtil.AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN)
-                .apply();
+        mSharedPreferencesManager.removeKey(
+                ChromePreferenceKeys.AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED);
+        mSharedPreferencesManager.removeKey(
+                ChromePreferenceKeys.AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN);
     }
 
     @Test
diff --git a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java
index dbfd567..d29c6bb1 100644
--- a/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java
+++ b/chrome/android/features/autofill_assistant/public/java/src/org/chromium/chrome/browser/autofill_assistant/AutofillAssistantPreferencesUtil.java
@@ -4,41 +4,29 @@
 
 package org.chromium.chrome.browser.autofill_assistant;
 
-import androidx.annotation.VisibleForTesting;
-
-import org.chromium.base.ContextUtils;
 import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 
 /** Autofill Assistant related preferences util class. */
-@SuppressWarnings("UseSharedPreferencesManagerFromChromeCheck")
 class AutofillAssistantPreferencesUtil {
     // Avoid instatiation by accident.
     private AutofillAssistantPreferencesUtil() {}
 
-    /** Peference keeping track of whether the onboarding has been accepted. */
-    @VisibleForTesting
-    static final String AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED =
-            "AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED";
-
-    /** LEGACY preference for when the `do not show again' checkbox still existed. */
-    @VisibleForTesting
-    static final String AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN = "AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN";
-
     /** Checks whether the Autofill Assistant switch preference in settings is on. */
     static boolean isAutofillAssistantSwitchOn() {
-        return ContextUtils.getAppSharedPreferences().getBoolean(
+        return SharedPreferencesManager.getInstance().readBoolean(
                 ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, true);
     }
 
     /** Checks whether the Autofill Assistant onboarding has been accepted. */
     static boolean isAutofillOnboardingAccepted() {
-        return ContextUtils.getAppSharedPreferences().getBoolean(
-                       AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED, false)
+        return SharedPreferencesManager.getInstance().readBoolean(
+                       ChromePreferenceKeys.AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED, false)
                 ||
                 /* Legacy treatment: users of earlier versions should not have to see the onboarding
                 again if they checked the `do not show again' checkbox*/
-                ContextUtils.getAppSharedPreferences().getBoolean(
-                        AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN, false);
+                SharedPreferencesManager.getInstance().readBoolean(
+                        ChromePreferenceKeys.AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN, false);
     }
 
     /** Checks whether the Autofill Assistant onboarding screen should be shown. */
@@ -52,13 +40,9 @@
      * @param accept Flag indicating whether the ToS have been accepted.
      */
     static void setInitialPreferences(boolean accept) {
-        ContextUtils.getAppSharedPreferences()
-                .edit()
-                .putBoolean(ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, accept)
-                .apply();
-        ContextUtils.getAppSharedPreferences()
-                .edit()
-                .putBoolean(AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED, accept)
-                .apply();
+        SharedPreferencesManager.getInstance().writeBoolean(
+                ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, accept);
+        SharedPreferencesManager.getInstance().writeBoolean(
+                ChromePreferenceKeys.AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED, accept);
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
index 126456d..6363dad 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java
@@ -16,6 +16,7 @@
 import org.chromium.base.ApplicationStatus;
 import org.chromium.base.BuildConfig;
 import org.chromium.base.BuildInfo;
+import org.chromium.base.BundleUtils;
 import org.chromium.base.CommandLineInitUtil;
 import org.chromium.base.ContextUtils;
 import org.chromium.base.JNIUtils;
@@ -81,6 +82,7 @@
         super.attachBaseContext(context);
         ContextUtils.initApplicationContext(this);
         maybeInitProcessType(isBrowserProcess);
+        BundleUtils.setIsBundle(ProductConfig.IS_BUNDLE);
         if (isBrowserProcess) {
             if (BuildConfig.IS_MULTIDEX_ENABLED) {
                 ChromiumMultiDexInstaller.install(this);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/identity/UuidBasedUniqueIdentificationGenerator.java b/chrome/android/java/src/org/chromium/chrome/browser/identity/UuidBasedUniqueIdentificationGenerator.java
index 42c24be..f0039d8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/identity/UuidBasedUniqueIdentificationGenerator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/identity/UuidBasedUniqueIdentificationGenerator.java
@@ -5,12 +5,11 @@
 package org.chromium.chrome.browser.identity;
 
 import android.content.Context;
-import android.content.SharedPreferences;
 
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
-import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 
 import java.util.UUID;
 
@@ -29,8 +28,8 @@
 
     @Override
     public String getUniqueId(@Nullable String salt) {
-        SharedPreferences preferences = ContextUtils.getAppSharedPreferences();
-        String storedUniqueId = preferences.getString(mPreferenceKey, null);
+        SharedPreferencesManager preferences = SharedPreferencesManager.getInstance();
+        String storedUniqueId = preferences.readString(mPreferenceKey, null);
         if (storedUniqueId != null) {
             return storedUniqueId;
         }
@@ -39,9 +38,7 @@
         String uniqueId = getUUID();
 
         // Store the field so we ensure we always return the same unique ID.
-        SharedPreferences.Editor editor = preferences.edit();
-        editor.putString(mPreferenceKey, uniqueId);
-        editor.apply();
+        preferences.writeString(mPreferenceKey, uniqueId);
         return uniqueId;
 
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
index 1c9f743..7065bda 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -6,7 +6,6 @@
 
 import android.annotation.TargetApi;
 import android.content.Context;
-import android.content.SharedPreferences;
 import android.os.Build;
 import android.os.SystemClock;
 import android.text.format.DateUtils;
@@ -69,6 +68,8 @@
 import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
 import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
 import org.chromium.chrome.browser.photo_picker.PhotoPickerDialog;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
 import org.chromium.chrome.browser.rlz.RevenueStats;
 import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
@@ -109,12 +110,10 @@
 public class ProcessInitializationHandler {
     private static final String TAG = "ProcessInitHandler";
 
-    private static final String SESSIONS_UUID_PREF_KEY = "chromium.sync.sessions.id";
     private static final String DEV_TOOLS_SERVER_SOCKET_PREFIX = "chrome";
 
     /** Prevents race conditions when deleting snapshot database. */
     private static final Object SNAPSHOT_DATABASE_LOCK = new Object();
-    private static final String SNAPSHOT_DATABASE_REMOVED = "snapshot_database_removed";
     private static final String SNAPSHOT_DATABASE_NAME = "snapshots.db";
 
     private static ProcessInitializationHandler sInstance;
@@ -183,7 +182,8 @@
         // in the SyncController constructor.
         UniqueIdentificationGeneratorFactory.registerGenerator(SyncController.GENERATOR_ID,
                 new UuidBasedUniqueIdentificationGenerator(
-                        application, SESSIONS_UUID_PREF_KEY), false);
+                        application, ChromePreferenceKeys.SYNC_SESSIONS_UUID),
+                false);
 
         // Set up the DownloadCollectionBridge early as display names may be immediately retrieved
         // after native is loaded.
@@ -640,10 +640,10 @@
     @WorkerThread
     private void removeSnapshotDatabase() {
         synchronized (SNAPSHOT_DATABASE_LOCK) {
-            SharedPreferences prefs = ContextUtils.getAppSharedPreferences();
-            if (!prefs.getBoolean(SNAPSHOT_DATABASE_REMOVED, false)) {
+            SharedPreferencesManager prefs = SharedPreferencesManager.getInstance();
+            if (!prefs.readBoolean(ChromePreferenceKeys.SNAPSHOT_DATABASE_REMOVED, false)) {
                 ContextUtils.getApplicationContext().deleteDatabase(SNAPSHOT_DATABASE_NAME);
-                prefs.edit().putBoolean(SNAPSHOT_DATABASE_REMOVED, true).apply();
+                prefs.writeBoolean(ChromePreferenceKeys.SNAPSHOT_DATABASE_REMOVED, true);
             }
         }
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/UniqueIdInvalidationClientNameGenerator.java b/chrome/android/java/src/org/chromium/chrome/browser/invalidation/UniqueIdInvalidationClientNameGenerator.java
index da70ba7..6cc5dbc 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/UniqueIdInvalidationClientNameGenerator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/invalidation/UniqueIdInvalidationClientNameGenerator.java
@@ -9,6 +9,7 @@
 import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.chrome.browser.identity.UniqueIdentificationGenerator;
 import org.chromium.chrome.browser.identity.UuidBasedUniqueIdentificationGenerator;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
 import org.chromium.components.sync.notifier.InvalidationClientNameGenerator;
 import org.chromium.components.sync.notifier.InvalidationClientNameProvider;
 
@@ -19,17 +20,14 @@
  * are unique and consistent across restarts.
  */
 public class UniqueIdInvalidationClientNameGenerator implements InvalidationClientNameGenerator {
-    // Pref key to use for UUID-based generator.
-    private static final String INVALIDATIONS_UUID_PREF_KEY = "chromium.invalidations.uuid";
-
     /**
      * Called during early init to make this InvalidationClientNameGenerator the default.
      *
-     * This should be called very early during initialization to setup the invalidaiton client name.
+     * This should be called very early during initialization to setup the invalidation client name.
      */
     public static void doInitializeAndInstallGenerator(Context context) {
-        UniqueIdentificationGenerator idGenerator =
-                new UuidBasedUniqueIdentificationGenerator(context, INVALIDATIONS_UUID_PREF_KEY);
+        UniqueIdentificationGenerator idGenerator = new UuidBasedUniqueIdentificationGenerator(
+                context, ChromePreferenceKeys.INVALIDATIONS_UUID_PREF_KEY);
         InvalidationClientNameGenerator clientNameGenerator =
                 new UniqueIdInvalidationClientNameGenerator(idGenerator);
         InvalidationClientNameProvider.get().setPreferredClientNameGenerator(clientNameGenerator);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java
index 1fc74ae..c117e7c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java
@@ -10,7 +10,6 @@
 import android.content.ContentUris;
 import android.content.ContentValues;
 import android.content.Context;
-import android.content.SharedPreferences;
 import android.content.UriMatcher;
 import android.content.pm.PackageManager;
 import android.database.Cursor;
@@ -29,7 +28,6 @@
 import androidx.annotation.IntDef;
 import androidx.annotation.VisibleForTesting;
 
-import org.chromium.base.ContextUtils;
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.NativeMethods;
@@ -40,6 +38,8 @@
 import org.chromium.chrome.browser.database.SQLiteCursor;
 import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
 import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.util.UrlConstants;
 import org.chromium.content_public.browser.BrowserStartupController;
 import org.chromium.content_public.browser.UiThreadTaskTraits;
@@ -140,8 +140,6 @@
     // ID used to indicate an invalid id for bookmark nodes.
     private static final long INVALID_BOOKMARK_ID = -1;
 
-    private static final String LAST_MODIFIED_BOOKMARK_FOLDER_ID_KEY = "last_bookmark_folder_id";
-
     private static final int URI_MATCH_BOOKMARKS = 0;
     private static final int URI_MATCH_BOOKMARKS_ID = 1;
     private static final int URL_MATCH_API_BOOKMARK = 2;
@@ -274,10 +272,8 @@
      */
     private long getLastModifiedBookmarkFolderId() {
         if (mLastModifiedBookmarkFolderId == INVALID_BOOKMARK_ID) {
-            SharedPreferences sharedPreferences =
-                    ContextUtils.getAppSharedPreferences();
-            mLastModifiedBookmarkFolderId = sharedPreferences.getLong(
-                    LAST_MODIFIED_BOOKMARK_FOLDER_ID_KEY, INVALID_BOOKMARK_ID);
+            mLastModifiedBookmarkFolderId = SharedPreferencesManager.getInstance().readLong(
+                    ChromePreferenceKeys.BOOKMARKS_LAST_MODIFIED_FOLDER_ID, INVALID_BOOKMARK_ID);
         }
         return mLastModifiedBookmarkFolderId;
     }
@@ -605,11 +601,9 @@
         if (getLastModifiedBookmarkFolderId() == id) return;
 
         mLastModifiedBookmarkFolderId = id;
-        SharedPreferences sharedPreferences =
-                ContextUtils.getAppSharedPreferences();
-        sharedPreferences.edit()
-                .putLong(LAST_MODIFIED_BOOKMARK_FOLDER_ID_KEY, mLastModifiedBookmarkFolderId)
-                .apply();
+        SharedPreferencesManager.getInstance().writeLong(
+                ChromePreferenceKeys.BOOKMARKS_LAST_MODIFIED_FOLDER_ID,
+                mLastModifiedBookmarkFolderId);
     }
 
     @VisibleForTesting
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/AccountManagementFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/AccountManagementFragment.java
index 5ed0bce..2b04e86e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/AccountManagementFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/sync/AccountManagementFragment.java
@@ -72,6 +72,7 @@
      * The key for an integer value in arguments bundle to
      * specify the correct GAIA service that has triggered the dialog.
      * If the argument is not set, GAIA_SERVICE_TYPE_NONE is used as the origin of the dialog.
+     * TODO(https://crbug.com/1038924): Set the TAG variables of this class to private
      */
     public static final String SHOW_GAIA_SERVICE_TYPE_EXTRA = "ShowGAIAServiceType";
 
@@ -212,11 +213,8 @@
                     SigninUtils.logEvent(
                             ProfileAccountManagementMetrics.TOGGLE_SIGNOUT, mGaiaServiceType);
 
-                    SignOutDialogFragment signOutFragment = new SignOutDialogFragment();
-                    Bundle args = new Bundle();
-                    args.putInt(SHOW_GAIA_SERVICE_TYPE_EXTRA, mGaiaServiceType);
-                    signOutFragment.setArguments(args);
-
+                    SignOutDialogFragment signOutFragment =
+                            SignOutDialogFragment.create(mGaiaServiceType);
                     signOutFragment.setTargetFragment(AccountManagementFragment.this, 0);
                     signOutFragment.show(getFragmentManager(), SIGN_OUT_DIALOG_TAG);
 
@@ -398,6 +396,7 @@
 
     @Override
     public void onSignOutDialogDismissed(boolean signOutClicked) {
+        // TODO(https://crbug.com/1038924): Signout is recorded twice when cancelled
         if (!signOutClicked) {
             SigninUtils.logEvent(ProfileAccountManagementMetrics.SIGNOUT_CANCEL, mGaiaServiceType);
         }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SignOutDialogFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SignOutDialogFragment.java
index 7a1835e..8aafc32 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SignOutDialogFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SignOutDialogFragment.java
@@ -28,7 +28,7 @@
     /**
      * The extra key used to specify the GAIA service that triggered this dialog.
      */
-    public static final String SHOW_GAIA_SERVICE_TYPE_EXTRA = "ShowGAIAServiceType";
+    private static final String SHOW_GAIA_SERVICE_TYPE_EXTRA = "ShowGAIAServiceType";
 
     /**
      * Receives updates when the user clicks "Sign out" or dismisses the dialog.
@@ -58,6 +58,14 @@
      */
     private @GAIAServiceType int mGaiaServiceType = GAIAServiceType.GAIA_SERVICE_TYPE_NONE;
 
+    public static SignOutDialogFragment create(@GAIAServiceType int gaiaServiceType) {
+        SignOutDialogFragment signOutFragment = new SignOutDialogFragment();
+        Bundle args = new Bundle();
+        args.putInt(SHOW_GAIA_SERVICE_TYPE_EXTRA, gaiaServiceType);
+        signOutFragment.setArguments(args);
+        return signOutFragment;
+    }
+
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         if (getArguments() != null) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/TrustedVaultClient.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/TrustedVaultClient.java
index 841b12f..a56990a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/TrustedVaultClient.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/TrustedVaultClient.java
@@ -105,9 +105,6 @@
      * Displays a UI that allows the user to reauthenticate and retrieve the sync encryption keys.
      */
     public void displayKeyRetrievalDialog(Context context) {
-        // TODO(crbug.com/1012659): Before starting the intent, one last attempt
-        // should be made to read the currently-available keys.
-
         Intent intent = createKeyRetrievalIntent();
         if (intent == null) return;
 
@@ -129,6 +126,16 @@
     }
 
     /**
+     * Notifies all registered native clients (in practice, exactly one) that keys in the backend
+     * may have changed, which usually leads to refetching the keys from the backend.
+     */
+    public void notifyKeysChanged() {
+        for (long nativeTrustedVaultClientAndroid : mNativeTrustedVaultClientAndroidSet) {
+            TrustedVaultClientJni.get().notifyKeysChanged(nativeTrustedVaultClientAndroid);
+        }
+    }
+
+    /**
      * Registers a C++ client, which is a prerequisite before interacting with Java.
      */
     @CalledByNative
@@ -207,5 +214,6 @@
     interface Natives {
         void fetchKeysCompleted(long nativeTrustedVaultClientAndroid, String gaiaId, byte[][] keys);
         void markKeysAsStaleCompleted(long nativeTrustedVaultClientAndroid, boolean result);
+        void notifyKeysChanged(long nativeTrustedVaultClientAndroid);
     }
 }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/identity/UuidBasedUniqueIdentificationGeneratorTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/identity/UuidBasedUniqueIdentificationGeneratorTest.java
index 13a7368..cacaee6 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/identity/UuidBasedUniqueIdentificationGeneratorTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/identity/UuidBasedUniqueIdentificationGeneratorTest.java
@@ -14,6 +14,7 @@
 
 import org.chromium.base.test.util.AdvancedMockContext;
 import org.chromium.base.test.util.Feature;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 
 @RunWith(ChromeJUnit4ClassRunner.class)
@@ -25,6 +26,7 @@
     @Before
     public void setUp() {
         mContext = new AdvancedMockContext(InstrumentationRegistry.getTargetContext());
+        SharedPreferencesManager.getInstance().disableKeyCheckerForTesting();
     }
 
     @Test
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/signin/SignOutDialogFragmentTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/signin/SignOutDialogFragmentTest.java
new file mode 100644
index 0000000..fd8fc26
--- /dev/null
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/signin/SignOutDialogFragmentTest.java
@@ -0,0 +1,169 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.signin;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.mockito.MockitoAnnotations.initMocks;
+
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentActivity;
+import android.support.v4.app.FragmentManager;
+import android.support.v7.app.AlertDialog;
+import android.widget.TextView;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.robolectric.Robolectric;
+import org.robolectric.shadows.ShadowAlertDialog;
+
+import org.chromium.base.test.BaseRobolectricTestRunner;
+import org.chromium.base.test.DisableNativeTestRule;
+import org.chromium.base.test.util.JniMocker;
+import org.chromium.chrome.R;
+import org.chromium.chrome.browser.profiles.ProfileAccountManagementMetrics;
+import org.chromium.components.signin.GAIAServiceType;
+
+/** Tests for {@link SignOutDialogFragment}. */
+@RunWith(BaseRobolectricTestRunner.class)
+public class SignOutDialogFragmentTest {
+    private static final String TEST_DOMAIN = "test.domain.example.com";
+
+    private class DummySignOutTargetFragment
+            extends Fragment implements SignOutDialogFragment.SignOutDialogListener {
+        @Override
+        public void onSignOutClicked(boolean forceWipeUserData) {}
+
+        @Override
+        public void onSignOutDialogDismissed(boolean signOutClicked) {}
+    }
+
+    @Rule
+    public final DisableNativeTestRule mDisableNative = new DisableNativeTestRule();
+
+    @Rule
+    public final JniMocker mocker = new JniMocker();
+
+    @Mock
+    private SigninUtils.Natives mSigninUtilsNativeMock;
+
+    @Mock
+    private SigninManager mSigninManagerMock;
+
+    @Spy
+    private final DummySignOutTargetFragment mTargetFragment = new DummySignOutTargetFragment();
+
+    private SignOutDialogFragment mSignOutDialog;
+
+    private FragmentManager mFragmentManager;
+
+    @Before
+    public void setUp() {
+        initMocks(this);
+        mocker.mock(SigninUtilsJni.TEST_HOOKS, mSigninUtilsNativeMock);
+        IdentityServicesProvider.setInstanceForTests(mock(IdentityServicesProvider.class));
+        when(IdentityServicesProvider.get().getSigninManager()).thenReturn(mSigninManagerMock);
+        setUpSignOutDialog();
+    }
+
+    private void setUpSignOutDialog() {
+        mFragmentManager =
+                Robolectric.setupActivity(FragmentActivity.class).getSupportFragmentManager();
+        mFragmentManager.beginTransaction().add(mTargetFragment, null).commit();
+        mSignOutDialog = SignOutDialogFragment.create(GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
+        mSignOutDialog.setTargetFragment(mTargetFragment, 0);
+    }
+
+    @Test
+    public void testMessageWhenAccountIsManaged() {
+        when(mSigninManagerMock.getManagementDomain()).thenReturn(TEST_DOMAIN);
+        AlertDialog alertDialog = getSignOutAlertDialogAfterShowingIt();
+        TextView messageTextView = alertDialog.findViewById(android.R.id.message);
+        assertEquals(
+                mSignOutDialog.getString(R.string.signout_managed_account_message, TEST_DOMAIN),
+                messageTextView.getText());
+    }
+
+    @Test
+    public void testPositiveButtonWhenAccountIsManaged() {
+        when(mSigninManagerMock.getManagementDomain()).thenReturn(TEST_DOMAIN);
+        AlertDialog alertDialog = getSignOutAlertDialogAfterShowingIt();
+        alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();
+        verify(mSigninUtilsNativeMock)
+                .logEvent(ProfileAccountManagementMetrics.SIGNOUT_SIGNOUT,
+                        GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
+        verify(mTargetFragment).onSignOutClicked(false);
+    }
+
+    @Test
+    public void testPositiveButtonWhenAccountIsNotManagedAndRemoveLocalDataNotChecked() {
+        AlertDialog alertDialog = getSignOutAlertDialogAfterShowingIt();
+        alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();
+        verify(mSigninUtilsNativeMock)
+                .logEvent(ProfileAccountManagementMetrics.SIGNOUT_SIGNOUT,
+                        GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
+        verify(mTargetFragment).onSignOutClicked(false);
+    }
+
+    @Test
+    public void testPositiveButtonWhenAccountIsNotManagedAndRemoveLocalDataChecked() {
+        AlertDialog alertDialog = getSignOutAlertDialogAfterShowingIt();
+        alertDialog.findViewById(R.id.remove_local_data).performClick();
+        alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();
+        verify(mSigninUtilsNativeMock)
+                .logEvent(ProfileAccountManagementMetrics.SIGNOUT_SIGNOUT,
+                        GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
+        verify(mTargetFragment).onSignOutClicked(true);
+    }
+
+    @Test
+    public void testNegativeButtonHasNoEffectWhenAccountIsManaged() {
+        when(mSigninManagerMock.getManagementDomain()).thenReturn(TEST_DOMAIN);
+        AlertDialog alertDialog = getSignOutAlertDialogAfterShowingIt();
+        alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).performClick();
+        verify(mTargetFragment, never()).onSignOutClicked(anyBoolean());
+    }
+
+    @Test
+    public void testNegativeButtonHasNoEffectWhenAccountIsNotManaged() {
+        AlertDialog alertDialog = getSignOutAlertDialogAfterShowingIt();
+        alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE).performClick();
+        verify(mTargetFragment, never()).onSignOutClicked(anyBoolean());
+    }
+
+    @Test
+    public void testDismissWhenPositiveButtonIsNotClicked() {
+        AlertDialog alertDialog = getSignOutAlertDialogAfterShowingIt();
+        alertDialog.dismiss();
+        verify(mSigninUtilsNativeMock)
+                .logEvent(ProfileAccountManagementMetrics.SIGNOUT_CANCEL,
+                        GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
+        verify(mTargetFragment).onSignOutDialogDismissed(false);
+    }
+
+    @Test
+    public void testDismissWhenPositiveButtonIsClicked() {
+        AlertDialog alertDialog = getSignOutAlertDialogAfterShowingIt();
+        alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();
+        alertDialog.dismiss();
+        verify(mSigninUtilsNativeMock)
+                .logEvent(ProfileAccountManagementMetrics.SIGNOUT_CANCEL,
+                        GAIAServiceType.GAIA_SERVICE_TYPE_NONE);
+        verify(mTargetFragment).onSignOutDialogDismissed(true);
+    }
+
+    private AlertDialog getSignOutAlertDialogAfterShowingIt() {
+        mSignOutDialog.show(mFragmentManager, null);
+        return (AlertDialog) ShadowAlertDialog.getLatestDialog();
+    }
+}
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java b/chrome/android/native_java_unittests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java
similarity index 94%
rename from chrome/android/junit/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java
rename to chrome/android/native_java_unittests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java
index 4fab7f3..e17317f 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java
+++ b/chrome/android/native_java_unittests/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridgeUnitTest.java
@@ -10,11 +10,8 @@
 
 import android.app.Notification;
 
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.annotation.Config;
-
-import org.chromium.base.test.BaseRobolectricTestRunner;
+import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.annotations.CalledByNativeJavaTest;
 import org.chromium.base.test.util.Feature;
 import org.chromium.chrome.browser.notifications.channels.ChannelDefinitions;
 import org.chromium.chrome.browser.notifications.channels.SiteChannelsManager;
@@ -24,17 +21,18 @@
 /**
  * Unit tests for NotificationPlatformBridge.
  */
-@RunWith(BaseRobolectricTestRunner.class)
-@Config(manifest = Config.NONE)
 public class NotificationPlatformBridgeUnitTest {
+    @CalledByNative
+    private NotificationPlatformBridgeUnitTest() {}
+
     /**
      * Verifies that the getOriginFromTag method returns the origin for valid input, and null for
      * invalid input.
      *
      * This is defined in functions in notification_id_generator.cc.
      */
-    @Test
     @Feature({"Browser", "Notifications"})
+    @CalledByNativeJavaTest
     public void testGetOriginFromNotificationTag() {
         // The common case.
         assertEquals("https://example.com",
@@ -62,8 +60,8 @@
      * Verifies that the getOriginFromChannelId method returns the origin for a site channel,
      * and null for any other channel or a null channel id.
      */
-    @Test
     @Feature({"Browser", "Notifications"})
+    @CalledByNativeJavaTest
     public void testGetOriginFromChannelId() {
         // Returns the expected origin for a channel id associated with a particular origin.
         assertEquals("https://example.com",
@@ -83,8 +81,8 @@
     /**
      * Verifies that the makeDefaults method returns the generated notification defaults.
      */
-    @Test
     @Feature({"Browser", "Notifications"})
+    @CalledByNativeJavaTest
     public void testMakeDefaults() {
         // 0 should be returned if pattern length is 0, silent is true, and vibration is enabled.
         assertEquals(0, NotificationPlatformBridge.makeDefaults(0, true, true));
@@ -109,8 +107,8 @@
      * Verifies that the makeVibrationPattern method returns vibration pattern used
      * in Android notification.
      */
-    @Test
     @Feature({"Browser", "Notifications"})
+    @CalledByNativeJavaTest
     public void testMakeVibrationPattern() {
         assertTrue(Arrays.equals(new long[] {0, 100, 200, 300},
                 NotificationPlatformBridge.makeVibrationPattern(new int[] {100, 200, 300})));
diff --git a/chrome/app/BUILD.gn b/chrome/app/BUILD.gn
index 8dc7f15..f87bc1d 100644
--- a/chrome/app/BUILD.gn
+++ b/chrome/app/BUILD.gn
@@ -135,7 +135,7 @@
     "//chrome/utility",
     "//components/gwp_asan/buildflags",
     "//components/nacl/common:buildflags",
-    "//components/startup_metric_utils/browser:lib",
+    "//components/startup_metric_utils/browser",
     "//content/public/app:both",
     "//content/public/common",
     "//content/public/common:service_names",
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp
index ca6f766..c8af1cb 100644
--- a/chrome/app/chromeos_strings.grdp
+++ b/chrome/app/chromeos_strings.grdp
@@ -907,8 +907,8 @@
   <message name="IDS_APP_START_WAIT_FOR_APP_WINDOW_MESSAGE" desc="Message displayed while waiting for the application to create its window in kiosk mode.">
     Waiting for application window...
   </message>
-  <message name="IDS_APP_START_WAIT_FOR_APP_WINDOW_INSTALL_FAILED_MESSAGE" desc="Message displayed when kiosk app installation fails, but we still try to run the app.">
-    Failed to obtain app data, still trying to run the app...
+  <message name="IDS_APP_START_WAIT_FOR_APP_WINDOW_INSTALL_FAILED_MESSAGE" desc="Message displayed when kiosk app meta-data obtention fails, but we try to run the app anyway without it.">
+    Failed to obtain app data, trying to run the app anyway...
   </message>
 
 
diff --git a/chrome/app/generated_resources_grd/IDS_SYNC_ERROR_USER_MENU_RETRIEVE_KEYS_BUTTON.png.sha1 b/chrome/app/generated_resources_grd/IDS_SYNC_ERROR_USER_MENU_RETRIEVE_KEYS_BUTTON.png.sha1
new file mode 100644
index 0000000..63f5582
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_SYNC_ERROR_USER_MENU_RETRIEVE_KEYS_BUTTON.png.sha1
@@ -0,0 +1 @@
+0a129f2b186ca99e1df0f56197f6846290692368
\ No newline at end of file
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
index 499473f..ef7867c 100644
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -4445,6 +4445,27 @@
   <message name="IDS_SETTINGS_PERSONALIZE_GOOGLE_SERVICES_TITLE" desc="Title of the personalize Google services section. When clicked, takes the user to the Google Activity Controls.">
     Control how your browsing history is used to personalize Search, ads, and more
   </message>
+  <message name="IDS_SETTINGS_USE_HISTORY_TO_PERSONALIZE_GOOGLE_SERVICES_TITLE" desc="Title of the use your history to personalize Google services section. When clicked, takes the user to the Google Activity Controls." translateable="false">
+    Use your History to personalize Search and other Google services
+  </message>
+  <message name="IDS_SETTINGS_SWAA_ON" desc="The sWAA state that shows in the use history to personalize google services row" translateable="false">
+    On
+  </message>
+  <message name="IDS_SETTINGS_SWAA_OFF" desc="The sWAA state that shows in the use history to personalize google services row" translateable="false">
+    Off
+  </message>
+  <message name="IDS_SETTINGS_SWAA_ON_HINT" desc="Hint that shows when sWAA is On in the use history to personalize google services row" translateable="false">
+    For example, get suggestions in YouTube based on Chrome browsing
+  </message>
+  <message name="IDS_SETTINGS_DATA_ENCRYPTED_HINT" desc="Hint that shows when sWAA is off in the use history to personalize google services row because data is encrypted with custom passphrase" translateable="false">
+    Your synced data was encrypted
+  </message>
+   <message name="IDS_SETTINGS_HISTORY_SYNC_OFF_HINT" desc="Hint that shows when sWAA is off in the use history to personalize google services row because history sync is off" translateable="false">
+    Turned off because you disabled syncing history
+  </message>
+   <message name="IDS_SETTINGS_SWAA_OFF_HINT" desc="Hint that shows when sWAA is off in the use history to personalize google services row because history recording is disabled in Web and App Activity" translateable="false">
+    History recording is turned off in Activity controls.
+   </message>
 
   <if expr="not chromeos">
     <!-- Import Settings Dialog -->
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 8bb1c2a..b524820 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2093,8 +2093,7 @@
     "//components/signin/public/webdata",
     "//components/spellcheck:buildflags",
     "//components/ssl_errors",
-    "//components/startup_metric_utils/browser:host",
-    "//components/startup_metric_utils/browser:lib",
+    "//components/startup_metric_utils/browser",
     "//components/storage_monitor",
     "//components/strings",
     "//components/subresource_filter/content/browser",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 1f7381d..50448e9 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1701,6 +1701,9 @@
     {"enable-webassembly-threads", flag_descriptions::kEnableWasmThreadsName,
      flag_descriptions::kEnableWasmThreadsDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kWebAssemblyThreads)},
+    {"enable-webassembly-tiering", flag_descriptions::kEnableWasmTieringName,
+     flag_descriptions::kEnableWasmTieringDescription, kOsAll,
+     FEATURE_VALUE_TYPE(features::kWebAssemblyTiering)},
     {"shared-array-buffer", flag_descriptions::kEnableSharedArrayBufferName,
      flag_descriptions::kEnableSharedArrayBufferDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kSharedArrayBuffer)},
@@ -4834,6 +4837,13 @@
      FEATURE_VALUE_TYPE(chrome::android::kProfileCard)},
 #endif  // defined(OS_ANDROID)
 
+#if !defined(OS_ANDROID)
+    {"sync-setup-friendly-settings",
+     flag_descriptions::kSyncSetupFriendlySettingsName,
+     flag_descriptions::kSyncSetupFriendlySettingsDescription, kOsDesktop,
+     FEATURE_VALUE_TYPE(features::kSyncSetupFriendlySettings)},
+#endif  // !defined(OS_ANDROID)
+
     // NOTE: Adding a new flag requires adding a corresponding entry to enum
     // "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
     // Histograms" in tools/metrics/histograms/README.md (run the
diff --git a/chrome/browser/android/autofill_assistant/ui_controller_android.cc b/chrome/browser/android/autofill_assistant/ui_controller_android.cc
index 3927e6f8..a7266ca3 100644
--- a/chrome/browser/android/autofill_assistant/ui_controller_android.cc
+++ b/chrome/browser/android/autofill_assistant/ui_controller_android.cc
@@ -1031,6 +1031,9 @@
     return;
   }
 
+  auto jcontext =
+      Java_AutofillAssistantUiController_getContext(env, java_object_);
+
   if (field_change == UserData::FieldChange::ALL ||
       field_change == UserData::FieldChange::TERMS_AND_CONDITIONS) {
     Java_AssistantCollectUserDataModel_setTermsStatus(
@@ -1039,65 +1042,119 @@
 
   if (field_change == UserData::FieldChange::ALL ||
       field_change == UserData::FieldChange::AVAILABLE_PROFILES) {
-    auto sorted_profile_indices = SortByCompleteness(*collect_user_data_options,
-                                                     state->available_profiles);
-    auto jlist =
-        Java_AssistantCollectUserDataModel_createAutofillProfileList(env);
-    for (int index : sorted_profile_indices) {
-      Java_AssistantCollectUserDataModel_addAutofillProfile(
-          env, jlist,
+    // Contact profiles.
+    auto jcontactlist =
+        Java_AssistantCollectUserDataModel_createAutofillContactList(env);
+    auto contact_indices = SortContactsByCompleteness(
+        *collect_user_data_options, state->available_profiles);
+    for (int index : contact_indices) {
+      auto jcontact = Java_AssistantCollectUserDataModel_createAutofillContact(
+          env, jcontext,
           autofill::PersonalDataManagerAndroid::CreateJavaProfileFromNative(
-              env, *state->available_profiles[index]));
+              env, *state->available_profiles[index]),
+          collect_user_data_options->request_payer_name,
+          collect_user_data_options->request_payer_phone,
+          collect_user_data_options->request_payer_email);
+      if (jcontact) {
+        Java_AssistantCollectUserDataModel_addAutofillContact(env, jcontactlist,
+                                                              jcontact);
+      }
     }
-    Java_AssistantCollectUserDataModel_setAutofillProfiles(env, jmodel, jlist);
+    Java_AssistantCollectUserDataModel_setAvailableContacts(env, jmodel,
+                                                            jcontactlist);
 
     // Ignore changes to FieldChange::CONTACT_PROFILE, this is already coming
     // from the view.
     autofill::AutofillProfile* contact_profile = state->contact_profile.get();
-    Java_AssistantCollectUserDataModel_setContactDetails(
+    Java_AssistantCollectUserDataModel_setSelectedContactDetails(
         env, jmodel,
         contact_profile == nullptr
             ? nullptr
-            : autofill::PersonalDataManagerAndroid::CreateJavaProfileFromNative(
-                  env, *contact_profile));
+            : Java_AssistantCollectUserDataModel_createAutofillContact(
+                  env, jcontext,
+                  autofill::PersonalDataManagerAndroid::
+                      CreateJavaProfileFromNative(env, *contact_profile),
+                  collect_user_data_options->request_payer_name,
+                  collect_user_data_options->request_payer_phone,
+                  collect_user_data_options->request_payer_email));
+
+    // Billing addresses profiles.
+    auto jbillinglist =
+        Java_AssistantCollectUserDataModel_createAutofillAddressList(env);
+    for (const auto& profile : state->available_profiles) {
+      auto jaddress = Java_AssistantCollectUserDataModel_createAutofillAddress(
+          env, jcontext,
+          autofill::PersonalDataManagerAndroid::CreateJavaProfileFromNative(
+              env, *profile));
+      if (jaddress) {
+        Java_AssistantCollectUserDataModel_addAutofillAddress(env, jbillinglist,
+                                                              jaddress);
+      }
+    }
+    Java_AssistantCollectUserDataModel_setAvailableBillingAddresses(
+        env, jmodel, jbillinglist);
+
+    // Address profiles.
+    auto jshippinglist =
+        Java_AssistantCollectUserDataModel_createAutofillAddressList(env);
+    auto address_indices = SortAddressesByCompleteness(
+        *collect_user_data_options, state->available_profiles);
+    for (int index : address_indices) {
+      auto jaddress = Java_AssistantCollectUserDataModel_createAutofillAddress(
+          env, jcontext,
+          autofill::PersonalDataManagerAndroid::CreateJavaProfileFromNative(
+              env, *state->available_profiles[index]));
+      if (jaddress) {
+        Java_AssistantCollectUserDataModel_addAutofillAddress(
+            env, jshippinglist, jaddress);
+      }
+    }
+    Java_AssistantCollectUserDataModel_setAvailableShippingAddresses(
+        env, jmodel, jshippinglist);
 
     // Ignore changes to FieldChange::SHIPPING_ADDRESS, this is already coming
     // from the view.
     autofill::AutofillProfile* shipping_address = state->shipping_address.get();
-    Java_AssistantCollectUserDataModel_setShippingAddress(
+    Java_AssistantCollectUserDataModel_setSelectedShippingAddress(
         env, jmodel,
         shipping_address == nullptr
             ? nullptr
-            : autofill::PersonalDataManagerAndroid::CreateJavaProfileFromNative(
-                  env, *shipping_address));
+            : Java_AssistantCollectUserDataModel_createAutofillAddress(
+                  env, jcontext,
+                  autofill::PersonalDataManagerAndroid::
+                      CreateJavaProfileFromNative(env, *shipping_address)));
   }
 
   if (field_change == UserData::FieldChange::ALL ||
       field_change == UserData::FieldChange::AVAILABLE_PAYMENT_INSTRUMENTS) {
-    auto sorted_payment_instrument_indices = SortByCompleteness(
-        *collect_user_data_options, state->available_payment_instruments);
     auto jlist =
-        Java_AssistantCollectUserDataModel_createAutofillPaymentMethodList(env);
+        Java_AssistantCollectUserDataModel_createAutofillPaymentInstrumentList(
+            env);
+    auto sorted_payment_instrument_indices =
+        SortPaymentInstrumentsByCompleteness(
+            *collect_user_data_options, state->available_payment_instruments);
     for (int index : sorted_payment_instrument_indices) {
       const auto& instrument = state->available_payment_instruments[index];
-      Java_AssistantCollectUserDataModel_addAutofillPaymentMethod(
-          env, jlist,
-          autofill::PersonalDataManagerAndroid::CreateJavaCreditCardFromNative(
-              env, *(instrument->card)),
+      Java_AssistantCollectUserDataModel_addAutofillPaymentInstrument(
+          env, jmodel, jlist,
+          instrument->card == nullptr
+              ? nullptr
+              : autofill::PersonalDataManagerAndroid::
+                    CreateJavaCreditCardFromNative(env, *(instrument->card)),
           instrument->billing_address == nullptr
               ? nullptr
               : autofill::PersonalDataManagerAndroid::
                     CreateJavaProfileFromNative(
                         env, *(instrument->billing_address)));
     }
-    Java_AssistantCollectUserDataModel_setAutofillPaymentMethods(env, jmodel,
-                                                                 jlist);
+    Java_AssistantCollectUserDataModel_setAvailablePaymentInstruments(
+        env, jmodel, jlist);
 
     // Ignore changes to FieldChange::CARD, this is already coming from the
     // view.
     autofill::CreditCard* card = state->card.get();
     autofill::AutofillProfile* billing_address = state->billing_address.get();
-    Java_AssistantCollectUserDataModel_setPaymentMethod(
+    Java_AssistantCollectUserDataModel_setSelectedPaymentInstrument(
         env, jmodel,
         card == nullptr ? nullptr
                         : autofill::PersonalDataManagerAndroid::
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
index 1f7190e..90448ea 100644
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
@@ -403,9 +403,6 @@
   void BindHostReceiverForRenderer(
       content::RenderProcessHost* render_process_host,
       mojo::GenericPendingReceiver receiver) override;
-  void BindHostReceiverForRendererOnIOThread(
-      int render_process_id,
-      mojo::GenericPendingReceiver* receiver) override;
   void WillStartServiceManager() override;
   base::Optional<service_manager::Manifest> GetServiceManifestOverlay(
       base::StringPiece name) override;
diff --git a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
index aed1cbb..4cf2683 100644
--- a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
+++ b/chrome/browser/chrome_content_browser_client_receiver_bindings.cc
@@ -32,7 +32,6 @@
 #include "components/safe_browsing/buildflags.h"
 #include "components/safe_browsing/content/browser/mojo_safe_browsing_impl.h"
 #include "components/spellcheck/spellcheck_buildflags.h"
-#include "components/startup_metric_utils/browser/startup_metric_host_impl.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/render_process_host.h"
 #include "content/public/browser/resource_context.h"
@@ -339,15 +338,3 @@
   }
 #endif  // BUILDFLAG(ENABLE_PLUGINS)
 }
-
-void ChromeContentBrowserClient::BindHostReceiverForRendererOnIOThread(
-    int render_process_id,
-    mojo::GenericPendingReceiver* receiver) {
-  if (auto host_receiver =
-          receiver->As<startup_metric_utils::mojom::StartupMetricHost>()) {
-    startup_metric_utils::StartupMetricHostImpl::Create(
-        std::move(host_receiver));
-    return;
-  }
-}
-
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn
index cd23290..1e50e18 100644
--- a/chrome/browser/chromeos/BUILD.gn
+++ b/chrome/browser/chromeos/BUILD.gn
@@ -2357,6 +2357,8 @@
     "extensions/input_method_api.h",
     "extensions/login_screen/login/login_api.cc",
     "extensions/login_screen/login/login_api.h",
+    "extensions/login_screen/login/login_api_lock_handler.cc",
+    "extensions/login_screen/login/login_api_lock_handler.h",
     "extensions/login_screen/login_screen_storage/login_screen_storage_api.cc",
     "extensions/login_screen/login_screen_storage/login_screen_storage_api.h",
     "extensions/login_screen/login_screen_ui/login_screen_ui_api.cc",
diff --git a/chrome/browser/chromeos/crostini/ansible/ansible_management_service.cc b/chrome/browser/chromeos/crostini/ansible/ansible_management_service.cc
index 1b261f3..996cde11 100644
--- a/chrome/browser/chromeos/crostini/ansible/ansible_management_service.cc
+++ b/chrome/browser/chromeos/crostini/ansible/ansible_management_service.cc
@@ -179,13 +179,15 @@
 }
 
 void AnsibleManagementService::OnApplyAnsiblePlaybookProgress(
-    vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::Status status) {
+    vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::Status status,
+    const std::string& failure_details) {
   switch (status) {
     case vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::SUCCEEDED:
       OnConfigurationFinished(true);
       break;
     case vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::FAILED:
-      LOG(ERROR) << "Ansible playbook application has failed";
+      LOG(ERROR) << "Ansible playbook application has failed with reason:\n"
+                 << failure_details;
       OnConfigurationFinished(false);
       break;
     case vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::IN_PROGRESS:
diff --git a/chrome/browser/chromeos/crostini/ansible/ansible_management_service.h b/chrome/browser/chromeos/crostini/ansible/ansible_management_service.h
index eebd2a0..0cfb62c 100644
--- a/chrome/browser/chromeos/crostini/ansible/ansible_management_service.h
+++ b/chrome/browser/chromeos/crostini/ansible/ansible_management_service.h
@@ -52,7 +52,8 @@
                                   int progress_percent) override;
 
   void OnApplyAnsiblePlaybookProgress(
-      vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::Status status);
+      vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::Status status,
+      const std::string& failure_details);
 
   void AddObserver(Observer* observer);
   void RemoveObserver(Observer* observer);
diff --git a/chrome/browser/chromeos/crostini/crostini_manager.cc b/chrome/browser/chromeos/crostini/crostini_manager.cc
index 44857fd..bc7b0064 100644
--- a/chrome/browser/chromeos/crostini/crostini_manager.cc
+++ b/chrome/browser/chromeos/crostini/crostini_manager.cc
@@ -2322,7 +2322,8 @@
 
   // TODO(okalitova): Add an observer.
   AnsibleManagementService::GetForProfile(profile_)
-      ->OnApplyAnsiblePlaybookProgress(signal.status());
+      ->OnApplyAnsiblePlaybookProgress(signal.status(),
+                                       signal.failure_details());
 }
 
 void CrostiniManager::OnUpgradeContainerProgress(
diff --git a/chrome/browser/chromeos/extensions/login_screen/login/login_api.cc b/chrome/browser/chromeos/extensions/login_screen/login/login_api.cc
index 1dcb43a..f3c21f5 100644
--- a/chrome/browser/chromeos/extensions/login_screen/login/login_api.cc
+++ b/chrome/browser/chromeos/extensions/login_screen/login/login_api.cc
@@ -7,16 +7,21 @@
 #include <memory>
 #include <string>
 
+#include "base/bind.h"
 #include "base/logging.h"
 #include "base/values.h"
 #include "chrome/browser/browser_process.h"
+#include "chrome/browser/chromeos/extensions/login_screen/login/login_api_lock_handler.h"
 #include "chrome/browser/chromeos/login/existing_user_controller.h"
 #include "chrome/browser/chromeos/login/signin_specifics.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/lifetime/application_lifetime.h"
 #include "chrome/common/extensions/api/login.h"
 #include "chrome/common/pref_names.h"
+#include "chromeos/login/auth/key.h"
 #include "chromeos/login/auth/user_context.h"
 #include "components/prefs/pref_service.h"
+#include "components/session_manager/core/session_manager.h"
 #include "components/user_manager/user.h"
 #include "components/user_manager/user_manager.h"
 #include "components/user_manager/user_type.h"
@@ -25,8 +30,12 @@
 
 namespace {
 
-const char kErrorNoManagedGuestSessionAccounts[] =
-    "No managed guest session accounts";
+std::string GetLaunchExtensionIdPrefValue(const user_manager::User* user) {
+  Profile* profile = chromeos::ProfileHelper::Get()->GetProfileByUser(user);
+  DCHECK(profile);
+  PrefService* prefs = profile->GetPrefs();
+  return prefs->GetString(prefs::kLoginExtensionApiLaunchExtensionId);
+}
 
 }  // namespace
 
@@ -39,6 +48,25 @@
 
 }  // namespace login_api
 
+namespace login_api_errors {
+
+const char kAlreadyActiveSession[] = "There is already an active session";
+const char kAnotherLoginAttemptInProgress[] =
+    "Another login attempt is in progress";
+const char kNoManagedGuestSessionAccounts[] =
+    "No managed guest session accounts";
+const char kNoPermissionToLock[] =
+    "The extension does not have permission to lock this session";
+const char kSessionIsNotActive[] = "Session is not active";
+const char kNoPermissionToUnlock[] =
+    "The extension does not have permission to unlock this session";
+const char kSessionIsNotLocked[] = "Session is not locked";
+const char kAnotherUnlockAttemptInProgress[] =
+    "Another unlock attempt is in progress";
+const char kAuthenticationFailed[] = "Authentication failed";
+
+}  // namespace login_api_errors
+
 LoginLaunchManagedGuestSessionFunction::
     LoginLaunchManagedGuestSessionFunction() = default;
 LoginLaunchManagedGuestSessionFunction::
@@ -46,17 +74,36 @@
 
 ExtensionFunction::ResponseAction
 LoginLaunchManagedGuestSessionFunction::Run() {
+  std::unique_ptr<api::login::LaunchManagedGuestSession::Params> parameters =
+      api::login::LaunchManagedGuestSession::Params::Create(*args_);
+  EXTENSION_FUNCTION_VALIDATE(parameters);
+
+  if (session_manager::SessionManager::Get()->session_state() !=
+      session_manager::SessionState::LOGIN_PRIMARY) {
+    return RespondNow(Error(login_api_errors::kAlreadyActiveSession));
+  }
+
+  chromeos::ExistingUserController* existing_user_controller =
+      chromeos::ExistingUserController::current_controller();
+  if (existing_user_controller->IsSigninInProgress()) {
+    return RespondNow(Error(login_api_errors::kAnotherLoginAttemptInProgress));
+  }
+
   user_manager::UserManager* user_manager = user_manager::UserManager::Get();
   for (const user_manager::User* user : user_manager->GetUsers()) {
     if (!user || user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT)
       continue;
     chromeos::UserContext context(user_manager::USER_TYPE_PUBLIC_ACCOUNT,
                                   user->GetAccountId());
-    chromeos::ExistingUserController::current_controller()->Login(
-        context, chromeos::SigninSpecifics());
+    if (parameters->password) {
+      context.SetKey(chromeos::Key(*parameters->password));
+      context.SetManagedGuestSessionLaunchExtensionId(extension_id());
+    }
+
+    existing_user_controller->Login(context, chromeos::SigninSpecifics());
     return RespondNow(NoArguments());
   }
-  return RespondNow(Error(kErrorNoManagedGuestSessionAccounts));
+  return RespondNow(Error(login_api_errors::kNoManagedGuestSessionAccounts));
 }
 
 LoginExitCurrentSessionFunction::LoginExitCurrentSessionFunction() = default;
@@ -98,4 +145,78 @@
       OneArgument(std::make_unique<base::Value>(data_for_next_login_attempt)));
 }
 
+LoginLockManagedGuestSessionFunction::LoginLockManagedGuestSessionFunction() =
+    default;
+LoginLockManagedGuestSessionFunction::~LoginLockManagedGuestSessionFunction() =
+    default;
+
+ExtensionFunction::ResponseAction LoginLockManagedGuestSessionFunction::Run() {
+  const user_manager::UserManager* user_manager =
+      user_manager::UserManager::Get();
+  const user_manager::User* active_user = user_manager->GetActiveUser();
+  if (!active_user ||
+      active_user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT ||
+      !user_manager->CanCurrentUserLock()) {
+    return RespondNow(Error(login_api_errors::kNoPermissionToLock));
+  }
+
+  if (session_manager::SessionManager::Get()->session_state() !=
+      session_manager::SessionState::ACTIVE) {
+    return RespondNow(Error(login_api_errors::kSessionIsNotActive));
+  }
+
+  chromeos::LoginApiLockHandler::Get()->RequestLockScreen();
+  return RespondNow(NoArguments());
+}
+
+LoginUnlockManagedGuestSessionFunction::
+    LoginUnlockManagedGuestSessionFunction() = default;
+LoginUnlockManagedGuestSessionFunction::
+    ~LoginUnlockManagedGuestSessionFunction() = default;
+
+ExtensionFunction::ResponseAction
+LoginUnlockManagedGuestSessionFunction::Run() {
+  std::unique_ptr<api::login::UnlockManagedGuestSession::Params> parameters =
+      api::login::UnlockManagedGuestSession::Params::Create(*args_);
+  EXTENSION_FUNCTION_VALIDATE(parameters);
+
+  const user_manager::User* active_user =
+      user_manager::UserManager::Get()->GetActiveUser();
+  if (!active_user ||
+      active_user->GetType() != user_manager::USER_TYPE_PUBLIC_ACCOUNT ||
+      extension_id() != GetLaunchExtensionIdPrefValue(active_user)) {
+    return RespondNow(Error(login_api_errors::kNoPermissionToUnlock));
+  }
+
+  if (session_manager::SessionManager::Get()->session_state() !=
+      session_manager::SessionState::LOCKED) {
+    return RespondNow(Error(login_api_errors::kSessionIsNotLocked));
+  }
+
+  chromeos::LoginApiLockHandler* handler = chromeos::LoginApiLockHandler::Get();
+  if (handler->IsUnlockInProgress()) {
+    return RespondNow(Error(login_api_errors::kAnotherUnlockAttemptInProgress));
+  }
+
+  chromeos::UserContext context(user_manager::USER_TYPE_PUBLIC_ACCOUNT,
+                                active_user->GetAccountId());
+  context.SetKey(chromeos::Key(parameters->password));
+  handler->Authenticate(
+      context,
+      base::BindOnce(
+          &LoginUnlockManagedGuestSessionFunction::OnAuthenticationComplete,
+          this));
+  return did_respond() ? AlreadyResponded() : RespondLater();
+}
+
+void LoginUnlockManagedGuestSessionFunction::OnAuthenticationComplete(
+    bool success) {
+  if (!success) {
+    Respond(Error(login_api_errors::kAuthenticationFailed));
+    return;
+  }
+
+  Respond(NoArguments());
+}
+
 }  // namespace extensions
diff --git a/chrome/browser/chromeos/extensions/login_screen/login/login_api.h b/chrome/browser/chromeos/extensions/login_screen/login/login_api.h
index 522ab97..c6584d6 100644
--- a/chrome/browser/chromeos/extensions/login_screen/login/login_api.h
+++ b/chrome/browser/chromeos/extensions/login_screen/login/login_api.h
@@ -5,7 +5,6 @@
 #ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_LOGIN_SCREEN_LOGIN_LOGIN_API_H_
 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_LOGIN_SCREEN_LOGIN_LOGIN_API_H_
 
-#include "base/macros.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "extensions/browser/extension_function.h"
 
@@ -17,10 +16,30 @@
 
 }  // namespace login_api
 
+namespace login_api_errors {
+
+extern const char kAlreadyActiveSession[];
+extern const char kAnotherLoginAttemptInProgress[];
+extern const char kNoManagedGuestSessionAccounts[];
+extern const char kNoPermissionToLock[];
+extern const char kSessionIsNotActive[];
+extern const char kNoPermissionToUnlock[];
+extern const char kSessionIsNotLocked[];
+extern const char kAnotherUnlockAttemptInProgress[];
+extern const char kAuthenticationFailed[];
+
+}  // namespace login_api_errors
+
 class LoginLaunchManagedGuestSessionFunction : public ExtensionFunction {
  public:
   LoginLaunchManagedGuestSessionFunction();
 
+  LoginLaunchManagedGuestSessionFunction(
+      const LoginLaunchManagedGuestSessionFunction&) = delete;
+
+  LoginLaunchManagedGuestSessionFunction& operator=(
+      const LoginLaunchManagedGuestSessionFunction&) = delete;
+
   DECLARE_EXTENSION_FUNCTION("login.launchManagedGuestSession",
                              LOGIN_LAUNCHMANAGEDGUESTSESSION)
 
@@ -29,15 +48,18 @@
 
   // ExtensionFunction:
   ResponseAction Run() override;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(LoginLaunchManagedGuestSessionFunction);
 };
 
 class LoginExitCurrentSessionFunction : public ExtensionFunction {
  public:
   LoginExitCurrentSessionFunction();
 
+  LoginExitCurrentSessionFunction(const LoginExitCurrentSessionFunction&) =
+      delete;
+
+  LoginExitCurrentSessionFunction& operator=(
+      const LoginExitCurrentSessionFunction&) = delete;
+
   DECLARE_EXTENSION_FUNCTION("login.exitCurrentSession",
                              LOGIN_EXITCURRENTSESSION)
 
@@ -46,15 +68,18 @@
 
   // ExtensionFunction:
   ResponseAction Run() override;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(LoginExitCurrentSessionFunction);
 };
 
 class LoginFetchDataForNextLoginAttemptFunction : public ExtensionFunction {
  public:
   LoginFetchDataForNextLoginAttemptFunction();
 
+  LoginFetchDataForNextLoginAttemptFunction(
+      const LoginFetchDataForNextLoginAttemptFunction&) = delete;
+
+  LoginFetchDataForNextLoginAttemptFunction& operator=(
+      const LoginFetchDataForNextLoginAttemptFunction&) = delete;
+
   DECLARE_EXTENSION_FUNCTION("login.fetchDataForNextLoginAttempt",
                              LOGIN_FETCHDATAFORNEXTLOGINATTEMPT)
 
@@ -63,9 +88,49 @@
 
   // ExtensionFunction:
   ResponseAction Run() override;
+};
+
+class LoginLockManagedGuestSessionFunction : public ExtensionFunction {
+ public:
+  LoginLockManagedGuestSessionFunction();
+
+  LoginLockManagedGuestSessionFunction(
+      const LoginLockManagedGuestSessionFunction&) = delete;
+
+  LoginLockManagedGuestSessionFunction& operator=(
+      const LoginLockManagedGuestSessionFunction&) = delete;
+
+  DECLARE_EXTENSION_FUNCTION("login.lockManagedGuestSession",
+                             LOGIN_LOCKMANAGEDGUESTSESSION)
+
+ protected:
+  ~LoginLockManagedGuestSessionFunction() override;
+
+  // ExtensionFunction:
+  ResponseAction Run() override;
+};
+
+class LoginUnlockManagedGuestSessionFunction : public ExtensionFunction {
+ public:
+  LoginUnlockManagedGuestSessionFunction();
+
+  LoginUnlockManagedGuestSessionFunction(
+      const LoginUnlockManagedGuestSessionFunction&) = delete;
+
+  LoginUnlockManagedGuestSessionFunction& operator=(
+      const LoginUnlockManagedGuestSessionFunction&) = delete;
+
+  DECLARE_EXTENSION_FUNCTION("login.unlockManagedGuestSession",
+                             LOGIN_UNLOCKMANAGEDGUESTSESSION)
+
+ protected:
+  ~LoginUnlockManagedGuestSessionFunction() override;
+
+  // ExtensionFunction:
+  ResponseAction Run() override;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(LoginFetchDataForNextLoginAttemptFunction);
+  void OnAuthenticationComplete(bool success);
 };
 
 }  // namespace extensions
diff --git a/chrome/browser/chromeos/extensions/login_screen/login/login_api_lock_handler.cc b/chrome/browser/chromeos/extensions/login_screen/login/login_api_lock_handler.cc
new file mode 100644
index 0000000..8b684da
--- /dev/null
+++ b/chrome/browser/chromeos/extensions/login_screen/login/login_api_lock_handler.cc
@@ -0,0 +1,63 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/extensions/login_screen/login/login_api_lock_handler.h"
+
+#include <utility>
+
+#include "base/bind.h"
+#include "base/no_destructor.h"
+#include "chrome/browser/chromeos/login/lock/screen_locker.h"
+#include "chrome/browser/ui/ash/session_controller_client_impl.h"
+#include "chromeos/login/auth/user_context.h"
+
+namespace chromeos {
+
+namespace {
+
+LoginApiLockHandler* g_lock_handler_for_testing = nullptr;
+
+}  // namespace
+
+// static
+LoginApiLockHandler* LoginApiLockHandler::Get() {
+  if (g_lock_handler_for_testing)
+    return g_lock_handler_for_testing;
+  static base::NoDestructor<LoginApiLockHandler> lock_handler;
+  return lock_handler.get();
+}
+
+// static
+void LoginApiLockHandler::SetInstanceForTesting(LoginApiLockHandler* instance) {
+  g_lock_handler_for_testing = instance;
+}
+
+LoginApiLockHandler::LoginApiLockHandler() = default;
+
+LoginApiLockHandler::~LoginApiLockHandler() = default;
+
+void LoginApiLockHandler::RequestLockScreen() {
+  SessionControllerClientImpl::Get()->RequestLockScreen();
+}
+
+void LoginApiLockHandler::Authenticate(
+    const UserContext& user_context,
+    base::OnceCallback<void(bool auth_success)> callback) {
+  unlock_in_progress_ = true;
+  callback_ = std::move(callback);
+  chromeos::ScreenLocker::default_screen_locker()->Authenticate(
+      user_context, base::BindOnce(&LoginApiLockHandler::AuthenticateCallback,
+                                   weak_factory_.GetWeakPtr()));
+}
+
+void LoginApiLockHandler::AuthenticateCallback(bool auth_success) {
+  unlock_in_progress_ = false;
+  std::move(callback_).Run(auth_success);
+}
+
+bool LoginApiLockHandler::IsUnlockInProgress() const {
+  return unlock_in_progress_;
+}
+
+}  // namespace chromeos
diff --git a/chrome/browser/chromeos/extensions/login_screen/login/login_api_lock_handler.h b/chrome/browser/chromeos/extensions/login_screen/login/login_api_lock_handler.h
new file mode 100644
index 0000000..36dc0e39
--- /dev/null
+++ b/chrome/browser/chromeos/extensions/login_screen/login/login_api_lock_handler.h
@@ -0,0 +1,51 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_LOGIN_SCREEN_LOGIN_LOGIN_API_LOCK_HANDLER_H_
+#define CHROME_BROWSER_CHROMEOS_EXTENSIONS_LOGIN_SCREEN_LOGIN_LOGIN_API_LOCK_HANDLER_H_
+
+#include "base/callback.h"
+#include "base/memory/weak_ptr.h"
+
+namespace chromeos {
+
+class UserContext;
+
+// A thin wrapper around |SessionControllerClientImpl| and
+// |chromeos::ScreenLocker| to allow easier mocking for tests. Also manages the
+// |unlock_in_progress| state.
+class LoginApiLockHandler {
+ public:
+  // Gets the global instance of |LoginApiLockHandler|, and creates one if
+  // there is none.
+  static LoginApiLockHandler* Get();
+
+  static void SetInstanceForTesting(LoginApiLockHandler* instance);
+
+  LoginApiLockHandler();
+
+  LoginApiLockHandler(const LoginApiLockHandler&) = delete;
+
+  LoginApiLockHandler& operator=(const LoginApiLockHandler&) = delete;
+
+  virtual ~LoginApiLockHandler();
+
+  virtual void RequestLockScreen();
+
+  virtual void Authenticate(const UserContext& user_context,
+                            base::OnceCallback<void(bool auth_success)>);
+
+  virtual bool IsUnlockInProgress() const;
+
+ private:
+  void AuthenticateCallback(bool auth_success);
+
+  bool unlock_in_progress_ = false;
+  base::OnceCallback<void(bool auth_success)> callback_;
+  base::WeakPtrFactory<LoginApiLockHandler> weak_factory_{this};
+};
+
+}  // namespace chromeos
+
+#endif  // CHROME_BROWSER_CHROMEOS_EXTENSIONS_LOGIN_SCREEN_LOGIN_LOGIN_API_LOCK_HANDLER_H_
diff --git a/chrome/browser/chromeos/extensions/login_screen/login/login_api_unittest.cc b/chrome/browser/chromeos/extensions/login_screen/login/login_api_unittest.cc
index cb40aae..58c765be 100644
--- a/chrome/browser/chromeos/extensions/login_screen/login/login_api_unittest.cc
+++ b/chrome/browser/chromeos/extensions/login_screen/login/login_api_unittest.cc
@@ -6,41 +6,121 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 
+#include "base/callback.h"
+#include "base/memory/scoped_refptr.h"
 #include "base/run_loop.h"
 #include "base/strings/stringprintf.h"
 #include "chrome/browser/browser_process.h"
+#include "chrome/browser/chromeos/extensions/login_screen/login/login_api_lock_handler.h"
 #include "chrome/browser/chromeos/login/existing_user_controller.h"
 #include "chrome/browser/chromeos/login/signin_specifics.h"
 #include "chrome/browser/chromeos/login/ui/mock_login_display_host.h"
 #include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/extensions/extension_api_unittest.h"
 #include "chrome/common/pref_names.h"
+#include "chrome/test/base/testing_profile.h"
+#include "chrome/test/base/testing_profile_manager.h"
+#include "chromeos/login/auth/key.h"
 #include "chromeos/login/auth/user_context.h"
 #include "components/account_id/account_id.h"
+#include "components/prefs/pref_service.h"
+#include "components/session_manager/core/session_manager.h"
+#include "components/session_manager/session_manager_types.h"
 #include "components/user_manager/scoped_user_manager.h"
+#include "content/public/browser/browser_context.h"
+#include "extensions/browser/api_test_utils.h"
 #include "extensions/browser/api_unittest.h"
+#include "extensions/common/extension.h"
+#include "extensions/common/extension_builder.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 using testing::_;
+using testing::Invoke;
 using testing::Return;
 
 namespace {
 
+const char kEmail[] = "email@test";
+const char kGaiaId[] = "gaia@test";
+const char kExtensionName[] = "extension_name";
+const char kExtensionId[] = "abcdefghijklmnopqrstuvwxyzabcdef";
+
 class MockExistingUserController : public chromeos::ExistingUserController {
  public:
   MockExistingUserController() = default;
+
+  MockExistingUserController(const MockExistingUserController&) = delete;
+
+  MockExistingUserController& operator=(const MockExistingUserController&) =
+      delete;
+
   ~MockExistingUserController() override = default;
 
   MOCK_METHOD2(Login,
                void(const chromeos::UserContext&,
                     const chromeos::SigninSpecifics&));
+  MOCK_CONST_METHOD0(IsSigninInProgress, bool());
+};
+
+class MockLoginApiLockHandler : public chromeos::LoginApiLockHandler {
+ public:
+  MockLoginApiLockHandler() {
+    chromeos::LoginApiLockHandler::SetInstanceForTesting(this);
+  }
+
+  MockLoginApiLockHandler(const MockLoginApiLockHandler&) = delete;
+
+  MockLoginApiLockHandler& operator=(const MockLoginApiLockHandler&) = delete;
+
+  ~MockLoginApiLockHandler() override {
+    chromeos::LoginApiLockHandler::SetInstanceForTesting(nullptr);
+  }
+
+  MOCK_METHOD0(RequestLockScreen, void());
+  MOCK_METHOD2(Authenticate,
+               void(const chromeos::UserContext& user_context,
+                    base::OnceCallback<void(bool auth_success)> callback));
+  MOCK_CONST_METHOD0(IsUnlockInProgress, bool());
+};
+
+// Wrapper which calls |DeleteTestingProfile()| on |profile| upon destruction.
+class ScopedTestingProfile {
+ public:
+  ScopedTestingProfile(TestingProfile* profile,
+                       TestingProfileManager* profile_manager)
+      : profile_(profile), profile_manager_(profile_manager) {}
+
+  ScopedTestingProfile(const ScopedTestingProfile&) = delete;
+
+  ScopedTestingProfile& operator=(const ScopedTestingProfile&) = delete;
+
+  ~ScopedTestingProfile() {
+    profile_manager_->DeleteTestingProfile(profile_->GetProfileUserName());
+  }
+
+  TestingProfile* profile() { return profile_; }
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(MockExistingUserController);
+  TestingProfile* const profile_;
+  TestingProfileManager* const profile_manager_;
 };
 
+chromeos::UserContext GetPublicUserContext(const std::string& email) {
+  return chromeos::UserContext(user_manager::USER_TYPE_PUBLIC_ACCOUNT,
+                               AccountId::FromUserEmail(email));
+}
+
+void SetLoginExtensionApiLaunchExtensionIdPref(
+    Profile* profile,
+    const std::string& extension_id) {
+  profile->GetPrefs()->SetString(prefs::kLoginExtensionApiLaunchExtensionId,
+                                 extension_id);
+}
+
 }  // namespace
 
 namespace extensions {
@@ -48,8 +128,14 @@
 class LoginApiUnittest : public ExtensionApiUnittest {
  public:
   LoginApiUnittest() = default;
+
+  LoginApiUnittest(const LoginApiUnittest&) = delete;
+
+  LoginApiUnittest& operator=(const LoginApiUnittest&) = delete;
+
   ~LoginApiUnittest() override = default;
 
+ protected:
   void SetUp() override {
     ExtensionApiUnittest::SetUp();
 
@@ -61,6 +147,12 @@
         std::make_unique<chromeos::MockLoginDisplayHost>();
     mock_existing_user_controller_ =
         std::make_unique<MockExistingUserController>();
+    // Set |LOGIN_PRIMARY| as the default state.
+    session_manager_.SetSessionState(
+        session_manager::SessionState::LOGIN_PRIMARY);
+
+    EXPECT_CALL(*mock_login_display_host_, GetExistingUserController())
+        .WillRepeatedly(Return(mock_existing_user_controller_.get()));
 
     // Run pending async tasks resulting from profile construction to ensure
     // these are complete before the test begins.
@@ -75,14 +167,32 @@
     ExtensionApiUnittest::TearDown();
   }
 
- protected:
+  void SetExtensionWithId(const std::string& extension_id) {
+    scoped_refptr<const extensions::Extension> extension =
+        extensions::ExtensionBuilder(kExtensionName)
+            .SetID(extension_id)
+            .Build();
+    set_extension(extension);
+  }
+
+  std::unique_ptr<ScopedTestingProfile> AddPublicAccountUser(
+      const std::string& email) {
+    AccountId account_id = AccountId::FromUserEmail(email);
+    user_manager::User* user =
+        fake_chrome_user_manager_->AddPublicAccountUser(account_id);
+    TestingProfile* profile = profile_manager()->CreateTestingProfile(email);
+    chromeos::ProfileHelper::Get()->SetUserToProfileMappingForTesting(user,
+                                                                      profile);
+
+    return std::make_unique<ScopedTestingProfile>(profile, profile_manager());
+  }
+
   chromeos::FakeChromeUserManager* fake_chrome_user_manager_;
   std::unique_ptr<user_manager::ScopedUserManager> scoped_user_manager_;
   std::unique_ptr<chromeos::MockLoginDisplayHost> mock_login_display_host_;
   std::unique_ptr<MockExistingUserController> mock_existing_user_controller_;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(LoginApiUnittest);
+  // Sets up the global |SessionManager| instance.
+  session_manager::SessionManager session_manager_;
 };
 
 MATCHER_P(MatchSigninSpecifics, expected, "") {
@@ -93,30 +203,61 @@
          expected.is_auto_login == arg.is_auto_login;
 }
 
+MATCHER_P(MatchUserContextSecret, expected, "") {
+  return expected == arg.GetKey()->GetSecret();
+}
+
 // Test that calling |login.launchManagedGuestSession()| calls the corresponding
 // method from the |ExistingUserController|.
 TEST_F(LoginApiUnittest, LaunchManagedGuestSession) {
-  AccountId test_account_id =
-      AccountId::FromUserEmail("publicaccount@test.com");
-
-  fake_chrome_user_manager_->AddPublicAccountUser(test_account_id);
-  EXPECT_CALL(*mock_login_display_host_, GetExistingUserController())
-      .WillOnce(Return(mock_existing_user_controller_.get()));
-
-  chromeos::SigninSpecifics signin_specifics;
-  chromeos::UserContext userContext(user_manager::USER_TYPE_PUBLIC_ACCOUNT,
-                                    test_account_id);
+  std::unique_ptr<ScopedTestingProfile> profile = AddPublicAccountUser(kEmail);
   EXPECT_CALL(*mock_existing_user_controller_,
-              Login(userContext, MatchSigninSpecifics(signin_specifics)))
+              Login(GetPublicUserContext(kEmail),
+                    MatchSigninSpecifics(chromeos::SigninSpecifics())))
       .Times(1);
 
   RunFunction(new LoginLaunchManagedGuestSessionFunction(), "[]");
 }
 
+// Test that calling |login.launchManagedGuestSession()| with a password sets
+// the correct extension ID in the |UserContext| passed to
+// |ExistingUserController|.
+TEST_F(LoginApiUnittest, LaunchManagedGuestSessionWithPassword) {
+  std::unique_ptr<ScopedTestingProfile> profile = AddPublicAccountUser(kEmail);
+  chromeos::UserContext user_context = GetPublicUserContext(kEmail);
+  user_context.SetKey(chromeos::Key("password"));
+  EXPECT_CALL(
+      *mock_existing_user_controller_,
+      Login(user_context, MatchSigninSpecifics(chromeos::SigninSpecifics())))
+      .Times(1);
+
+  RunFunction(new LoginLaunchManagedGuestSessionFunction(), "[\"password\"]");
+}
+
 // Test that calling |login.launchManagedGuestSession()| returns an error when
 // there are no managed guest session accounts.
 TEST_F(LoginApiUnittest, LaunchManagedGuestSessionNoAccounts) {
-  ASSERT_EQ("No managed guest session accounts",
+  ASSERT_EQ(login_api_errors::kNoManagedGuestSessionAccounts,
+            RunFunctionAndReturnError(
+                new LoginLaunchManagedGuestSessionFunction(), "[]"));
+}
+
+// Test that calling |login.launchManagedGuestSession()| returns an error when
+// the session state is not |LOGIN_PRIMARY|.
+TEST_F(LoginApiUnittest, LaunchManagedGuestSessionWrongSessionState) {
+  session_manager::SessionManager::Get()->SetSessionState(
+      session_manager::SessionState::ACTIVE);
+  ASSERT_EQ(login_api_errors::kAlreadyActiveSession,
+            RunFunctionAndReturnError(
+                new LoginLaunchManagedGuestSessionFunction(), "[]"));
+}
+
+// Test that calling |login.launchManagedGuestSession()| returns an error when
+// there is another signin in progress.
+TEST_F(LoginApiUnittest, LaunchManagedGuestSessionSigninInProgress) {
+  EXPECT_CALL(*mock_existing_user_controller_, IsSigninInProgress())
+      .WillOnce(Return(true));
+  ASSERT_EQ(login_api_errors::kAnotherLoginAttemptInProgress,
             RunFunctionAndReturnError(
                 new LoginLaunchManagedGuestSessionFunction(), "[]"));
 }
@@ -168,4 +309,171 @@
                     prefs::kLoginExtensionApiDataForNextLoginAttempt));
 }
 
+TEST_F(LoginApiUnittest, LockManagedGuestSession) {
+  std::unique_ptr<ScopedTestingProfile> profile = AddPublicAccountUser(kEmail);
+  fake_chrome_user_manager_->SwitchActiveUser(AccountId::FromUserEmail(kEmail));
+  fake_chrome_user_manager_->set_current_user_can_lock(true);
+  session_manager::SessionManager::Get()->SetSessionState(
+      session_manager::SessionState::ACTIVE);
+
+  MockLoginApiLockHandler mock_login_api_lock_handler;
+  EXPECT_CALL(mock_login_api_lock_handler, RequestLockScreen())
+      .WillOnce(Return());
+
+  RunFunction(new LoginLockManagedGuestSessionFunction(), "[]");
+}
+
+TEST_F(LoginApiUnittest, LockManagedGuestSessionNoActiveUser) {
+  ASSERT_EQ(login_api_errors::kNoPermissionToLock,
+            RunFunctionAndReturnError(
+                new LoginLockManagedGuestSessionFunction(), "[]"));
+}
+
+TEST_F(LoginApiUnittest, LockManagedGuestSessionNotManagedGuestSession) {
+  AccountId account_id = AccountId::FromGaiaId(kGaiaId);
+  fake_chrome_user_manager_->AddUser(account_id);
+  fake_chrome_user_manager_->SwitchActiveUser(account_id);
+
+  ASSERT_EQ(login_api_errors::kNoPermissionToLock,
+            RunFunctionAndReturnError(
+                new LoginLockManagedGuestSessionFunction(), "[]"));
+}
+
+TEST_F(LoginApiUnittest, LockManagedGuestSessionUserCannotLock) {
+  std::unique_ptr<ScopedTestingProfile> profile = AddPublicAccountUser(kEmail);
+  fake_chrome_user_manager_->SwitchActiveUser(AccountId::FromUserEmail(kEmail));
+  fake_chrome_user_manager_->set_current_user_can_lock(false);
+
+  ASSERT_EQ(login_api_errors::kNoPermissionToLock,
+            RunFunctionAndReturnError(
+                new LoginLockManagedGuestSessionFunction(), "[]"));
+}
+
+TEST_F(LoginApiUnittest, LockManagedGuestSessionSessionNotActive) {
+  std::unique_ptr<ScopedTestingProfile> profile = AddPublicAccountUser(kEmail);
+  fake_chrome_user_manager_->SwitchActiveUser(AccountId::FromUserEmail(kEmail));
+  fake_chrome_user_manager_->set_current_user_can_lock(true);
+  session_manager::SessionManager::Get()->SetSessionState(
+      session_manager::SessionState::LOCKED);
+
+  ASSERT_EQ(login_api_errors::kSessionIsNotActive,
+            RunFunctionAndReturnError(
+                new LoginLockManagedGuestSessionFunction(), "[]"));
+}
+
+TEST_F(LoginApiUnittest, UnlockManagedGuestSession) {
+  SetExtensionWithId(kExtensionId);
+  std::unique_ptr<ScopedTestingProfile> scoped_profile =
+      AddPublicAccountUser(kEmail);
+  SetLoginExtensionApiLaunchExtensionIdPref(scoped_profile->profile(),
+                                            kExtensionId);
+  fake_chrome_user_manager_->SwitchActiveUser(AccountId::FromUserEmail(kEmail));
+  session_manager::SessionManager::Get()->SetSessionState(
+      session_manager::SessionState::LOCKED);
+
+  MockLoginApiLockHandler mock_login_api_lock_handler;
+  EXPECT_CALL(mock_login_api_lock_handler, IsUnlockInProgress())
+      .WillOnce(Return(false));
+  EXPECT_CALL(mock_login_api_lock_handler,
+              Authenticate(MatchUserContextSecret("password"), _))
+      .WillOnce([](chromeos::UserContext user_context,
+                   base::OnceCallback<void(bool auth_success)> callback) {
+        std::move(callback).Run(/*auth_success=*/true);
+      });
+
+  RunFunction(new LoginUnlockManagedGuestSessionFunction(), "[\"password\"]");
+}
+
+TEST_F(LoginApiUnittest, UnlockManagedGuestSessionNoActiveUser) {
+  ASSERT_EQ(
+      login_api_errors::kNoPermissionToUnlock,
+      RunFunctionAndReturnError(new LoginUnlockManagedGuestSessionFunction(),
+                                "[\"password\"]"));
+}
+
+TEST_F(LoginApiUnittest, UnlockManagedGuestSessionNotManagedGuestSession) {
+  AccountId account_id = AccountId::FromGaiaId(kGaiaId);
+  fake_chrome_user_manager_->AddUser(account_id);
+  fake_chrome_user_manager_->SwitchActiveUser(account_id);
+
+  ASSERT_EQ(
+      login_api_errors::kNoPermissionToUnlock,
+      RunFunctionAndReturnError(new LoginUnlockManagedGuestSessionFunction(),
+                                "[\"password\"]"));
+}
+
+TEST_F(LoginApiUnittest, UnlockManagedGuestSessionWrongExtensionId) {
+  SetExtensionWithId(kExtensionId);
+  std::unique_ptr<ScopedTestingProfile> scoped_profile =
+      AddPublicAccountUser(kEmail);
+  SetLoginExtensionApiLaunchExtensionIdPref(scoped_profile->profile(),
+                                            "wrong_extension_id");
+  fake_chrome_user_manager_->SwitchActiveUser(AccountId::FromUserEmail(kEmail));
+
+  ASSERT_EQ(
+      login_api_errors::kNoPermissionToUnlock,
+      RunFunctionAndReturnError(new LoginUnlockManagedGuestSessionFunction(),
+                                "[\"password\"]"));
+}
+
+TEST_F(LoginApiUnittest, UnlockManagedGuestSessionSessionNotLocked) {
+  SetExtensionWithId(kExtensionId);
+  std::unique_ptr<ScopedTestingProfile> scoped_profile =
+      AddPublicAccountUser(kEmail);
+  SetLoginExtensionApiLaunchExtensionIdPref(scoped_profile->profile(),
+                                            kExtensionId);
+  fake_chrome_user_manager_->SwitchActiveUser(AccountId::FromUserEmail(kEmail));
+
+  ASSERT_EQ(
+      login_api_errors::kSessionIsNotLocked,
+      RunFunctionAndReturnError(new LoginUnlockManagedGuestSessionFunction(),
+                                "[\"password\"]"));
+}
+
+TEST_F(LoginApiUnittest, UnlockManagedGuestSessionUnlockInProgress) {
+  SetExtensionWithId(kExtensionId);
+  std::unique_ptr<ScopedTestingProfile> scoped_profile =
+      AddPublicAccountUser(kEmail);
+  SetLoginExtensionApiLaunchExtensionIdPref(scoped_profile->profile(),
+                                            kExtensionId);
+  fake_chrome_user_manager_->SwitchActiveUser(AccountId::FromUserEmail(kEmail));
+  session_manager::SessionManager::Get()->SetSessionState(
+      session_manager::SessionState::LOCKED);
+
+  MockLoginApiLockHandler mock_login_api_lock_handler;
+  EXPECT_CALL(mock_login_api_lock_handler, IsUnlockInProgress())
+      .WillOnce(Return(true));
+
+  ASSERT_EQ(
+      login_api_errors::kAnotherUnlockAttemptInProgress,
+      RunFunctionAndReturnError(new LoginUnlockManagedGuestSessionFunction(),
+                                "[\"password\"]"));
+}
+
+TEST_F(LoginApiUnittest, UnlockManagedGuestSessionAuthenticationFailed) {
+  SetExtensionWithId(kExtensionId);
+  std::unique_ptr<ScopedTestingProfile> scoped_profile =
+      AddPublicAccountUser(kEmail);
+  SetLoginExtensionApiLaunchExtensionIdPref(scoped_profile->profile(),
+                                            kExtensionId);
+  fake_chrome_user_manager_->SwitchActiveUser(AccountId::FromUserEmail(kEmail));
+  session_manager::SessionManager::Get()->SetSessionState(
+      session_manager::SessionState::LOCKED);
+
+  MockLoginApiLockHandler mock_login_api_lock_handler;
+  EXPECT_CALL(mock_login_api_lock_handler, IsUnlockInProgress())
+      .WillOnce(Return(false));
+  EXPECT_CALL(mock_login_api_lock_handler,
+              Authenticate(MatchUserContextSecret("password"), _))
+      .WillOnce([](chromeos::UserContext user_context,
+                   base::OnceCallback<void(bool auth_success)> callback) {
+        std::move(callback).Run(/*auth_success=*/false);
+      });
+
+  ASSERT_EQ(
+      login_api_errors::kAuthenticationFailed,
+      RunFunctionAndReturnError(new LoginUnlockManagedGuestSessionFunction(),
+                                "[\"password\"]"));
+}
+
 }  // namespace extensions
diff --git a/chrome/browser/chromeos/extensions/login_screen/login/login_apitest.cc b/chrome/browser/chromeos/extensions/login_screen/login/login_apitest.cc
index f6ce58f..29432cb1 100644
--- a/chrome/browser/chromeos/extensions/login_screen/login/login_apitest.cc
+++ b/chrome/browser/chromeos/extensions/login_screen/login/login_apitest.cc
@@ -7,35 +7,86 @@
 #include <memory>
 #include <string>
 
+#include "base/run_loop.h"
+#include "base/strings/string_util.h"
+#include "base/values.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/chromeos/extensions/login_screen/login_screen_apitest_base.h"
+#include "chrome/browser/chromeos/login/existing_user_controller.h"
+#include "chrome/browser/chromeos/login/lock/screen_locker.h"
+#include "chrome/browser/chromeos/login/lock/screen_locker_tester.h"
+#include "chrome/browser/chromeos/login/test/fake_gaia_mixin.h"
 #include "chrome/browser/chromeos/login/test/local_policy_test_server_mixin.h"
 #include "chrome/browser/chromeos/login/test/session_manager_state_waiter.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
+#include "chrome/browser/supervised_user/logged_in_user_mixin.h"
 #include "chrome/common/pref_names.h"
+#include "chromeos/cryptohome/cryptohome_parameters.h"
+#include "chromeos/dbus/cryptohome/fake_cryptohome_client.h"
+#include "chromeos/dbus/cryptohome/rpc.pb.h"
+#include "chromeos/dbus/session_manager/fake_session_manager_client.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
-#include "components/policy/proto/chrome_device_policy.pb.h"
+#include "components/policy/core/common/policy_service.h"
+#include "components/policy/policy_constants.h"
 #include "components/prefs/pref_service.h"
 #include "components/session_manager/session_manager_types.h"
 #include "components/user_manager/user_type.h"
 #include "components/version_info/version_info.h"
+#include "content/public/browser/browser_main_parts.h"
 #include "content/public/browser/notification_observer.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/test/test_utils.h"
 #include "extensions/browser/api/test/test_api.h"
-#include "extensions/test/extension_test_message_listener.h"
+#include "extensions/common/extension.h"
+#include "extensions/common/manifest.h"
+#include "net/test/embedded_test_server/embedded_test_server.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace {
 
 constexpr char kAccountId[] = "public-session@test";
+constexpr char kPassword[] = "password";
+constexpr char kWrongPassword[] = "wrong password";
 constexpr char kData[] = "some data";
+constexpr char kInSessionExtensionId[] = "ofcpkomnogjenhfajfjadjmjppbegnad";
+const char kInSessionExtensionUpdateManifestPath[] =
+    "/extensions/api_test/login_screen_apis/update_manifest.xml";
+constexpr char kWrongExtensionId[] = "abcdefghijklmnopqrstuvwxyzabcdef";
+
+// launchManagedGuestSession tests.
 constexpr char kLaunchManagedGuestSession[] = "LoginLaunchManagedGuestSession";
+constexpr char kLaunchManagedGuestSessionWithPassword[] =
+    "LoginLaunchManagedGuestSessionWithPassword";
 constexpr char kLaunchManagedGuestSessionNoAccounts[] =
     "LoginLaunchManagedGuestSessionNoAccounts";
+constexpr char kLaunchManagedGuestSessionAlreadyExistsActiveSession[] =
+    "LoginLaunchManagedGuestSessionAlreadyExistsActiveSession";
+// exitCurrentSession tests.
 constexpr char kExitCurrentSession[] = "LoginExitCurrentSession";
+// fetchDataForNextLoginAttempt tests.
 constexpr char kFetchDataForNextLoginAttempt[] =
     "LoginFetchDataForNextLoginAttempt";
+// lockManagedGuestSession tests.
+constexpr char kLockManagedGuestSessionNotActive[] =
+    "LoginLockManagedGuestSessionNotActive";
+// unlockManagedGuestSession tests.
+constexpr char kUnlockManagedGuestSession[] = "LoginUnlockManagedGuestSession";
+constexpr char kUnlockManagedGuestSessionWrongPassword[] =
+    "LoginUnlockManagedGuestSessionWrongPassword";
+constexpr char kUnlockManagedGuestSessionNotLocked[] =
+    "LoginUnlockManagedGuestSessionNotLocked";
+constexpr char kUnlockManagedGuestSessionNotManagedGuestSession[] =
+    "LoginUnlockManagedGuestSessionNotManagedGuestSession";
+constexpr char kUnlockManagedGuestSessionWrongExtensionId[] =
+    "LoginUnlockManagedGuestSessionWrongExtensionId";
+// In-session extension tests.
+constexpr char kInSessionLoginLockManagedGuestSession[] =
+    "InSessionLoginLockManagedGuestSession";
+constexpr char kInSessionLoginLockManagedGuestSessionNoPermission[] =
+    "InSessionLoginLockManagedGuestSessionNoPermission";
+constexpr char kInSessionUnlockManagedGuestSessionNoPermission[] =
+    "InSessionLoginUnlockManagedGuestSessionNoPermission";
 
 }  // namespace
 
@@ -44,6 +95,11 @@
 class LoginApitest : public LoginScreenApitestBase {
  public:
   LoginApitest() : LoginScreenApitestBase(version_info::Channel::STABLE) {}
+
+  LoginApitest(const LoginApitest&) = delete;
+
+  LoginApitest& operator=(const LoginApitest&) = delete;
+
   ~LoginApitest() override = default;
 
   void SetUpDeviceLocalAccountPolicy() {
@@ -58,22 +114,84 @@
     RefreshDevicePolicy();
   }
 
+  std::unique_ptr<policy::UserPolicyBuilder>
+  MakeInSessionExtensionUserPolicyBuilder() {
+    std::unique_ptr<policy::UserPolicyBuilder> user_policy_builder =
+        std::make_unique<policy::UserPolicyBuilder>();
+    enterprise_management::PolicyData& policy_data =
+        user_policy_builder->policy_data();
+    policy_data.set_public_key_version(1);
+    user_policy_builder->payload()
+        .mutable_extensioninstallforcelist()
+        ->mutable_value()
+        ->add_entries(base::ReplaceStringPlaceholders(
+            "$1;$2",
+            {kInSessionExtensionId,
+             embedded_test_server()
+                 ->GetURL(kInSessionExtensionUpdateManifestPath)
+                 .spec()},
+            nullptr));
+    user_policy_builder->SetDefaultSigningKey();
+
+    return user_policy_builder;
+  }
+
+  void RefreshPolicies() {
+    base::RunLoop run_loop;
+    g_browser_process->policy_service()->RefreshPolicies(
+        run_loop.QuitClosure());
+    run_loop.Run();
+  }
+
+  virtual void SetUpInSessionExtension() {
+    std::unique_ptr<policy::UserPolicyBuilder> user_policy_builder =
+        MakeInSessionExtensionUserPolicyBuilder();
+    enterprise_management::PolicyData& policy_data =
+        user_policy_builder->policy_data();
+    policy_data.set_policy_type(
+        policy::dm_protocol::kChromePublicAccountPolicyType);
+    policy_data.set_username(kAccountId);
+    policy_data.set_settings_entity_id(kAccountId);
+    user_policy_builder->Build();
+
+    ASSERT_TRUE(local_policy_mixin_.server()->UpdatePolicy(
+        policy::dm_protocol::kChromePublicAccountPolicyType, kAccountId,
+        user_policy_builder->payload().SerializeAsString()));
+    session_manager_client()->set_device_local_account_policy(
+        kAccountId, user_policy_builder->GetBlob());
+    RefreshPolicies();
+  }
+
   void SetTestCustomArg(const std::string custom_arg) {
     config_.SetKey("customArg", base::Value(custom_arg));
     extensions::TestGetConfigFunction::set_test_config_state(&config_);
   }
 
+  void LogInWithPassword() {
+    SessionStateWaiter waiter(session_manager::SessionState::ACTIVE);
+    SetTestCustomArg(kPassword);
+    SetUpLoginScreenExtensionAndRunTest(kLaunchManagedGuestSessionWithPassword);
+    waiter.Wait();
+  }
+
+  void SetSessionState(session_manager::SessionState session_state) {
+    session_manager::SessionManager::Get()->SetSessionState(session_state);
+  }
+
+  // Also checks that session is locked.
+  void LockScreen() { screen_locker_tester_.Lock(); }
+
  private:
   chromeos::LocalPolicyTestServerMixin local_policy_mixin_{&mixin_host_};
   base::DictionaryValue config_;
-
-  DISALLOW_COPY_AND_ASSIGN(LoginApitest);
+  ScreenLockerTester screen_locker_tester_;
 };
 
 IN_PROC_BROWSER_TEST_F(LoginApitest, LaunchManagedGuestSession) {
   SetUpDeviceLocalAccountPolicy();
-  SetUpExtensionAndRunTest(kLaunchManagedGuestSession);
-  SessionStateWaiter(session_manager::SessionState::ACTIVE).Wait();
+  SessionStateWaiter waiter(session_manager::SessionState::ACTIVE);
+  SetUpLoginScreenExtensionAndRunTest(kLaunchManagedGuestSession);
+  waiter.Wait();
 
   // Check that the active user is of type |USER_TYPE_PUBLIC_ACCOUNT|.
   // We cannot use the email as an identifier as a different email is generated
@@ -81,10 +199,19 @@
   user_manager::UserManager* user_manager = user_manager::UserManager::Get();
   EXPECT_TRUE(user_manager->GetActiveUser()->GetType() ==
               user_manager::USER_TYPE_PUBLIC_ACCOUNT);
+  EXPECT_FALSE(user_manager->CanCurrentUserLock());
+}
+
+IN_PROC_BROWSER_TEST_F(LoginApitest, LaunchManagedGuestSessionWithPassword) {
+  SetUpDeviceLocalAccountPolicy();
+  LogInWithPassword();
+
+  user_manager::UserManager* user_manager = user_manager::UserManager::Get();
+  EXPECT_TRUE(user_manager->CanCurrentUserLock());
 }
 
 IN_PROC_BROWSER_TEST_F(LoginApitest, LaunchManagedGuestSessionNoAccounts) {
-  SetUpExtensionAndRunTest(kLaunchManagedGuestSessionNoAccounts);
+  SetUpLoginScreenExtensionAndRunTest(kLaunchManagedGuestSessionNoAccounts);
 }
 
 IN_PROC_BROWSER_TEST_F(LoginApitest, ExitCurrentSession) {
@@ -94,7 +221,8 @@
       chrome::NOTIFICATION_APP_TERMINATING,
       content::NotificationService::AllSources());
 
-  SetUpExtensionAndRunTest(kExitCurrentSession, /*assert_test_succeed=*/false);
+  SetUpLoginScreenExtensionAndRunTest(kExitCurrentSession,
+                                      /*assert_test_succeed=*/false);
   termination_waiter.Wait();
 
   PrefService* local_state = g_browser_process->local_state();
@@ -107,10 +235,202 @@
   PrefService* local_state = g_browser_process->local_state();
   local_state->SetString(prefs::kLoginExtensionApiDataForNextLoginAttempt,
                          kData);
-  SetUpExtensionAndRunTest(kFetchDataForNextLoginAttempt);
+  SetUpLoginScreenExtensionAndRunTest(kFetchDataForNextLoginAttempt);
 
   EXPECT_EQ("", local_state->GetString(
                     prefs::kLoginExtensionApiDataForNextLoginAttempt));
 }
 
+IN_PROC_BROWSER_TEST_F(LoginApitest, LockManagedGuestSession) {
+  SetUpDeviceLocalAccountPolicy();
+  LogInWithPassword();
+
+  SetUpTestListeners();
+  SetUpInSessionExtension();
+  SessionStateWaiter waiter(session_manager::SessionState::LOCKED);
+  RunTest(kInSessionLoginLockManagedGuestSession);
+  waiter.Wait();
+}
+
+IN_PROC_BROWSER_TEST_F(LoginApitest, LockManagedGuestSessionNotActive) {
+  SetUpDeviceLocalAccountPolicy();
+  LogInWithPassword();
+
+  // Login screen extensions stop when the session becomes active and start
+  // again when the session is locked. The test extension will be waiting for a
+  // new test after the session is locked.
+  SetUpTestListeners();
+  LockScreen();
+  RunTest(kLockManagedGuestSessionNotActive);
+}
+
+IN_PROC_BROWSER_TEST_F(LoginApitest, LockManagedGuestSessionNoPermission) {
+  SetUpDeviceLocalAccountPolicy();
+  SessionStateWaiter waiter(session_manager::SessionState::ACTIVE);
+  SetUpLoginScreenExtensionAndRunTest(kLaunchManagedGuestSession);
+  waiter.Wait();
+
+  SetUpTestListeners();
+  SetUpInSessionExtension();
+  RunTest(kInSessionLoginLockManagedGuestSessionNoPermission);
+}
+
+IN_PROC_BROWSER_TEST_F(LoginApitest, UnlockManagedGuestSession) {
+  SetUpDeviceLocalAccountPolicy();
+  LogInWithPassword();
+
+  SetUpTestListeners();
+  LockScreen();
+  SessionStateWaiter waiter(session_manager::SessionState::ACTIVE);
+  RunTest(kUnlockManagedGuestSession);
+  waiter.Wait();
+}
+
+IN_PROC_BROWSER_TEST_F(LoginApitest, UnlockManagedGuestSessionLockedWithApi) {
+  SetUpDeviceLocalAccountPolicy();
+  LogInWithPassword();
+
+  SetUpTestListeners();
+  SetUpInSessionExtension();
+  SessionStateWaiter locked_waiter(session_manager::SessionState::LOCKED);
+  RunTest(kInSessionLoginLockManagedGuestSession);
+  locked_waiter.Wait();
+
+  SetUpTestListeners();
+  SessionStateWaiter active_waiter(session_manager::SessionState::ACTIVE);
+  RunTest(kUnlockManagedGuestSession);
+  active_waiter.Wait();
+}
+
+IN_PROC_BROWSER_TEST_F(LoginApitest, UnlockManagedGuestSessionWrongPassword) {
+  // Note: the password check will fail even if the correct password is used as
+  // |FakeCryptohomeClient::CheckKeyEx()| does not check the user session's
+  // cipher blob.
+  FakeCryptohomeClient::Get()->set_enable_auth_check(true);
+  SetUpDeviceLocalAccountPolicy();
+  LogInWithPassword();
+
+  SetTestCustomArg(kWrongPassword);
+  SetUpTestListeners();
+  LockScreen();
+  RunTest(kUnlockManagedGuestSessionWrongPassword);
+}
+
+IN_PROC_BROWSER_TEST_F(LoginApitest, UnlockManagedGuestSessionNoPermission) {
+  SetUpDeviceLocalAccountPolicy();
+  LogInWithPassword();
+
+  SetUpTestListeners();
+  SetUpInSessionExtension();
+  RunTest(kInSessionUnlockManagedGuestSessionNoPermission);
+}
+
+// This test checks that the case where the profile has been created (which
+// sets the |kLoginExtensionApiLaunchExtensionId| pref, but the session is not
+// yet active.
+IN_PROC_BROWSER_TEST_F(LoginApitest, UnlockManagedGuestSessionNotLocked) {
+  SetUpDeviceLocalAccountPolicy();
+  LogInWithPassword();
+
+  SetUpTestListeners();
+  // Manually setting |LOGGED_IN_NOT_ACTIVE| state here as it is difficult to
+  // remain in this state during the login process.
+  SetSessionState(session_manager::SessionState::LOGGED_IN_NOT_ACTIVE);
+  RunTest(kUnlockManagedGuestSessionNotLocked);
+}
+
+IN_PROC_BROWSER_TEST_F(LoginApitest,
+                       UnlockManagedGuestSessionWrongExtensionId) {
+  SetUpDeviceLocalAccountPolicy();
+  LogInWithPassword();
+
+  const user_manager::User* active_user =
+      user_manager::UserManager::Get()->GetActiveUser();
+  Profile* profile =
+      chromeos::ProfileHelper::Get()->GetProfileByUser(active_user);
+  PrefService* prefs = profile->GetPrefs();
+  prefs->SetString(prefs::kLoginExtensionApiLaunchExtensionId,
+                   kWrongExtensionId);
+
+  SetUpTestListeners();
+  LockScreen();
+  RunTest(kUnlockManagedGuestSessionWrongExtensionId);
+}
+
+class LoginApitestWithEnterpriseUser : public LoginApitest {
+ public:
+  LoginApitestWithEnterpriseUser() = default;
+
+  LoginApitestWithEnterpriseUser(const LoginApitestWithEnterpriseUser&) =
+      delete;
+
+  LoginApitestWithEnterpriseUser& operator=(
+      const LoginApitestWithEnterpriseUser&) = delete;
+
+  ~LoginApitestWithEnterpriseUser() override = default;
+
+  void LoginUser() {
+    logged_in_user_mixin_.LogInUser(/*issue_any_scope_token=*/false,
+                                    /*wait_for_active_session=*/true,
+                                    /*request_policy_update=*/true);
+  }
+
+  void SetUpInSessionExtension() override {
+    AccountId account_id = logged_in_user_mixin_.GetAccountId();
+    std::unique_ptr<policy::UserPolicyBuilder> user_policy_builder =
+        MakeInSessionExtensionUserPolicyBuilder();
+    enterprise_management::PolicyData& policy_data =
+        user_policy_builder->policy_data();
+    policy_data.set_policy_type(policy::dm_protocol::kChromeUserPolicyType);
+    policy_data.set_username(account_id.GetUserEmail());
+    policy_data.set_gaia_id(account_id.GetGaiaId());
+    user_policy_builder->Build();
+
+    ASSERT_TRUE(
+        logged_in_user_mixin_.GetLocalPolicyTestServerMixin()->UpdateUserPolicy(
+            user_policy_builder->payload(), account_id.GetUserEmail()));
+    session_manager_client()->set_user_policy(
+        cryptohome::CreateAccountIdentifierFromAccountId(account_id),
+        user_policy_builder->GetBlob());
+    RefreshPolicies();
+  }
+
+ private:
+  // Use a different test server as |LoginApitest| uses the one from
+  // |embedded_test_server()|.
+  net::EmbeddedTestServer test_server_;
+  LoggedInUserMixin logged_in_user_mixin_{
+      &mixin_host_,
+      LoggedInUserMixin::LogInType::kRegular,
+      &test_server_,
+      this,
+      /*should_launch_browser=*/true,
+      AccountId::FromUserEmailGaiaId(FakeGaiaMixin::kEnterpriseUser1,
+                                     FakeGaiaMixin::kEnterpriseUser1GaiaId)};
+};
+
+IN_PROC_BROWSER_TEST_F(LoginApitestWithEnterpriseUser,
+                       LaunchManagedGuestSessionAlreadyExistsActiveSession) {
+  LoginUser();
+  LockScreen();
+  SetUpLoginScreenExtensionAndRunTest(
+      kLaunchManagedGuestSessionAlreadyExistsActiveSession);
+}
+
+IN_PROC_BROWSER_TEST_F(LoginApitestWithEnterpriseUser,
+                       UnlockManagedGuestSessionNotManagedGuestSession) {
+  LoginUser();
+  LockScreen();
+  SetUpLoginScreenExtensionAndRunTest(
+      kUnlockManagedGuestSessionNotManagedGuestSession);
+}
+
+IN_PROC_BROWSER_TEST_F(LoginApitestWithEnterpriseUser,
+                       LockManagedGuestSessionNotManagedGuestSession) {
+  LoginUser();
+  SetUpTestListeners();
+  SetUpInSessionExtension();
+  RunTest(kInSessionLoginLockManagedGuestSessionNoPermission);
+}
+
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/extensions/login_screen/login_screen_apitest_base.cc b/chrome/browser/chromeos/extensions/login_screen/login_screen_apitest_base.cc
index 0830e2a..e3ed9458 100644
--- a/chrome/browser/chromeos/extensions/login_screen/login_screen_apitest_base.cc
+++ b/chrome/browser/chromeos/extensions/login_screen/login_screen_apitest_base.cc
@@ -28,28 +28,43 @@
       extension_id_(kExtensionId),
       extension_update_manifest_path_(kExtensionUpdateManifestPath) {}
 
-LoginScreenApitestBase::~LoginScreenApitestBase() = default;
-
-void LoginScreenApitestBase::SetUpExtensionAndRunTest(
-    const std::string& testName) {
-  SetUpExtensionAndRunTest(testName, /*assert_test_succeed=*/true);
+LoginScreenApitestBase::~LoginScreenApitestBase() {
+  catcher_.reset();
+  listener_.reset();
 }
-void LoginScreenApitestBase::SetUpExtensionAndRunTest(
-    const std::string& testName,
-    bool assert_test_succeed) {
-  extensions::ResultCatcher catcher;
 
-  ExtensionTestMessageListener listener(kWaitingForTestName,
-                                        /*will_reply=*/true);
+void LoginScreenApitestBase::SetUpTestListeners() {
+  catcher_ = std::make_unique<extensions::ResultCatcher>();
+  listener_ =
+      std::make_unique<ExtensionTestMessageListener>(kWaitingForTestName,
+                                                     /*will_reply=*/true);
+}
 
-  AddExtensionForForceInstallation(extension_id_,
-                                   extension_update_manifest_path_);
+void LoginScreenApitestBase::RunTest(const std::string& test_name) {
+  RunTest(test_name, /*assert_test_succeed=*/true);
+}
 
-  ASSERT_TRUE(listener.WaitUntilSatisfied());
-  listener.Reply(testName);
+void LoginScreenApitestBase::RunTest(const std::string& test_name,
+                                     bool assert_test_succeed) {
+  ASSERT_TRUE(listener_->WaitUntilSatisfied());
+  listener_->Reply(test_name);
 
   if (assert_test_succeed)
-    ASSERT_TRUE(catcher.GetNextResult());
+    ASSERT_TRUE(catcher_->GetNextResult());
+}
+
+void LoginScreenApitestBase::SetUpLoginScreenExtensionAndRunTest(
+    const std::string& test_name) {
+  SetUpLoginScreenExtensionAndRunTest(test_name, /*assert_test_succeed=*/true);
+}
+
+void LoginScreenApitestBase::SetUpLoginScreenExtensionAndRunTest(
+    const std::string& test_name,
+    bool assert_test_succeed) {
+  SetUpTestListeners();
+  AddExtensionForForceInstallation(extension_id_,
+                                   extension_update_manifest_path_);
+  RunTest(test_name, assert_test_succeed);
 }
 
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/extensions/login_screen/login_screen_apitest_base.h b/chrome/browser/chromeos/extensions/login_screen/login_screen_apitest_base.h
index 01d7c4c..fe442d9 100644
--- a/chrome/browser/chromeos/extensions/login_screen/login_screen_apitest_base.h
+++ b/chrome/browser/chromeos/extensions/login_screen/login_screen_apitest_base.h
@@ -5,11 +5,19 @@
 #ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_LOGIN_SCREEN_LOGIN_SCREEN_APITEST_BASE_H_
 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_LOGIN_SCREEN_LOGIN_SCREEN_APITEST_BASE_H_
 
+#include <memory>
 #include <string>
 
+#include "base/memory/weak_ptr.h"
 #include "chrome/browser/chromeos/policy/signin_profile_extensions_policy_test_base.h"
 #include "components/version_info/version_info.h"
 
+class ExtensionTestMessageListener;
+
+namespace extensions {
+class ResultCatcher;
+}  // namespace extensions
+
 namespace chromeos {
 
 // This browser test uses a test extension to test certain API calls on the
@@ -24,18 +32,27 @@
     : public policy::SigninProfileExtensionsPolicyTestBase {
  public:
   explicit LoginScreenApitestBase(version_info::Channel channel);
+
+  LoginScreenApitestBase(const LoginScreenApitestBase&) = delete;
+
+  LoginScreenApitestBase& operator=(const LoginScreenApitestBase&) = delete;
+
   ~LoginScreenApitestBase() override;
 
-  void SetUpExtensionAndRunTest(const std::string& testName);
+  void SetUpTestListeners();
 
-  void SetUpExtensionAndRunTest(const std::string& testName,
-                                bool assert_test_succeed);
+  void RunTest(const std::string& test_name);
+  void RunTest(const std::string& test_name, bool assert_test_succeed);
+
+  void SetUpLoginScreenExtensionAndRunTest(const std::string& test_name);
+  void SetUpLoginScreenExtensionAndRunTest(const std::string& test_name,
+                                           bool assert_test_succeed);
 
  protected:
   const std::string extension_id_;
   const std::string extension_update_manifest_path_;
-
-  DISALLOW_COPY_AND_ASSIGN(LoginScreenApitestBase);
+  std::unique_ptr<extensions::ResultCatcher> catcher_;
+  std::unique_ptr<ExtensionTestMessageListener> listener_;
 };
 
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/extensions/login_screen/login_screen_ui/login_screen_ui_apitest.cc b/chrome/browser/chromeos/extensions/login_screen/login_screen_ui/login_screen_ui_apitest.cc
index eb284b2..e93fd4fb 100644
--- a/chrome/browser/chromeos/extensions/login_screen/login_screen_ui/login_screen_ui_apitest.cc
+++ b/chrome/browser/chromeos/extensions/login_screen/login_screen_ui/login_screen_ui_apitest.cc
@@ -67,7 +67,7 @@
 };
 
 IN_PROC_BROWSER_TEST_F(LoginScreenUiApitest, ExtensionCanOpenWindow) {
-  SetUpExtensionAndRunTest(kCanOpenWindow);
+  SetUpLoginScreenExtensionAndRunTest(kCanOpenWindow);
   ASSERT_TRUE(HasOpenWindow());
   // userCanClose defaults to false
   EXPECT_TRUE(IsMovementDisabled());
@@ -77,22 +77,22 @@
 
 IN_PROC_BROWSER_TEST_F(LoginScreenUiApitest,
                        ExtensionCannotOpenMultipleWindows) {
-  SetUpExtensionAndRunTest(kCannotOpenMultipleWindows);
+  SetUpLoginScreenExtensionAndRunTest(kCannotOpenMultipleWindows);
   EXPECT_TRUE(HasOpenWindow());
 }
 
 IN_PROC_BROWSER_TEST_F(LoginScreenUiApitest, ExtensionCanOpenAndCloseWindow) {
-  SetUpExtensionAndRunTest(kCanOpenAndCloseWindow);
+  SetUpLoginScreenExtensionAndRunTest(kCanOpenAndCloseWindow);
   EXPECT_FALSE(HasOpenWindow());
 }
 
 IN_PROC_BROWSER_TEST_F(LoginScreenUiApitest, ExtensionCannotCloseNoWindow) {
-  SetUpExtensionAndRunTest(kCannotCloseNoWindow);
+  SetUpLoginScreenExtensionAndRunTest(kCannotCloseNoWindow);
   EXPECT_FALSE(HasOpenWindow());
 }
 
 IN_PROC_BROWSER_TEST_F(LoginScreenUiApitest, UserCanCloseWindow) {
-  SetUpExtensionAndRunTest(kUserCanCloseWindow);
+  SetUpLoginScreenExtensionAndRunTest(kUserCanCloseWindow);
   ASSERT_TRUE(HasOpenWindow());
   EXPECT_TRUE(IsMovementDisabled());
   EXPECT_TRUE(CanCloseDialog());
@@ -100,7 +100,7 @@
 }
 
 IN_PROC_BROWSER_TEST_F(LoginScreenUiApitest, UserCannotCloseWindow) {
-  SetUpExtensionAndRunTest(kUserCannotCloseWindow);
+  SetUpLoginScreenExtensionAndRunTest(kUserCannotCloseWindow);
   ASSERT_TRUE(HasOpenWindow());
   EXPECT_TRUE(IsMovementDisabled());
   EXPECT_FALSE(CanCloseDialog());
diff --git a/chrome/browser/chromeos/extensions/login_screen/storage_apitest.cc b/chrome/browser/chromeos/extensions/login_screen/storage_apitest.cc
index 4239ff2..efd5c7b 100644
--- a/chrome/browser/chromeos/extensions/login_screen/storage_apitest.cc
+++ b/chrome/browser/chromeos/extensions/login_screen/storage_apitest.cc
@@ -28,15 +28,15 @@
 };
 
 IN_PROC_BROWSER_TEST_F(StorageApitest, CannotAccessLocalStorage) {
-  SetUpExtensionAndRunTest(kCannotAccessLocalStorage);
+  SetUpLoginScreenExtensionAndRunTest(kCannotAccessLocalStorage);
 }
 
 IN_PROC_BROWSER_TEST_F(StorageApitest, CannotAccessSyncStorage) {
-  SetUpExtensionAndRunTest(kCannotAccessSyncStorage);
+  SetUpLoginScreenExtensionAndRunTest(kCannotAccessSyncStorage);
 }
 
 IN_PROC_BROWSER_TEST_F(StorageApitest, CanAccessManagedStorage) {
-  SetUpExtensionAndRunTest(kCanAccessManagedStorage);
+  SetUpLoginScreenExtensionAndRunTest(kCanAccessManagedStorage);
 }
 
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
index 132d5ae..5adbdd26 100644
--- a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
+++ b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
@@ -465,6 +465,7 @@
         TestCase("openQuickViewRemovablePartitions"),
         TestCase("openQuickViewMtp"),
         TestCase("openQuickViewTabIndexImage"),
+        TestCase("openQuickViewBrokenImage"),
         TestCase("pressEnterOnInfoBoxToOpenClose"),
         TestCase("closeQuickView"),
         TestCase("cantOpenQuickViewWithMultipleFiles"),
diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc
index b1a8697..7c7150e 100644
--- a/chrome/browser/chromeos/login/existing_user_controller.cc
+++ b/chrome/browser/chromeos/login/existing_user_controller.cc
@@ -75,6 +75,7 @@
 #include "chrome/common/channel_info.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/chrome_switches.h"
+#include "chrome/common/pref_names.h"
 #include "chrome/common/url_constants.h"
 #include "chrome/grit/generated_resources.h"
 #include "chromeos/constants/chromeos_switches.h"
@@ -322,6 +323,18 @@
   return GetLoginDisplayHost()->GetLoginDisplay();
 }
 
+void SetLoginExtensionApiLaunchExtensionIdPref(const AccountId& account_id,
+                                               const std::string extension_id) {
+  const user_manager::User* user =
+      user_manager::UserManager::Get()->FindUser(account_id);
+  DCHECK(user);
+  Profile* profile = chromeos::ProfileHelper::Get()->GetProfileByUser(user);
+  DCHECK(profile);
+  PrefService* prefs = profile->GetPrefs();
+  prefs->SetString(prefs::kLoginExtensionApiLaunchExtensionId, extension_id);
+  prefs->CommitPendingWrite();
+}
+
 }  // namespace
 
 // Utility class used to wait for a Public Session policy store load if public
@@ -971,6 +984,17 @@
     DeviceSettingsService::Get()->MarkWillEstablishConsumerOwnership();
   }
 
+  if (user_context.IsLockableManagedGuestSession()) {
+    CHECK(user_context.GetUserType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT);
+    user_manager::User* user =
+        user_manager::UserManager::Get()->FindUserAndModify(
+            user_context.GetAccountId());
+    DCHECK(user);
+    user->AddProfileCreatedObserver(base::BindOnce(
+        &SetLoginExtensionApiLaunchExtensionIdPref, user_context.GetAccountId(),
+        user_context.GetManagedGuestSessionLaunchExtensionId()));
+  }
+
   UserSessionManager::StartSessionType start_session_type =
       UserAddingScreen::Get()->IsRunning()
           ? UserSessionManager::SECONDARY_USER_SESSION
diff --git a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
index b12675f2..415b7ba 100644
--- a/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
+++ b/chrome/browser/chromeos/login/users/chrome_user_manager_impl.cc
@@ -1319,6 +1319,15 @@
 
     if (user->HasGaiaAccount())
       GetUserImageManager(user->GetAccountId())->UserProfileCreated();
+
+    // Allow managed guest session user to lock if
+    // |kLoginExtensionApiLaunchExtensionId| is set.
+    if (user->GetType() == user_manager::USER_TYPE_PUBLIC_ACCOUNT &&
+        !profile->GetPrefs()
+             ->GetString(prefs::kLoginExtensionApiLaunchExtensionId)
+             .empty()) {
+      user->set_can_lock(true);
+    }
   }
 
   // If there is pending user switch, do it now.
diff --git a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc
index ada21a54..60d1fa2 100644
--- a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc
+++ b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc
@@ -530,7 +530,7 @@
 }
 
 bool FakeChromeUserManager::CanCurrentUserLock() const {
-  return false;
+  return current_user_can_lock_;
 }
 
 bool FakeChromeUserManager::IsUserLoggedIn() const {
diff --git a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h
index 5dd0f92..a3a46b7 100644
--- a/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h
+++ b/chrome/browser/chromeos/login/users/fake_chrome_user_manager.h
@@ -204,6 +204,10 @@
     is_enterprise_managed_ = is_enterprise_managed;
   }
 
+  void set_current_user_can_lock(bool current_user_can_lock) {
+    current_user_can_lock_ = current_user_can_lock;
+  }
+
  private:
   // Lazily creates default user flow.
   UserFlow* GetDefaultUserFlow() const;
@@ -237,6 +241,9 @@
   // Whether the device is enterprise managed.
   bool is_enterprise_managed_ = false;
 
+  // Whether the current user can lock.
+  bool current_user_can_lock_ = false;
+
   DISALLOW_COPY_AND_ASSIGN(FakeChromeUserManager);
 };
 
diff --git a/chrome/browser/chromeos/policy/signin_profile_extensions_policy_browsertest.cc b/chrome/browser/chromeos/policy/signin_profile_extensions_policy_browsertest.cc
index a17f253..8aaefa8 100644
--- a/chrome/browser/chromeos/policy/signin_profile_extensions_policy_browsertest.cc
+++ b/chrome/browser/chromeos/policy/signin_profile_extensions_policy_browsertest.cc
@@ -7,10 +7,14 @@
 
 #include "base/bind.h"
 #include "base/macros.h"
+#include "base/run_loop.h"
+#include "base/strings/stringprintf.h"
+#include "base/version.h"
 #include "chrome/browser/chromeos/policy/signin_profile_extensions_policy_test_base.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/extensions/crx_installer.h"
 #include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/profiles/profile_manager.h"
 #include "components/version_info/version_info.h"
 #include "content/public/browser/browser_context.h"
@@ -24,8 +28,13 @@
 #include "extensions/browser/notification_types.h"
 #include "extensions/browser/test_extension_registry_observer.h"
 #include "extensions/common/extension.h"
+#include "extensions/common/extension_set.h"
 #include "extensions/common/features/feature_channel.h"
+#include "net/http/http_status_code.h"
+#include "net/test/embedded_test_server/http_request.h"
+#include "net/test/embedded_test_server/http_response.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "url/gurl.h"
 
 namespace content {
 class StoragePartition;
@@ -41,8 +50,10 @@
 // * The manual testing app which is whitelisted for running in the sign-in
 //   profile:
 const char kWhitelistedAppId[] = "bjaiihebfngildkcjkjckolinodhliff";
-const char kWhitelistedAppUpdateManifestPath[] =
-    "/extensions/signin_screen_manual_test_app/update_manifest.xml";
+const char kWhitelistedAppUpdateManifestPathFormat[] =
+    "/extensions/signin_screen_manual_test_app/crx/%s/update_manifest.xml";
+const char kWhitelistedAppLatestVersion[] = "4.0";
+const char kWhitelistedAppOlderVersion[] = "3.0";
 // * A trivial test app which is NOT whitelisted for running in the sign-in
 //   profile:
 const char kNotWhitelistedAppId[] = "mockapnacjbcdncmpkjngjalkhphojek";
@@ -59,6 +70,13 @@
 const char kNotWhitelistedExtensionUpdateManifestPath[] =
     "/extensions/trivial_extension/update_manifest.xml";
 
+// Returns the update manifest path for the whitelisted testing app with the
+// given version.
+std::string GetWhitelistedAppUpdateManifestPath(const std::string& version) {
+  return base::StringPrintf(kWhitelistedAppUpdateManifestPathFormat,
+                            version.c_str());
+}
+
 // Observer that allows waiting for an installation failure of a specific
 // extension/app.
 // TODO(emaxx): Extract this into a more generic helper class for using in other
@@ -127,6 +145,50 @@
   DISALLOW_COPY_AND_ASSIGN(ExtensionBackgroundPageReadyObserver);
 };
 
+// Observer that allows waiting until the specified version of the given
+// extension/app gets installed.
+class ExtensionInstallObserver final
+    : public extensions::ExtensionRegistryObserver {
+ public:
+  ExtensionInstallObserver(Profile* profile,
+                           const std::string& extension_id,
+                           const base::Version& awaited_version)
+      : profile_(profile),
+        extension_id_(extension_id),
+        awaited_version_(awaited_version) {
+    extensions::ExtensionRegistry::Get(profile)->AddObserver(this);
+  }
+
+  ExtensionInstallObserver(const ExtensionInstallObserver&) = delete;
+  ExtensionInstallObserver& operator=(const ExtensionInstallObserver&) = delete;
+
+  ~ExtensionInstallObserver() override {
+    extensions::ExtensionRegistry::Get(profile_)->RemoveObserver(this);
+  }
+
+  // Should be called no more than once.
+  void Wait() {
+    // Note that the expected event could have already been observed before this
+    // point, in which case the run loop will exit immediately.
+    run_loop_.Run();
+  }
+
+  void OnExtensionInstalled(content::BrowserContext* browser_context,
+                            const extensions::Extension* extension,
+                            bool is_update) override {
+    if (extension->id() == extension_id_ &&
+        extension->version() == awaited_version_) {
+      run_loop_.Quit();
+    }
+  }
+
+ private:
+  Profile* const profile_;
+  const std::string extension_id_;
+  const base::Version awaited_version_;
+  base::RunLoop run_loop_;
+};
+
 // Class for testing sign-in profile apps/extensions that are installed via the
 // device policy under different browser channels.
 class SigninProfileExtensionsPolicyPerChannelTest
@@ -160,8 +222,9 @@
   extensions::TestExtensionRegistryObserver registry_observer(
       extensions::ExtensionRegistry::Get(profile), kWhitelistedAppId);
 
-  AddExtensionForForceInstallation(kWhitelistedAppId,
-                                   kWhitelistedAppUpdateManifestPath);
+  AddExtensionForForceInstallation(
+      kWhitelistedAppId,
+      GetWhitelistedAppUpdateManifestPath(kWhitelistedAppLatestVersion));
 
   registry_observer.WaitForExtensionLoaded();
   const extensions::Extension* extension =
@@ -299,8 +362,9 @@
   extensions::TestExtensionRegistryObserver registry_observer2(
       extensions::ExtensionRegistry::Get(profile), kNotWhitelistedAppId);
 
-  AddExtensionForForceInstallation(kWhitelistedAppId,
-                                   kWhitelistedAppUpdateManifestPath);
+  AddExtensionForForceInstallation(
+      kWhitelistedAppId,
+      GetWhitelistedAppUpdateManifestPath(kWhitelistedAppLatestVersion));
   AddExtensionForForceInstallation(kNotWhitelistedAppId,
                                    kNotWhitelistedUpdateManifestPath);
 
@@ -318,8 +382,9 @@
   ExtensionBackgroundPageReadyObserver page_observer_for_extension(
       kWhitelistedExtensionId);
 
-  AddExtensionForForceInstallation(kWhitelistedAppId,
-                                   kWhitelistedAppUpdateManifestPath);
+  AddExtensionForForceInstallation(
+      kWhitelistedAppId,
+      GetWhitelistedAppUpdateManifestPath(kWhitelistedAppLatestVersion));
   AddExtensionForForceInstallation(kWhitelistedExtensionId,
                                    kWhitelistedExtensionUpdateManifestPath);
 
@@ -355,8 +420,9 @@
             extensions::ExtensionRegistry::Get(GetInitialProfile()),
             kWhitelistedAppId);
 
-    AddExtensionForForceInstallation(kWhitelistedAppId,
-                                     kWhitelistedAppUpdateManifestPath);
+    AddExtensionForForceInstallation(
+        kWhitelistedAppId,
+        GetWhitelistedAppUpdateManifestPath(kWhitelistedAppLatestVersion));
 
     // In the non-PRE test, this simulates inability to make network requests
     // for fetching the extension update manifest and CRX files. In the PRE test
@@ -395,4 +461,135 @@
   WaitForTestExtensionLoaded();
 }
 
+// Class for testing the auto update of the sign-in profile extensions.
+class SigninProfileExtensionsAutoUpdatePolicyTest
+    : public SigninProfileExtensionsPolicyTest {
+ public:
+  SigninProfileExtensionsAutoUpdatePolicyTest() {
+    embedded_test_server()->RegisterRequestHandler(base::Bind(
+        &SigninProfileExtensionsAutoUpdatePolicyTest::HandleTestServerRequest,
+        base::Unretained(this)));
+  }
+
+  void SetUpOnMainThread() override {
+    SigninProfileExtensionsPolicyTest::SetUpOnMainThread();
+
+    test_extension_registry_observer_ =
+        std::make_unique<extensions::TestExtensionRegistryObserver>(
+            extensions::ExtensionRegistry::Get(GetInitialProfile()),
+            kWhitelistedAppId);
+    test_extension_latest_version_install_observer_ =
+        std::make_unique<ExtensionInstallObserver>(
+            GetInitialProfile(), kWhitelistedAppId,
+            base::Version(kWhitelistedAppLatestVersion));
+
+    AddExtensionForForceInstallation(kWhitelistedAppId,
+                                     kRedirectingUpdateManifestPath);
+  }
+
+  void TearDownOnMainThread() override {
+    test_extension_latest_version_install_observer_.reset();
+    test_extension_registry_observer_.reset();
+    SigninProfileExtensionsPolicyTest::TearDownOnMainThread();
+  }
+
+  // Enables serving the test extension's update manifest at the specified
+  // version.
+  void StartServingTestExtension(const std::string& extension_version) {
+    served_extension_version_ = extension_version;
+  }
+
+  void WaitForTestExtensionLoaded() {
+    test_extension_registry_observer_->WaitForExtensionLoaded();
+  }
+
+  void WaitForTestExtensionLatestVersionInstalled() {
+    test_extension_latest_version_install_observer_->Wait();
+  }
+
+  base::Version GetTestExtensionVersion() {
+    const extensions::Extension* const extension =
+        extensions::ExtensionRegistry::Get(GetInitialProfile())
+            ->enabled_extensions()
+            .GetByID(kWhitelistedAppId);
+    if (!extension)
+      return base::Version();
+    return extension->version();
+  }
+
+ private:
+  // Path on the embedded test server that redirects to the update manifest of
+  // the test extension for the version that is currently served.
+  const std::string kRedirectingUpdateManifestPath =
+      "/redirecting-update-manifest-path.xml";
+
+  // Handler for the embedded test server. Provides special behavior for the
+  // test extension's update manifest URL in accordance to
+  // |served_extension_version_|.
+  std::unique_ptr<net::test_server::HttpResponse> HandleTestServerRequest(
+      const net::test_server::HttpRequest& request) {
+    if (request.GetURL().path() != kRedirectingUpdateManifestPath)
+      return nullptr;
+    if (served_extension_version_.empty()) {
+      // No extension is served now, so return an error.
+      auto response = std::make_unique<net::test_server::BasicHttpResponse>();
+      response->set_code(net::HTTP_INTERNAL_SERVER_ERROR);
+      return response;
+    }
+    // Redirect to the XML file for the corresponding version.
+    auto response = std::make_unique<net::test_server::BasicHttpResponse>();
+    response->set_code(net::HTTP_TEMPORARY_REDIRECT);
+    response->AddCustomHeader("Location",
+                              embedded_test_server()
+                                  ->GetURL(GetWhitelistedAppUpdateManifestPath(
+                                      served_extension_version_))
+                                  .spec());
+    return response;
+  }
+
+  // Specifies which version of the test extension needs to be served. An empty
+  // string means that no version is served.
+  std::string served_extension_version_;
+
+  std::unique_ptr<extensions::TestExtensionRegistryObserver>
+      test_extension_registry_observer_;
+  std::unique_ptr<ExtensionInstallObserver>
+      test_extension_latest_version_install_observer_;
+};
+
+// This is the first preparation step for the actual test. Here the old version
+// of the whitelisted app is served, and it gets installed into the sign-in
+// profile.
+IN_PROC_BROWSER_TEST_F(SigninProfileExtensionsAutoUpdatePolicyTest,
+                       PRE_PRE_Test) {
+  StartServingTestExtension(kWhitelistedAppOlderVersion);
+  WaitForTestExtensionLoaded();
+  EXPECT_EQ(GetTestExtensionVersion(),
+            base::Version(kWhitelistedAppOlderVersion));
+}
+
+// This is the second preparation step for the actual test. Here the new version
+// of the app is served, and it gets fetched and installed.
+IN_PROC_BROWSER_TEST_F(SigninProfileExtensionsAutoUpdatePolicyTest, PRE_Test) {
+  // Let the extensions system to load the previously fetched version before
+  // starting to serve the newer version, to avoid hitting flaky DCHECKs in the
+  // extensions system internals (see https://crbug.com/810799).
+  WaitForTestExtensionLoaded();
+  EXPECT_EQ(GetTestExtensionVersion(),
+            base::Version(kWhitelistedAppOlderVersion));
+
+  // Start serving the newer version and verify that it gets installed.
+  StartServingTestExtension(kWhitelistedAppLatestVersion);
+  WaitForTestExtensionLatestVersionInstalled();
+}
+
+// This is the actual test. Here we verify that the new version of the app, as
+// fetched in the PRE_Test, gets launched even in the "offline" mode (since
+// we're not serving any version of the extension in this part of the test).
+IN_PROC_BROWSER_TEST_F(SigninProfileExtensionsAutoUpdatePolicyTest, Test) {
+  WaitForTestExtensionLoaded();
+  EXPECT_EQ(GetTestExtensionVersion(),
+            base::Version(kWhitelistedAppLatestVersion));
+}
+
 }  // namespace policy
diff --git a/chrome/browser/chromeos/preferences.cc b/chrome/browser/chromeos/preferences.cc
index e776b75..e2840460 100644
--- a/chrome/browser/chromeos/preferences.cc
+++ b/chrome/browser/chromeos/preferences.cc
@@ -418,6 +418,11 @@
 
   registry->RegisterBooleanPref(prefs::kSettingsShowBrowserBanner, true);
   registry->RegisterBooleanPref(prefs::kSettingsShowOSBanner, true);
+
+  // This pref is a per-session pref and must not be synced.
+  registry->RegisterStringPref(prefs::kLoginExtensionApiLaunchExtensionId,
+                               std::string(),
+                               PrefRegistry::NO_REGISTRATION_FLAGS);
 }
 
 void Preferences::InitUserPrefs(sync_preferences::PrefServiceSyncable* prefs) {
diff --git a/chrome/browser/chromeos/wilco_dtc_supportd/wilco_dtc_supportd_messaging.cc b/chrome/browser/chromeos/wilco_dtc_supportd/wilco_dtc_supportd_messaging.cc
index 2ce7688..13c49793 100644
--- a/chrome/browser/chromeos/wilco_dtc_supportd/wilco_dtc_supportd_messaging.cc
+++ b/chrome/browser/chromeos/wilco_dtc_supportd/wilco_dtc_supportd_messaging.cc
@@ -43,7 +43,7 @@
 // Note: the list size must be kept in sync with
 // |kWilcoDtcSupportdHostOriginsSize|.
 const char* const kWilcoDtcSupportdHostOrigins[] = {
-    "chrome-extension://okdnlenpdegbpdgniggponebnbkbeeca/"};
+    "chrome-extension://emelalhagcpibaiiiijjlkmhhbekaidg/"};
 
 // Size of |kWilcoDtcSupportdHostOrigins| array.
 const size_t kWilcoDtcSupportdHostOriginsSize =
diff --git a/chrome/browser/extensions/tab_helper.cc b/chrome/browser/extensions/tab_helper.cc
index 8eae5786..3e0588d 100644
--- a/chrome/browser/extensions/tab_helper.cc
+++ b/chrome/browser/extensions/tab_helper.cc
@@ -27,6 +27,7 @@
 #include "chrome/browser/ui/browser_dialogs.h"
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/web_applications/components/web_app_helpers.h"
+#include "chrome/common/buildflags.h"
 #include "chrome/common/extensions/extension_constants.h"
 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
 #include "chrome/common/render_messages.h"
@@ -59,6 +60,11 @@
 #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
 #include "url/url_constants.h"
 
+#if BUILDFLAG(ENABLE_SESSION_SERVICE)
+#include "chrome/browser/sessions/session_service.h"
+#include "chrome/browser/sessions/session_service_factory.h"
+#endif
+
 using content::NavigationController;
 using content::NavigationEntry;
 using content::WebContents;
@@ -113,10 +119,19 @@
 
   UpdateExtensionAppIcon(extension_app_);
 
+#if BUILDFLAG(ENABLE_SESSION_SERVICE)
   if (extension_app_) {
-    SessionTabHelper::FromWebContents(web_contents())
-        ->SetTabExtensionAppID(GetAppId());
+    SessionService* session_service = SessionServiceFactory::GetForProfile(
+        Profile::FromBrowserContext(web_contents()->GetBrowserContext()));
+    if (session_service) {
+      SessionTabHelper* session_tab_helper =
+          SessionTabHelper::FromWebContents(web_contents());
+      session_service->SetTabExtensionAppID(session_tab_helper->window_id(),
+                                            session_tab_helper->session_id(),
+                                            GetAppId());
+    }
   }
+#endif
 }
 
 void TabHelper::SetExtensionAppById(const ExtensionId& extension_app_id) {
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index bcb2a07..ec1c48e 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -2090,6 +2090,11 @@
     "expiry_milestone": 83
   },
   {
+    "name": "enable-webassembly-tiering",
+    "owners": [ "clemensb", "wasm-team@google.com" ],
+    "expiry_milestone": 86
+  },
+  {
     "name": "enable-webgl-draft-extensions",
     "owners": [ "webgl-team@google.com" ],
     // This flag is the only way for end users to test upcoming WebGL
@@ -3393,6 +3398,11 @@
     "expiry_milestone": 77
   },
   {
+    "name": "sync-setup-friendly-settings",
+    "owners": ["msalama"],
+    "expiry_milestone": 84
+  },
+  {
     "name": "sync-wifi-configurations",
     "owners": ["jonmann", "cros-system-services@google.com"],
     "expiry_milestone": 85
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index aa265543..7b472a3 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -992,6 +992,11 @@
     "Enables support for the WebAssembly Threads proposal. Implies "
     "#shared-array-buffer and #enable-webassembly.";
 
+const char kEnableWasmTieringName[] = "WebAssembly tiering";
+const char kEnableWasmTieringDescription[] =
+    "Enables tiered compilation of WebAssembly (will tier up to TurboFan if "
+    "#enable-webassembly-baseline is enabled.";
+
 const char kEvDetailsInPageInfoName[] = "EV certificate details in Page Info.";
 const char kEvDetailsInPageInfoDescription[] =
     "Shows the EV certificate details in the Page Info bubble.";
@@ -3053,6 +3058,10 @@
     "Shows a Google icon next to context menu items powered by Google "
     "services.";
 
+const char kSyncSetupFriendlySettingsName[] = "Sync setup friendly settings";
+const char kSyncSetupFriendlySettingsDescription[] =
+    "Enable the new sync setup friendly settings";
+
 #endif  // !defined(OS_ANDROID)
 
 // Windows ---------------------------------------------------------------------
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index efaae4a4..01c78e8 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -594,6 +594,9 @@
 extern const char kEnableWasmThreadsName[];
 extern const char kEnableWasmThreadsDescription[];
 
+extern const char kEnableWasmTieringName[];
+extern const char kEnableWasmTieringDescription[];
+
 extern const char kEvDetailsInPageInfoName[];
 extern const char kEvDetailsInPageInfoDescription[];
 
@@ -1786,6 +1789,9 @@
 extern const char kGoogleBrandedContextMenuName[];
 extern const char kGoogleBrandedContextMenuDescription[];
 
+extern const char kSyncSetupFriendlySettingsName[];
+extern const char kSyncSetupFriendlySettingsDescription[];
+
 #endif  // defined(OS_ANDROID)
 
 // Windows --------------------------------------------------------------------
diff --git a/chrome/browser/metrics/BUILD.gn b/chrome/browser/metrics/BUILD.gn
index 5401072..eec3866 100644
--- a/chrome/browser/metrics/BUILD.gn
+++ b/chrome/browser/metrics/BUILD.gn
@@ -4,6 +4,34 @@
 
 import("//components/metrics/generate_expired_histograms_array.gni")
 
+if (!is_android) {
+  static_library("test_support") {
+    testonly = true
+    sources = [
+      "testing/demographic_metrics_test_utils.cc",
+      "testing/demographic_metrics_test_utils.h",
+      "testing/sync_metrics_test_utils.cc",
+      "testing/sync_metrics_test_utils.h",
+    ]
+
+    deps = [
+      "//base",
+      "//chrome/browser",
+      "//components/network_time",
+      "//components/prefs",
+      "//components/signin/public/identity_manager",
+      "//components/sync",
+      "//components/sync/base",
+      "//components/sync/test/fake_server",
+      "//third_party/metrics_proto",
+    ]
+
+    if (!is_fuchsia) {
+      deps += [ "//chrome/test:sync_integration_test_support" ]
+    }
+  }
+}
+
 generate_expired_histograms_array("expired_histograms_array") {
   inputs = [
     "//tools/metrics/histograms/histograms.xml",
diff --git a/chrome/browser/metrics/metrics_service_user_demographics_browsertest.cc b/chrome/browser/metrics/metrics_service_user_demographics_browsertest.cc
new file mode 100644
index 0000000..2122354
--- /dev/null
+++ b/chrome/browser/metrics/metrics_service_user_demographics_browsertest.cc
@@ -0,0 +1,187 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/metrics/metrics_service.h"
+
+#include <string>
+#include <vector>
+
+#include "base/command_line.h"
+#include "base/feature_list.h"
+#include "base/memory/weak_ptr.h"
+#include "base/optional.h"
+#include "base/test/metrics/histogram_tester.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
+#include "chrome/browser/metrics/chrome_metrics_services_manager_client.h"
+#include "chrome/browser/metrics/testing/demographic_metrics_test_utils.h"
+#include "chrome/browser/metrics/testing/sync_metrics_test_utils.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_manager.h"
+#include "chrome/browser/sync/test/integration/profile_sync_service_harness.h"
+#include "chrome/browser/sync/test/integration/sync_test.h"
+#include "components/metrics/delegating_provider.h"
+#include "components/metrics/demographic_metrics_provider.h"
+#include "components/metrics/metrics_switches.h"
+#include "components/metrics_services_manager/metrics_services_manager.h"
+#include "components/sync/driver/sync_user_settings.h"
+#include "testing/gmock/include/gmock/gmock-matchers.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "third_party/metrics_proto/chrome_user_metrics_extension.pb.h"
+#include "third_party/metrics_proto/user_demographics.pb.h"
+#include "third_party/zlib/google/compression_utils.h"
+
+namespace metrics {
+namespace {
+
+class MetricsServiceUserDemographicsBrowserTest
+    : public SyncTest,
+      public testing::WithParamInterface<test::DemographicsTestParams> {
+ public:
+  MetricsServiceUserDemographicsBrowserTest() : SyncTest(SINGLE_CLIENT) {
+    if (GetParam().enable_feature) {
+      // Enable UMA and reporting of the synced user's birth year and gender.
+      scoped_feature_list_.InitWithFeatures(
+          // enabled_features =
+          {internal::kMetricsReportingFeature,
+           DemographicMetricsProvider::kDemographicMetricsReporting},
+          // disabled_features =
+          {});
+    } else {
+      scoped_feature_list_.InitWithFeatures(
+          // enabled_features =
+          {internal::kMetricsReportingFeature},
+          // disabled_features =
+          {DemographicMetricsProvider::kDemographicMetricsReporting});
+    }
+  }
+
+  void SetUpCommandLine(base::CommandLine* command_line) override {
+    // Enable the metrics service for testing (in recording-only mode).
+    command_line->AppendSwitch(switches::kMetricsRecordingOnly);
+  }
+
+  void SetUp() override {
+    // Consent for metrics and crash reporting for testing.
+    ChromeMetricsServiceAccessor::SetMetricsAndCrashReportingForTesting(
+        &metrics_consent_);
+    SyncTest::SetUp();
+  }
+
+  // Forces a log record to be generated. Returns a copy of the record on
+  // success; otherwise, returns std::nullopt.
+  base::Optional<ChromeUserMetricsExtension> GenerateLogRecord() {
+    // Make sure that the metrics service is instantiated.
+    MetricsService* const metrics_service =
+        g_browser_process->GetMetricsServicesManager()->GetMetricsService();
+    if (metrics_service == nullptr) {
+      LOG(ERROR) << "Metrics service is not available";
+      return base::nullopt;
+    }
+
+    // Force the creation of a log record (i.e., trigger all metrics providers).
+    metrics_service->CloseCurrentLogForTest();
+
+    // Stage/serialize the log record for transmission.
+    MetricsLogStore* const log_store = metrics_service->LogStoreForTest();
+    log_store->StageNextLog();
+    if (!log_store->has_staged_log()) {
+      LOG(ERROR) << "No staged log.";
+      return base::nullopt;
+    }
+
+    // Decompress the staged log.
+    std::string uncompressed_log;
+    if (!compression::GzipUncompress(log_store->staged_log(),
+                                     &uncompressed_log)) {
+      LOG(ERROR) << "Decompression failed.";
+      return base::nullopt;
+    }
+
+    // Deserialize and return the log.
+    ChromeUserMetricsExtension uma_proto;
+    if (!uma_proto.ParseFromString(uncompressed_log)) {
+      LOG(ERROR) << "Deserialization failed.";
+      return base::nullopt;
+    }
+
+    return uma_proto;
+  }
+
+ private:
+  bool metrics_consent_ = true;
+
+  base::test::ScopedFeatureList scoped_feature_list_;
+
+  DISALLOW_COPY_AND_ASSIGN(MetricsServiceUserDemographicsBrowserTest);
+};
+
+// TODO(crbug/1016118): Add the remaining test cases.
+IN_PROC_BROWSER_TEST_P(MetricsServiceUserDemographicsBrowserTest,
+                       AddSyncedUserBirthYearAndGenderToProtoData) {
+  test::DemographicsTestParams param = GetParam();
+
+  base::HistogramTester histogram;
+
+  const int test_birth_year =
+      test::UpdateNetworkTimeAndGetMinimalEligibleBirthYear();
+  const UserDemographicsProto::Gender test_gender =
+      UserDemographicsProto::GENDER_FEMALE;
+
+  // Add the test synced user birth year and gender priority prefs to the sync
+  // server data.
+  test::AddUserBirthYearAndGenderToSyncServer(GetFakeServer()->AsWeakPtr(),
+                                              test_birth_year, test_gender);
+
+  Profile* test_profile = ProfileManager::GetActiveUserProfile();
+
+  // Enable sync for the test profile.
+  std::unique_ptr<ProfileSyncServiceHarness> test_profile_harness =
+      test::InitializeProfileForSync(test_profile,
+                                     GetFakeServer()->AsWeakPtr());
+  test_profile_harness->SetupSync();
+
+  // Make sure that there is only one Profile to allow reporting the user's
+  // birth year and gender.
+  ASSERT_EQ(1, num_clients());
+
+  // Generate a log record.
+  base::Optional<ChromeUserMetricsExtension> uma_proto = GenerateLogRecord();
+  ASSERT_TRUE(uma_proto.has_value());
+
+  // Check log content and the histogram.
+  if (param.expect_reported_demographics) {
+    EXPECT_EQ(test::GetNoisedBirthYear(test_birth_year, *test_profile),
+              uma_proto->user_demographics().birth_year());
+    EXPECT_EQ(test_gender, uma_proto->user_demographics().gender());
+    histogram.ExpectUniqueSample("UMA.UserDemographics.Status",
+                                 syncer::UserDemographicsStatus::kSuccess, 1);
+  } else {
+    EXPECT_FALSE(uma_proto->has_user_demographics());
+    histogram.ExpectTotalCount("UMA.UserDemographics.Status", /*count=*/0);
+  }
+
+  test_profile_harness->service()->GetUserSettings()->SetSyncRequested(false);
+}
+
+#if defined(OS_CHROMEOS)
+// Cannot test for the enabled feature on Chrome OS because there are always
+// multiple profiles.
+static const auto kDemographicsTestParams = testing::Values(
+    test::DemographicsTestParams{/*enable_feature=*/false,
+                                 /*expect_reported_demographics=*/false});
+#else
+static const auto kDemographicsTestParams = testing::Values(
+    test::DemographicsTestParams{/*enable_feature=*/false,
+                                 /*expect_reported_demographics=*/false},
+    test::DemographicsTestParams{/*enable_feature=*/true,
+                                 /*expect_reported_demographics=*/true});
+#endif
+
+INSTANTIATE_TEST_SUITE_P(,
+                         MetricsServiceUserDemographicsBrowserTest,
+                         kDemographicsTestParams);
+
+}  // namespace
+}  // namespace metrics
diff --git a/chrome/browser/metrics/process_memory_metrics_emitter_browsertest.cc b/chrome/browser/metrics/process_memory_metrics_emitter_browsertest.cc
index 6e0c19d..818cc31 100644
--- a/chrome/browser/metrics/process_memory_metrics_emitter_browsertest.cc
+++ b/chrome/browser/metrics/process_memory_metrics_emitter_browsertest.cc
@@ -707,8 +707,9 @@
 }
 #endif  // BUILDFLAG(ENABLE_EXTENSIONS)
 
-// TODO(crbug.com/989810): Re-enable on Win once not flaky.
-#if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || defined(OS_WIN)
+// TODO(crbug.com/989810): Re-enable on Win and Mac once not flaky.
+#if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \
+    defined(OS_WIN) || defined(OS_MACOSX)
 #define MAYBE_FetchDuringTrace DISABLED_FetchDuringTrace
 #else
 #define MAYBE_FetchDuringTrace FetchDuringTrace
diff --git a/chrome/browser/metrics/startup_metrics_browsertest.cc b/chrome/browser/metrics/startup_metrics_browsertest.cc
index 27a199a..bb3fd7e 100644
--- a/chrome/browser/metrics/startup_metrics_browsertest.cc
+++ b/chrome/browser/metrics/startup_metrics_browsertest.cc
@@ -16,7 +16,6 @@
 namespace {
 
 constexpr const char* kStartupMetrics[] = {
-    "Startup.BrowserMainToRendererMain",
     "Startup.BrowserMessageLoopStartTime",
     "Startup.BrowserMessageLoopStartTimeFromMainEntry3",
     "Startup.BrowserOpenTabs",
diff --git a/chrome/browser/metrics/testing/demographic_metrics_test_utils.cc b/chrome/browser/metrics/testing/demographic_metrics_test_utils.cc
new file mode 100644
index 0000000..a7088f8
--- /dev/null
+++ b/chrome/browser/metrics/testing/demographic_metrics_test_utils.cc
@@ -0,0 +1,85 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/metrics/testing/demographic_metrics_test_utils.h"
+
+#include "base/i18n/time_formatting.h"
+#include "base/strings/stringprintf.h"
+#include "base/time/time.h"
+#include "chrome/browser/browser_process.h"
+#include "chrome/browser/profiles/profile.h"
+#include "components/network_time/network_time_tracker.h"
+#include "components/prefs/pref_service.h"
+#include "components/sync/base/pref_names.h"
+#include "components/sync/base/user_demographics.h"
+#include "components/sync/engine_impl/loopback_server/persistent_unique_client_entity.h"
+#include "components/sync/protocol/sync.pb.h"
+
+namespace metrics {
+namespace test {
+
+void AddUserBirthYearAndGenderToSyncServer(
+    base::WeakPtr<fake_server::FakeServer> fake_server,
+    int birth_year,
+    metrics::UserDemographicsProto::Gender gender) {
+  DCHECK(fake_server);
+
+  sync_pb::EntitySpecifics specifics;
+  specifics.mutable_priority_preference()->mutable_preference()->set_name(
+      syncer::prefs::kSyncDemographics);
+  specifics.mutable_priority_preference()->mutable_preference()->set_value(
+      base::StringPrintf("{\"birth_year\":%d,\"gender\":%d}", birth_year,
+                         static_cast<int>(gender)));
+  fake_server->InjectEntity(
+      syncer::PersistentUniqueClientEntity::CreateFromSpecificsForTesting(
+          /*non_unique_name=*/syncer::prefs::kSyncDemographics,
+          /*client_tag=*/specifics.preference().name(), specifics,
+          /*creation_time=*/0,
+          /*last_modified_time=*/0));
+}
+
+int UpdateNetworkTimeAndGetMinimalEligibleBirthYear() {
+  base::Time now = base::Time::Now();
+  // Simulate the latency in the network to get the network time from the remote
+  // server.
+  constexpr base::TimeDelta kLatency = base::TimeDelta::FromMilliseconds(10);
+  // Simulate the time taken to call UpdateNetworkTime() since the moment the
+  // callback was created. When not testing with the fake sync server, the
+  // callback is called when doing an HTTP request to the sync server.
+  constexpr base::TimeDelta kCallbackDelay =
+      base::TimeDelta::FromMilliseconds(10);
+  // Simulate a network time that is a bit earlier than the now time.
+  base::Time network_time = now - kCallbackDelay - kLatency;
+  // Simulate the time in ticks at the moment the UpdateNetworkTime callback
+  // function is created, which time should be at least 1 millisecond behind the
+  // moment the callback is run to pass the DCHECK.
+  base::TimeTicks post_time = base::TimeTicks::Now() - kCallbackDelay;
+  g_browser_process->network_time_tracker()->UpdateNetworkTime(
+      network_time,
+      /*resolution=*/base::TimeDelta::FromMilliseconds(1), kLatency, post_time);
+
+  constexpr int kEligibleAge =
+      syncer::kUserDemographicsMinAgeInYears +
+      syncer::kUserDemographicsBirthYearNoiseOffsetRange;
+
+  base::Time::Exploded exploded_time;
+  now.UTCExplode(&exploded_time);
+  // Return the maximal birth year that is eligible for reporting the user's
+  // birth year and gender. The -1 year is the extra buffer that Sync uses to
+  // make sure that the user is at least 20 yo because the user only gives the
+  // year of their birth date. For example, considering that the current date is
+  // the 05 Jan 2019 and that the user was born the 05 Mar 1999, the age of the
+  // user would be computed to 20 yo when using the year resolution, but the
+  // user is in fact 19.
+  return exploded_time.year - kEligibleAge - 1;
+}
+
+int GetNoisedBirthYear(int raw_birth_year, const Profile& profile) {
+  int birth_year_offset = profile.GetPrefs()->GetInteger(
+      syncer::prefs::kSyncDemographicsBirthYearOffset);
+  return birth_year_offset + raw_birth_year;
+}
+
+}  // namespace test
+}  // namespace metrics
diff --git a/chrome/browser/metrics/testing/demographic_metrics_test_utils.h b/chrome/browser/metrics/testing/demographic_metrics_test_utils.h
new file mode 100644
index 0000000..b67fb53
--- /dev/null
+++ b/chrome/browser/metrics/testing/demographic_metrics_test_utils.h
@@ -0,0 +1,53 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_METRICS_TESTING_DEMOGRAPHIC_METRICS_TEST_UTILS_H_
+#define CHROME_BROWSER_METRICS_TESTING_DEMOGRAPHIC_METRICS_TEST_UTILS_H_
+
+#include "base/memory/weak_ptr.h"
+#include "components/sync/test/fake_server/fake_server.h"
+#include "third_party/metrics_proto/user_demographics.pb.h"
+
+// Helpers to support testing the user's noised birth year and gender metrics in
+// browser tests.
+
+class Profile;
+
+namespace metrics {
+namespace test {
+
+// Parameters for the parameterized tests.
+struct DemographicsTestParams {
+  // Enable the feature to report the user's birth year and gender.
+  bool enable_feature = false;
+  // Expectation for the user's noised birth year and gender to be reported.
+  // Having |enable_feature| set to true does not necessarily mean that
+  // |expect_reported_demographics| will be true because other conditions might
+  // stop the reporting of the user's noised birth year and gender, e.g.,
+  // sync is turned off.
+  bool expect_reported_demographics = false;
+};
+
+// Adds the User Demographic priority pref to the sync |fake_server|, which
+// contains the test synced user's |birth_year| and |gender|.
+void AddUserBirthYearAndGenderToSyncServer(
+    base::WeakPtr<fake_server::FakeServer> fake_server,
+    int birth_year,
+    metrics::UserDemographicsProto::Gender gender);
+
+// Updates the network time that is used to compute the test synced user's age
+// and returns the minimal elibible birth year for the user to provide their
+// birth year and gender.
+int UpdateNetworkTimeAndGetMinimalEligibleBirthYear();
+
+// Gets the noised birth year of the user, where the |raw_birth_year|
+// corresponds to the user birth year to noise and |profile| corresponds to the
+// profile of the user that has the noise pref. This function should be run
+// after the Demographic Metrics Provider is run.
+int GetNoisedBirthYear(int raw_birth_year, const Profile& profile);
+
+}  // namespace test
+}  // namespace metrics
+
+#endif  // CHROME_BROWSER_METRICS_TESTING_DEMOGRAPHIC_METRICS_TEST_UTILS_H_
diff --git a/chrome/browser/metrics/testing/sync_metrics_test_utils.cc b/chrome/browser/metrics/testing/sync_metrics_test_utils.cc
new file mode 100644
index 0000000..6d45bff1
--- /dev/null
+++ b/chrome/browser/metrics/testing/sync_metrics_test_utils.cc
@@ -0,0 +1,46 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/metrics/testing/sync_metrics_test_utils.h"
+
+#include "chrome/browser/signin/identity_manager_factory.h"
+#include "chrome/browser/sync/profile_sync_service_factory.h"
+#include "chrome/browser/sync/test/integration/profile_sync_service_harness.h"
+#include "chrome/browser/sync/test/integration/sync_test.h"
+#include "components/signin/public/identity_manager/account_info.h"
+#include "components/signin/public/identity_manager/identity_manager.h"
+#include "components/sync/test/fake_server/fake_server_network_resources.h"
+
+namespace metrics {
+namespace test {
+
+std::unique_ptr<ProfileSyncServiceHarness> InitializeProfileForSync(
+    Profile* profile,
+    base::WeakPtr<fake_server::FakeServer> fake_server) {
+  ProfileSyncServiceFactory::GetAsProfileSyncServiceForProfile(profile)
+      ->OverrideNetworkForTest(
+          fake_server::CreateFakeServerHttpPostProviderFactory(
+              fake_server->AsWeakPtr()));
+
+  std::string username;
+#if defined(OS_CHROMEOS)
+  // In browser tests, the profile may already by authenticated with stub
+  // account |user_manager::kStubUserEmail|.
+  CoreAccountInfo info =
+      IdentityManagerFactory::GetForProfile(profile)->GetPrimaryAccountInfo();
+  username = info.email;
+#endif
+  if (username.empty()) {
+    username = "user@gmail.com";
+  }
+
+  std::unique_ptr<ProfileSyncServiceHarness> harness =
+      ProfileSyncServiceHarness::Create(
+          profile, username, "unused" /* password */,
+          ProfileSyncServiceHarness::SigninType::FAKE_SIGNIN);
+  return harness;
+}
+
+}  // namespace test
+}  // namespace metrics
diff --git a/chrome/browser/metrics/testing/sync_metrics_test_utils.h b/chrome/browser/metrics/testing/sync_metrics_test_utils.h
new file mode 100644
index 0000000..95f4f55
--- /dev/null
+++ b/chrome/browser/metrics/testing/sync_metrics_test_utils.h
@@ -0,0 +1,33 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_METRICS_TESTING_SYNC_METRICS_TEST_UTILS_H_
+#define CHROME_BROWSER_METRICS_TESTING_SYNC_METRICS_TEST_UTILS_H_
+
+#include "base/memory/weak_ptr.h"
+#include "base/time/time.h"
+#include "components/sync/test/fake_server/fake_server.h"
+#include "third_party/metrics_proto/user_demographics.pb.h"
+
+// Helpers to support sync in metrics browser tests.
+
+class Profile;
+class ProfileSyncServiceHarness;
+
+namespace fake_server {
+class FakeServer;
+}
+
+namespace metrics {
+namespace test {
+
+// Initializes and enables the test Sync service of the |profile|.
+std::unique_ptr<ProfileSyncServiceHarness> InitializeProfileForSync(
+    Profile* profile,
+    base::WeakPtr<fake_server::FakeServer> fake_server);
+
+}  // namespace test
+}  // namespace metrics
+
+#endif  // CHROME_BROWSER_METRICS_TESTING_SYNC_METRICS_TEST_UTILS_H_
diff --git a/chrome/browser/metrics/ukm_browsertest.cc b/chrome/browser/metrics/ukm_browsertest.cc
index 17721d8..49977de 100644
--- a/chrome/browser/metrics/ukm_browsertest.cc
+++ b/chrome/browser/metrics/ukm_browsertest.cc
@@ -9,6 +9,8 @@
 #include "base/stl_util.h"
 #include "base/strings/string_util.h"
 #include "base/system/sys_info.h"
+#include "base/test/metrics/histogram_tester.h"
+#include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
 #include "build/buildflag.h"
 #include "chrome/browser/browser_process.h"
@@ -16,7 +18,9 @@
 #include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
 #include "chrome/browser/metrics/chrome_metrics_service_client.h"
 #include "chrome/browser/metrics/chrome_metrics_services_manager_client.h"
+#include "chrome/browser/metrics/testing/demographic_metrics_test_utils.h"
 #include "chrome/browser/metrics/testing/metrics_reporting_pref_helper.h"
+#include "chrome/browser/metrics/testing/sync_metrics_test_utils.h"
 #include "chrome/browser/profiles/profile_manager.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/browser/sync/profile_sync_service_factory.h"
@@ -30,6 +34,7 @@
 #include "chrome/browser/unified_consent/unified_consent_service_factory.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "chrome/test/base/ui_test_utils.h"
+#include "components/metrics/demographic_metrics_provider.h"
 #include "components/metrics_services_manager/metrics_services_manager.h"
 #include "components/signin/public/base/signin_buildflags.h"
 #include "components/signin/public/identity_manager/identity_manager.h"
@@ -54,6 +59,7 @@
 #include "services/metrics/public/cpp/ukm_source.h"
 #include "services/network/test/test_network_quality_tracker.h"
 #include "third_party/metrics_proto/ukm/report.pb.h"
+#include "third_party/metrics_proto/user_demographics.pb.h"
 #include "third_party/zlib/google/compression_utils.h"
 #include "url/url_constants.h"
 
@@ -211,7 +217,7 @@
   ukm::Report GetUkmReport() {
     EXPECT_TRUE(HasUnsentUkmLogs());
 
-    metrics::UnsentLogStore* log_store =
+    UnsentLogStore* log_store =
         ukm_service()->reporting_service_.ukm_log_store();
     if (log_store->has_staged_log()) {
       // For testing purposes, we are examining the content of a staged log
@@ -231,36 +237,10 @@
   }
 
  protected:
-  std::unique_ptr<ProfileSyncServiceHarness> InitializeProfileForSync(
-      Profile* profile) {
-    ProfileSyncServiceFactory::GetAsProfileSyncServiceForProfile(profile)
-        ->OverrideNetworkForTest(
-            fake_server::CreateFakeServerHttpPostProviderFactory(
-                GetFakeServer()->AsWeakPtr()));
-
-    std::string username;
-#if defined(OS_CHROMEOS)
-    // In browser tests, the profile may already by authenticated with stub
-    // account |user_manager::kStubUserEmail|.
-    CoreAccountInfo info =
-        IdentityManagerFactory::GetForProfile(profile)->GetPrimaryAccountInfo();
-    username = info.email;
-#endif
-    if (username.empty()) {
-      username = "user@gmail.com";
-    }
-
-    std::unique_ptr<ProfileSyncServiceHarness> harness =
-        ProfileSyncServiceHarness::Create(
-            profile, username, "unused" /* password */,
-            ProfileSyncServiceHarness::SigninType::FAKE_SIGNIN);
-    return harness;
-  }
-
   std::unique_ptr<ProfileSyncServiceHarness> EnableSyncForProfile(
       Profile* profile) {
     std::unique_ptr<ProfileSyncServiceHarness> harness =
-        InitializeProfileForSync(profile);
+        test::InitializeProfileForSync(profile, GetFakeServer()->AsWeakPtr());
     EXPECT_TRUE(harness->SetupSync());
 
     // If unified consent is enabled, then enable url-keyed-anonymized data
@@ -389,6 +369,36 @@
   DISALLOW_COPY_AND_ASSIGN(UkmEnabledChecker);
 };
 
+// Test the reporting of the synced user's birth year and gender.
+class UkmBrowserTestWithDemographics
+    : public UkmBrowserTestBase,
+      public testing::WithParamInterface<test::DemographicsTestParams> {
+ public:
+  UkmBrowserTestWithDemographics() : UkmBrowserTestBase() {
+    test::DemographicsTestParams param = GetParam();
+    if (param.enable_feature) {
+      scoped_feature_list_.InitWithFeatures(
+          // enabled_features
+          {DemographicMetricsProvider::kDemographicMetricsReporting,
+           ukm::UkmService::kReportUserNoisedUserBirthYearAndGender},
+          // disabled_features
+          {});
+    } else {
+      scoped_feature_list_.InitWithFeatures(
+          // enabled_features
+          {},
+          // disabled_features
+          {DemographicMetricsProvider::kDemographicMetricsReporting,
+           ukm::UkmService::kReportUserNoisedUserBirthYearAndGender});
+    }
+  }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
+
+  DISALLOW_COPY_AND_ASSIGN(UkmBrowserTestWithDemographics);
+};
+
 // Make sure that UKM is disabled while an incognito window is open.
 // Keep in sync with UkmTest.testRegularPlusIncognitoCheck in
 // chrome/android/javatests/src/org/chromium/chrome/browser/metrics/
@@ -579,6 +589,76 @@
   CloseBrowserSynchronously(sync_browser);
 }
 
+// TODO(crbug/1016118): Add the remaining test cases.
+IN_PROC_BROWSER_TEST_P(UkmBrowserTestWithDemographics,
+                       AddSyncedUserBirthYearAndGenderToProtoData) {
+  test::DemographicsTestParams param = GetParam();
+  MetricsConsentOverride metrics_consent(true);
+
+  base::HistogramTester histogram;
+
+  const int test_birth_year =
+      test::UpdateNetworkTimeAndGetMinimalEligibleBirthYear();
+  const UserDemographicsProto::Gender test_gender =
+      UserDemographicsProto::GENDER_FEMALE;
+
+  // Add the test synced user birth year and gender priority prefs to the sync
+  // server data.
+  test::AddUserBirthYearAndGenderToSyncServer(GetFakeServer()->AsWeakPtr(),
+                                              test_birth_year, test_gender);
+
+  Profile* test_profile = ProfileManager::GetActiveUserProfile();
+  std::unique_ptr<ProfileSyncServiceHarness> harness =
+      EnableSyncForProfile(test_profile);
+
+  // Make sure that there is only one Profile to allow reporting the user's
+  // birth year and gender.
+  ASSERT_EQ(1, num_clients());
+
+  Browser* sync_browser = CreateBrowser(test_profile);
+  EXPECT_TRUE(ukm_enabled());
+  uint64_t original_client_id = client_id();
+  EXPECT_NE(0U, original_client_id);
+
+  // Log UKM metrics report.
+  BuildAndStoreUkmLog();
+  EXPECT_TRUE(HasUnsentUkmLogs());
+
+  // Check the log's content and the histogram.
+  ukm::Report report = GetUkmReport();
+  if (param.expect_reported_demographics) {
+    EXPECT_EQ(test::GetNoisedBirthYear(test_birth_year, *test_profile),
+              report.user_demographics().birth_year());
+    EXPECT_EQ(test_gender, report.user_demographics().gender());
+    histogram.ExpectUniqueSample("UKM.UserDemographics.Status",
+                                 syncer::UserDemographicsStatus::kSuccess, 1);
+  } else {
+    EXPECT_FALSE(report.has_user_demographics());
+    histogram.ExpectTotalCount("UKM.UserDemographics.Status", /*count=*/0);
+  }
+
+  harness->service()->GetUserSettings()->SetSyncRequested(false);
+  CloseBrowserSynchronously(sync_browser);
+}
+
+#if defined(OS_CHROMEOS)
+// Cannot test for the enabled feature on Chrome OS because there are always
+// multiple profiles.
+static const auto kDemographicsTestParams = testing::Values(
+    test::DemographicsTestParams{/*enable_feature=*/false,
+                                 /*expect_reported_demographics=*/false});
+#else
+static const auto kDemographicsTestParams = testing::Values(
+    test::DemographicsTestParams{/*enable_feature=*/false,
+                                 /*expect_reported_demographics=*/false},
+    test::DemographicsTestParams{/*enable_feature=*/true,
+                                 /*expect_reported_demographics=*/true});
+#endif
+
+INSTANTIATE_TEST_SUITE_P(,
+                         UkmBrowserTestWithDemographics,
+                         kDemographicsTestParams);
+
 // Verifies that network provider attaches effective connection type correctly
 // to the UKM report.
 IN_PROC_BROWSER_TEST_F(UkmBrowserTest, NetworkProviderPopulatesSystemProfile) {
@@ -903,8 +983,8 @@
   // Need to set the Metrics Default to OPT_OUT to trigger MetricsReporting.
   DCHECK(g_browser_process);
   PrefService* local_state = g_browser_process->local_state();
-  metrics::ForceRecordMetricsReportingDefaultState(
-      local_state, metrics::EnableMetricsDefault::OPT_OUT);
+  ForceRecordMetricsReportingDefaultState(local_state,
+                                          EnableMetricsDefault::OPT_OUT);
   // Verify that kMetricsReportingFeature is disabled (i.e. other metrics
   // services will be sampled out).
   EXPECT_FALSE(
@@ -967,7 +1047,7 @@
   // transport mode.
   Profile* profile = ProfileManager::GetActiveUserProfile();
   std::unique_ptr<ProfileSyncServiceHarness> harness =
-      InitializeProfileForSync(profile);
+      test::InitializeProfileForSync(profile, GetFakeServer()->AsWeakPtr());
   syncer::SyncService* sync_service =
       ProfileSyncServiceFactory::GetForProfile(profile);
 
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
index 3adf99a..256f03fd 100644
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
@@ -12,6 +12,7 @@
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/logging.h"
+#include "base/metrics/field_trial.h"
 #include "base/metrics/field_trial_params.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/string_split.h"
@@ -94,6 +95,9 @@
 
 bool* g_discard_domain_reliability_uploads_for_testing = nullptr;
 
+const char kHttpCacheFinchExperimentGroups[] =
+    "profile_network_context_service.http_cache_finch_experiment_groups";
+
 std::vector<std::string> TranslateStringArray(const base::ListValue* list) {
   std::vector<std::string> strings;
   for (const base::Value& value : *list) {
@@ -344,6 +348,10 @@
   registry->RegisterIntegerPref(
       prefs::kAmbientAuthenticationInPrivateModesEnabled,
       static_cast<int>(net::AmbientAuthAllowedProfileTypes::REGULAR_ONLY));
+
+  // For information about whether to reset the HTTP Cache or not, store the
+  // groups for all the relevant experiments.  Initially unknown status for all.
+  registry->RegisterStringPref(kHttpCacheFinchExperimentGroups, "NoneNoneNone");
 }
 
 void ProfileNetworkContextService::DisableQuicIfNotAllowed() {
@@ -592,6 +600,30 @@
 #endif
 }
 
+bool GetHttpCacheBackendResetParam(PrefService* local_state) {
+  // Get the field trial groups.  If the server cannot be reached, then
+  // this corresponds to "None" for each experiment.
+  base::FieldTrial* field_trial = base::FeatureList::GetFieldTrial(
+      net::features::kSplitCacheByNetworkIsolationKey);
+  std::string current_field_trial_status =
+      (field_trial ? field_trial->group_name() : "None");
+  field_trial = base::FeatureList::GetFieldTrial(
+      net::features::kAppendFrameOriginToNetworkIsolationKey);
+  current_field_trial_status +=
+      (field_trial ? field_trial->group_name() : "None");
+  field_trial = base::FeatureList::GetFieldTrial(
+      net::features::kUseRegistrableDomainInNetworkIsolationKey);
+  current_field_trial_status +=
+      (field_trial ? field_trial->group_name() : "None");
+
+  std::string previous_field_trial_status =
+      local_state->GetString(kHttpCacheFinchExperimentGroups);
+  local_state->SetString(kHttpCacheFinchExperimentGroups,
+                         current_field_trial_status);
+
+  return current_field_trial_status != previous_field_trial_status;
+}
+
 network::mojom::NetworkContextParamsPtr
 ProfileNetworkContextService::CreateNetworkContextParams(
     bool in_memory,
@@ -803,6 +835,9 @@
           ->GetOriginAccessList()
           .CreateCorsOriginAccessPatternsList();
 
+  network_context_params->reset_http_cache_backend =
+      GetHttpCacheBackendResetParam(g_browser_process->local_state());
+
   return network_context_params;
 }
 
diff --git a/chrome/browser/net/profile_network_context_service_browsertest.cc b/chrome/browser/net/profile_network_context_service_browsertest.cc
index d187abb..54f6dffa 100644
--- a/chrome/browser/net/profile_network_context_service_browsertest.cc
+++ b/chrome/browser/net/profile_network_context_service_browsertest.cc
@@ -16,9 +16,12 @@
 #include "base/strings/string_piece.h"
 #include "base/strings/string_split.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/test/metrics/histogram_tester.h"
+#include "base/test/scoped_feature_list.h"
 #include "base/threading/thread_restrictions.h"
 #include "build/build_config.h"
 #include "chrome/browser/browser_process.h"
+#include "chrome/browser/metrics/subprocess_metrics_provider.h"
 #include "chrome/browser/net/profile_network_context_service.h"
 #include "chrome/browser/net/profile_network_context_service_factory.h"
 #include "chrome/browser/policy/policy_test_utils.h"
@@ -43,6 +46,7 @@
 #include "content/public/common/content_features.h"
 #include "content/public/test/simple_url_loader_test_helper.h"
 #include "mojo/public/cpp/system/data_pipe_utils.h"
+#include "net/base/features.h"
 #include "net/base/load_flags.h"
 #include "net/http/http_auth_preferences.h"
 #include "net/test/embedded_test_server/embedded_test_server.h"
@@ -75,13 +79,12 @@
 // Most tests for this class are in NetworkContextConfigurationBrowserTest.
 class ProfileNetworkContextServiceBrowsertest : public InProcessBrowserTest {
  public:
-  ProfileNetworkContextServiceBrowsertest() {
-    EXPECT_TRUE(embedded_test_server()->Start());
-  }
+  ProfileNetworkContextServiceBrowsertest() = default;
 
-  ~ProfileNetworkContextServiceBrowsertest() override {}
+  ~ProfileNetworkContextServiceBrowsertest() override = default;
 
   void SetUpOnMainThread() override {
+    EXPECT_TRUE(embedded_test_server()->Start());
     loader_factory_ = content::BrowserContext::GetDefaultStoragePartition(
                           browser()->profile())
                           ->GetURLLoaderFactoryForBrowserProcess()
@@ -160,6 +163,83 @@
   EXPECT_TRUE(base::Contains(encodings, "br"));
 }
 
+class ProfileNetworkContextServiceCacheSameBrowsertest
+    : public ProfileNetworkContextServiceBrowsertest {
+ public:
+  ProfileNetworkContextServiceCacheSameBrowsertest() = default;
+  ~ProfileNetworkContextServiceCacheSameBrowsertest() override = default;
+
+  void SetUp() override {
+    scoped_feature_list_.InitWithFeatures(
+        {}, {net::features::kSplitCacheByNetworkIsolationKey,
+             net::features::kAppendFrameOriginToNetworkIsolationKey,
+             net::features::kUseRegistrableDomainInNetworkIsolationKey});
+    ProfileNetworkContextServiceBrowsertest::SetUp();
+  }
+
+  void CheckCacheNotReset() {
+    content::FetchHistogramsFromChildProcesses();
+    SubprocessMetricsProvider::MergeHistogramDeltasForTesting();
+    // Some tests load the cache multiple times, so compare to zero.
+    EXPECT_GT(histograms_.GetBucketCount("HttpCache.HardReset", false), 0);
+    // Make sure it's never reset.
+    EXPECT_EQ(histograms_.GetBucketCount("HttpCache.HardReset", true), 0);
+  }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
+  base::HistogramTester histograms_;
+};
+
+IN_PROC_BROWSER_TEST_F(ProfileNetworkContextServiceCacheSameBrowsertest,
+                       TestCacheResetParameter) {
+  // At this point, we have already called the initialization once on startup.
+  // Verify that we have the correct values in the local_state.
+  PrefService* local_state = g_browser_process->local_state();
+  DCHECK_EQ(
+      local_state->GetString(
+          "profile_network_context_service.http_cache_finch_experiment_groups"),
+      "NoneNoneNone");
+
+  CheckCacheNotReset();
+}
+
+class ProfileNetworkContextServiceCacheChangeBrowsertest
+    : public ProfileNetworkContextServiceBrowsertest {
+ public:
+  ProfileNetworkContextServiceCacheChangeBrowsertest() {
+    scoped_feature_list_.InitWithFeaturesAndParameters(
+        {{net::features::kAppendFrameOriginToNetworkIsolationKey, {}}},
+        {net::features::kSplitCacheByNetworkIsolationKey,
+         net::features::kUseRegistrableDomainInNetworkIsolationKey});
+  }
+  ~ProfileNetworkContextServiceCacheChangeBrowsertest() override = default;
+
+  void CheckCacheReset() {
+    content::FetchHistogramsFromChildProcesses();
+    SubprocessMetricsProvider::MergeHistogramDeltasForTesting();
+    // Some tests load the cache multiple times, but should only be reset once.
+    EXPECT_EQ(histograms_.GetBucketCount("HttpCache.HardReset", true), 1);
+  }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
+  base::HistogramTester histograms_;
+};
+
+IN_PROC_BROWSER_TEST_F(ProfileNetworkContextServiceCacheChangeBrowsertest,
+                       TestCacheResetParameter) {
+  // At this point, we have already called the initialization once on startup.
+  // Verify that we have the correct values in the local_state.
+  PrefService* local_state = g_browser_process->local_state();
+  DCHECK_EQ(
+      local_state->GetString(
+          "profile_network_context_service.http_cache_finch_experiment_groups"),
+      "Nonescoped_feature_list_trial_groupNone");
+
+  CheckCacheReset();
+}
+
 enum class AmbientAuthProfileBit {
   INCOGNITO = 1,
   GUEST = 2,
diff --git a/chrome/browser/notifications/notification_platform_bridge_android_unittest.cc b/chrome/browser/notifications/notification_platform_bridge_android_unittest.cc
new file mode 100644
index 0000000..41d85da
--- /dev/null
+++ b/chrome/browser/notifications/notification_platform_bridge_android_unittest.cc
@@ -0,0 +1,25 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/android/jni_android.h"
+#include "chrome/android/native_j_unittests_jni_headers/NotificationPlatformBridgeUnitTest_jni.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using base::android::AttachCurrentThread;
+
+class NotificationPlatformBridgeUnitTest : public ::testing::Test {
+ public:
+  NotificationPlatformBridgeUnitTest()
+      : j_test_(Java_NotificationPlatformBridgeUnitTest_Constructor(
+            AttachCurrentThread())) {}
+
+  const base::android::ScopedJavaGlobalRef<jobject>& j_test() {
+    return j_test_;
+  }
+
+ private:
+  base::android::ScopedJavaGlobalRef<jobject> j_test_;
+};
+
+JAVA_TESTS(NotificationPlatformBridgeUnitTest, j_test())
diff --git a/chrome/browser/notifications/notification_platform_bridge_mac.h b/chrome/browser/notifications/notification_platform_bridge_mac.h
index 8622be0..0529ac9 100644
--- a/chrome/browser/notifications/notification_platform_bridge_mac.h
+++ b/chrome/browser/notifications/notification_platform_bridge_mac.h
@@ -53,6 +53,9 @@
   // when a notification gets activated.
   static bool VerifyNotificationData(NSDictionary* response) WARN_UNUSED_RESULT;
 
+  // Returns if alerts are supported on this machine.
+  static bool SupportsAlerts();
+
  private:
   // Cocoa class that receives callbacks from the NSUserNotificationCenter.
   base::scoped_nsobject<NotificationCenterDelegate> delegate_;
diff --git a/chrome/browser/notifications/notification_platform_bridge_mac.mm b/chrome/browser/notifications/notification_platform_bridge_mac.mm
index 9b28d69..989a3aa 100644
--- a/chrome/browser/notifications/notification_platform_bridge_mac.mm
+++ b/chrome/browser/notifications/notification_platform_bridge_mac.mm
@@ -23,6 +23,7 @@
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/sys_string_conversions.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/system/sys_info.h"
 #include "base/task/post_task.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/notifications/notification_common.h"
@@ -123,10 +124,7 @@
 
 bool IsPersistentNotification(
     const message_center::Notification& notification) {
-  // TODO(crbug.com/1007418): Remove this and find a way to show alert style
-  // notifications in 10.15 and above. At least show them as banners until then
-  // as a temporary workaround.
-  if (base::mac::IsAtLeastOS10_15())
+  if (!NotificationPlatformBridgeMac::SupportsAlerts())
     return false;
 
   return notification.never_timeout() ||
@@ -174,6 +172,19 @@
 
   return etldplusone;
 }
+
+// Implements the version check to determine if alerts are supported. Do not
+// call this method directly as SysInfo::OperatingSystemVersionNumbers might be
+// an expensive call. Instead use NotificationPlatformBridgeMac::SupportsAlerts
+// which caches this value.
+bool SupportsAlertsImpl() {
+  int32_t major, minor, bugfix;
+  base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &bugfix);
+  // Allow alerts on all versions except 10.15.0, 10.15.1 & 10.15.2.
+  // See crbug.com/1007418 for details.
+  return major != 10 || minor != 15 || bugfix > 2;
+}
+
 }  // namespace
 
 // A Cocoa class that represents the delegate of NSUserNotificationCenter and
@@ -462,6 +473,13 @@
   return true;
 }
 
+// static
+bool NotificationPlatformBridgeMac::SupportsAlerts() {
+  // Cache result as SysInfo::OperatingSystemVersionNumbers might be expensive.
+  static bool supports_alerts = SupportsAlertsImpl();
+  return supports_alerts;
+}
+
 // /////////////////////////////////////////////////////////////////////////////
 @implementation NotificationCenterDelegate
 - (void)userNotificationCenter:(NSUserNotificationCenter*)center
diff --git a/chrome/browser/notifications/notification_platform_bridge_mac_unittest.mm b/chrome/browser/notifications/notification_platform_bridge_mac_unittest.mm
index 7c92cb1d..f7f66f9 100644
--- a/chrome/browser/notifications/notification_platform_bridge_mac_unittest.mm
+++ b/chrome/browser/notifications/notification_platform_bridge_mac_unittest.mm
@@ -281,8 +281,7 @@
 }
 
 TEST_F(NotificationPlatformBridgeMacTest, TestDisplayProgress) {
-  // TODO(crbug.com/1007418): Enable this when we support alerts on 10.15 again.
-  if (base::mac::IsAtLeastOS10_15())
+  if (!NotificationPlatformBridgeMac::SupportsAlerts())
     return;
 
   std::unique_ptr<Notification> notification =
@@ -362,8 +361,7 @@
 }
 
 TEST_F(NotificationPlatformBridgeMacTest, TestDisplayAlert) {
-  // TODO(crbug.com/1007418): Enable this when we support alerts on 10.15 again.
-  if (base::mac::IsAtLeastOS10_15())
+  if (!NotificationPlatformBridgeMac::SupportsAlerts())
     return;
 
   std::unique_ptr<Notification> alert =
@@ -378,8 +376,7 @@
 }
 
 TEST_F(NotificationPlatformBridgeMacTest, TestDisplayBannerAndAlert) {
-  // TODO(crbug.com/1007418): Enable this when we support alerts on 10.15 again.
-  if (base::mac::IsAtLeastOS10_15())
+  if (!NotificationPlatformBridgeMac::SupportsAlerts())
     return;
 
   std::unique_ptr<Notification> alert =
@@ -398,8 +395,7 @@
 }
 
 TEST_F(NotificationPlatformBridgeMacTest, TestCloseAlert) {
-  // TODO(crbug.com/1007418): Enable this when we support alerts on 10.15 again.
-  if (base::mac::IsAtLeastOS10_15())
+  if (!NotificationPlatformBridgeMac::SupportsAlerts())
     return;
 
   std::unique_ptr<Notification> alert =
@@ -417,8 +413,7 @@
 }
 
 TEST_F(NotificationPlatformBridgeMacTest, TestQuitRemovesBannersAndAlerts) {
-  // TODO(crbug.com/1007418): Enable this when we support alerts on 10.15 again.
-  if (base::mac::IsAtLeastOS10_15())
+  if (!NotificationPlatformBridgeMac::SupportsAlerts())
     return;
 
   std::unique_ptr<Notification> notification = CreateBanner(
diff --git a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc
index 8170d66..8d8ba10 100644
--- a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc
+++ b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc
@@ -292,24 +292,6 @@
         timing.paint_timing->first_meaningful_paint.value().InMilliseconds());
   }
   const page_load_metrics::ContentfulPaintTimingInfo&
-      main_frame_largest_image_paint =
-          largest_contentful_paint_handler_.MainFrameLargestImagePaint();
-  if (!main_frame_largest_image_paint.IsEmpty() &&
-      WasStartedInForegroundOptionalEventInForeground(
-          main_frame_largest_image_paint.Time(), GetDelegate())) {
-    builder.SetExperimental_PaintTiming_NavigationToLargestImagePaint(
-        timing.paint_timing->largest_image_paint.value().InMilliseconds());
-  }
-  const page_load_metrics::ContentfulPaintTimingInfo&
-      main_frame_largest_text_paint =
-          largest_contentful_paint_handler_.MainFrameLargestTextPaint();
-  if (!main_frame_largest_text_paint.IsEmpty() &&
-      WasStartedInForegroundOptionalEventInForeground(
-          main_frame_largest_text_paint.Time(), GetDelegate())) {
-    builder.SetExperimental_PaintTiming_NavigationToLargestTextPaint(
-        timing.paint_timing->largest_text_paint.value().InMilliseconds());
-  }
-  const page_load_metrics::ContentfulPaintTimingInfo&
       main_frame_largest_contentful_paint =
           largest_contentful_paint_handler_.MainFrameLargestContentfulPaint();
   if (!main_frame_largest_contentful_paint.IsEmpty() &&
diff --git a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc
index 3ced9fba..5a8755f 100644
--- a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc
@@ -281,8 +281,7 @@
                                                           GURL(kTestUrl1));
     tester()->test_ukm_recorder().ExpectEntryMetric(
         kv.second.get(),
-        PageLoad::kExperimental_PaintTiming_NavigationToLargestImagePaintName,
-        600);
+        PageLoad::kPaintTiming_NavigationToLargestContentfulPaintName, 600);
     EXPECT_TRUE(tester()->test_ukm_recorder().EntryHasMetric(
         kv.second.get(), PageLoad::kPageTiming_ForegroundDurationName));
   }
@@ -314,7 +313,7 @@
   for (const auto& kv : merged_entries) {
     EXPECT_FALSE(tester()->test_ukm_recorder().EntryHasMetric(
         kv.second.get(),
-        PageLoad::kExperimental_PaintTiming_NavigationToLargestImagePaintName));
+        PageLoad::kPaintTiming_NavigationToLargestContentfulPaintName));
   }
 }
 
@@ -344,10 +343,7 @@
   for (const auto& kv : merged_entries) {
     EXPECT_FALSE(tester()->test_ukm_recorder().EntryHasMetric(
         kv.second.get(),
-        PageLoad::kExperimental_PaintTiming_NavigationToLargestImagePaintName));
-    EXPECT_FALSE(tester()->test_ukm_recorder().EntryHasMetric(
-        kv.second.get(),
-        PageLoad::kExperimental_PaintTiming_NavigationToLargestTextPaintName));
+        PageLoad::kPaintTiming_NavigationToLargestContentfulPaintName));
   }
 }
 
@@ -388,12 +384,7 @@
                                                           GURL(kTestUrl1));
     tester()->test_ukm_recorder().ExpectEntryMetric(
         kv.second.get(),
-        PageLoad::kExperimental_PaintTiming_NavigationToLargestImagePaintName,
-        600);
-    tester()->test_ukm_recorder().ExpectEntryMetric(
-        kv.second.get(),
-        PageLoad::kExperimental_PaintTiming_NavigationToLargestTextPaintName,
-        600);
+        PageLoad::kPaintTiming_NavigationToLargestContentfulPaintName, 600);
     EXPECT_TRUE(tester()->test_ukm_recorder().EntryHasMetric(
         kv.second.get(), PageLoad::kPageTiming_ForegroundDurationName));
   }
@@ -424,8 +415,7 @@
                                                           GURL(kTestUrl1));
     tester()->test_ukm_recorder().ExpectEntryMetric(
         kv.second.get(),
-        PageLoad::kExperimental_PaintTiming_NavigationToLargestTextPaintName,
-        600);
+        PageLoad::kPaintTiming_NavigationToLargestContentfulPaintName, 600);
     EXPECT_TRUE(tester()->test_ukm_recorder().EntryHasMetric(
         kv.second.get(), PageLoad::kPageTiming_ForegroundDurationName));
   }
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
index cc7e607..575ec07 100644
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -49,7 +49,17 @@
 
     /** Whether Autofill Assistant is enabled */
     public static final String AUTOFILL_ASSISTANT_ENABLED = "autofill_assistant_switch";
+    /** Whether the Autofill Assistant onboarding has been accepted. */
+    public static final String AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED =
+            "AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED";
+    /**
+     * LEGACY preference indicating whether "do not show again" was checked in the autofill
+     * assistant onboarding
+     */
+    public static final String AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN =
+            "AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN";
 
+    public static final String BOOKMARKS_LAST_MODIFIED_FOLDER_ID = "last_bookmark_folder_id";
     public static final String BOOKMARKS_LAST_USED_URL = "enhanced_bookmark_last_used_url";
     public static final String BOOKMARKS_LAST_USED_PARENT =
             "enhanced_bookmark_last_used_parent_folder";
@@ -392,6 +402,11 @@
     public static final String HOMEPAGE_LOCATION_POLICY = "Chrome.Policy.HomepageLocation";
 
     /**
+     * Key for UUID-based generator used for Chrome Invalidations (sync, etc.).
+     */
+    public static final String INVALIDATIONS_UUID_PREF_KEY = "chromium.invalidations.uuid";
+
+    /**
      * When the user is shown a badge that the current Android OS version is unsupported, and they
      * tap it to display the menu (which has additional information), we store the current version
      * of Chrome to this preference to ensure we only show the badge once. The value is cleared
@@ -457,6 +472,10 @@
     public static final String SIGNIN_PROMO_SETTINGS_PERSONALIZED_DISMISSED =
             "settings_personalized_signin_promo_dismissed";
 
+    public static final String SNAPSHOT_DATABASE_REMOVED = "snapshot_database_removed";
+
+    public static final String SYNC_SESSIONS_UUID = "chromium.sync.sessions.id";
+
     /**
      * Keys for deferred recording of the outcomes of showing the clear data dialog after
      * Trusted Web Activity client apps are uninstalled or have their data cleared.
@@ -582,6 +601,9 @@
         return Arrays.asList(
                 ACCESSIBILITY_TAB_SWITCHER,
                 AUTOFILL_ASSISTANT_ENABLED,
+                AUTOFILL_ASSISTANT_ONBOARDING_ACCEPTED,
+                AUTOFILL_ASSISTANT_SKIP_INIT_SCREEN,
+                BOOKMARKS_LAST_MODIFIED_FOLDER_ID,
                 BOOKMARKS_LAST_USED_URL,
                 BOOKMARKS_LAST_USED_PARENT,
                 CHROME_DEFAULT_BROWSER,
@@ -665,6 +687,7 @@
                 HOMEPAGE_CUSTOM_URI,
                 HOMEPAGE_ENABLED,
                 HOMEPAGE_USE_DEFAULT_URI,
+                INVALIDATIONS_UUID_PREF_KEY,
                 LATEST_UNSUPPORTED_VERSION,
                 OFFLINE_INDICATOR_V2_ENABLED,
                 PRIVACY_ALLOW_PRERENDER_OLD,
@@ -684,7 +707,9 @@
                 SIGNIN_PROMO_NTP_PROMO_SUPPRESSION_PERIOD_START,
                 SIGNIN_PROMO_PERSONALIZED_DECLINED,
                 SIGNIN_PROMO_SETTINGS_PERSONALIZED_DISMISSED,
+                SNAPSHOT_DATABASE_REMOVED,
                 START_SURFACE_SINGLE_PANE_ENABLED_KEY,
+                SYNC_SESSIONS_UUID,
                 TWA_DIALOG_NUMBER_OF_DISMISSALS_ON_CLEAR_DATA,
                 TWA_DIALOG_NUMBER_OF_DISMISSALS_ON_UNINSTALL,
                 TWA_DISCLOSURE_ACCEPTED_PACKAGES,
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/SharedPreferencesManager.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/SharedPreferencesManager.java
index e262d38..3c68a4a 100644
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/SharedPreferencesManager.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/SharedPreferencesManager.java
@@ -65,6 +65,11 @@
         return swappedOut;
     }
 
+    @VisibleForTesting
+    public void disableKeyCheckerForTesting() {
+        mKeyChecker = new BaseChromePreferenceKeyChecker();
+    }
+
     /**
      * Observes preference changes.
      */
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index b2a459fb..330f0981 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -218,9 +218,6 @@
 #if BUILDFLAG(ENABLE_FEED_IN_CHROME)
 #include "components/feed/core/pref_names.h"
 #endif  // BUILDFLAG(ENABLE_FEED_IN_CHROME)
-#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
-#include "components/games/core/games_prefs.h"
-#endif  // BUILDFLAG(GOOGLE_CHROME_BRANDING)
 #else   // defined(OS_ANDROID)
 #include "chrome/browser/apps/app_service/app_service_proxy.h"
 #include "chrome/browser/enterprise_reporting/prefs.h"
@@ -630,6 +627,8 @@
   network_time::NetworkTimeTracker::RegisterPrefs(registry);
   OriginTrialPrefs::RegisterPrefs(registry);
   password_manager::PasswordManager::RegisterLocalPrefs(registry);
+  policy::BrowserPolicyConnector::RegisterPrefs(registry);
+  policy::PolicyStatisticsCollector::RegisterPrefs(registry);
   PrefProxyConfigTrackerImpl::RegisterPrefs(registry);
   ProfileAttributesEntry::RegisterLocalStatePrefs(registry);
   ProfileInfoCache::RegisterPrefs(registry);
@@ -646,17 +645,10 @@
   update_client::RegisterPrefs(registry);
   variations::VariationsService::RegisterPrefs(registry);
 
-  policy::BrowserPolicyConnector::RegisterPrefs(registry);
-  policy::PolicyStatisticsCollector::RegisterPrefs(registry);
-
 #if BUILDFLAG(ENABLE_BACKGROUND_MODE)
   BackgroundModeManager::RegisterPrefs(registry);
 #endif
 
-#if BUILDFLAG(ENABLE_EXTENSIONS) and defined(OS_CHROMEOS)
-  chromeos::EasyUnlockService::RegisterPrefs(registry);
-#endif
-
 #if BUILDFLAG(ENABLE_PLUGINS)
   PluginsResourceService::RegisterPrefs(registry);
 #endif
@@ -664,19 +656,16 @@
 #if defined(OS_ANDROID)
   ::android::RegisterPrefs(registry);
 #else
-  media_router::RegisterLocalStatePrefs(registry);
+  enterprise_reporting::RegisterLocalStatePrefs(registry);
   // The native GCM is used on Android instead.
   gcm::GCMChannelStatusSyncer::RegisterPrefs(registry);
   gcm::RegisterPrefs(registry);
+  media_router::RegisterLocalStatePrefs(registry);
   metrics::TabStatsTracker::RegisterPrefs(registry);
   RegisterBrowserPrefs(registry);
   StartupBrowserCreator::RegisterLocalStatePrefs(registry);
   task_manager::TaskManagerInterface::RegisterPrefs(registry);
   UpgradeDetector::RegisterPrefs(registry);
-  enterprise_reporting::RegisterLocalStatePrefs(registry);
-#if !defined(OS_CHROMEOS)
-  RegisterDefaultBrowserPromptPrefs(registry);
-#endif  // !defined(OS_CHROMEOS)
 #endif  // !defined(OS_ANDROID)
 
 #if defined(OS_CHROMEOS)
@@ -691,6 +680,7 @@
   chromeos::DemoSetupController::RegisterLocalStatePrefs(registry);
   chromeos::DeviceOAuth2TokenService::RegisterPrefs(registry);
   chromeos::device_settings_cache::RegisterPrefs(registry);
+  chromeos::EasyUnlockService::RegisterPrefs(registry);
   chromeos::echo_offer::RegisterPrefs(registry);
   chromeos::EnableAdbSideloadingScreen::RegisterPrefs(registry);
   chromeos::EnableDebuggingScreenHandler::RegisterPrefs(registry);
@@ -740,7 +730,7 @@
   UpgradeDetectorChromeos::RegisterPrefs(registry);
   syncer::PerUserTopicSubscriptionManager::RegisterPrefs(registry);
   syncer::InvalidatorRegistrarWithMemory::RegisterPrefs(registry);
-#endif
+#endif  // defined(OS_CHROMEOS)
 
 #if defined(OS_MACOSX)
   confirm_quit::RegisterLocalState(registry);
@@ -766,6 +756,10 @@
   registry->RegisterStringPref(kLastWelcomedOSVersion, std::string());
 #endif  // defined(OS_WIN)
 
+#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
+  RegisterDefaultBrowserPromptPrefs(registry);
+#endif
+
   // Obsolete. See MigrateObsoleteBrowserPrefs().
   registry->RegisterIntegerPref(metrics::prefs::kStabilityExecutionPhase, 0);
 #if !defined(OS_ANDROID)
@@ -870,6 +864,11 @@
   feature_engagement::SessionDurationUpdater::RegisterProfilePrefs(registry);
 #endif
 
+#if BUILDFLAG(ENABLE_OFFLINE_PAGES)
+  offline_pages::OfflineMetricsCollectorImpl::RegisterPrefs(registry);
+  offline_pages::prefetch_prefs::RegisterPrefs(registry);
+#endif
+
 #if BUILDFLAG(ENABLE_PLUGINS)
   PluginInfoHostImpl::RegisterUserPrefs(registry);
 #endif
@@ -879,6 +878,10 @@
   printing::PrintPreviewStickySettings::RegisterProfilePrefs(registry);
 #endif
 
+#if BUILDFLAG(ENABLE_RLZ)
+  ChromeRLZTrackerDelegate::RegisterProfilePrefs(registry);
+#endif
+
 #if BUILDFLAG(ENABLE_SERVICE_DISCOVERY)
   LocalDiscoveryUI::RegisterProfilePrefs(registry);
 #endif
@@ -890,56 +893,51 @@
 #endif
 
 #if defined(OS_ANDROID)
-  ntp_tiles::PopularSitesImpl::RegisterProfilePrefs(registry);
-  variations::VariationsService::RegisterProfilePrefs(registry);
+  cdm::MediaDrmStorageImpl::RegisterProfilePrefs(registry);
+  explore_sites::HistoryStatisticsReporter::RegisterPrefs(registry);
+  games::prefs::RegisterProfilePrefs(registry);
   GeolocationPermissionContextAndroid::RegisterProfilePrefs(registry);
   KnownInterceptionDisclosureInfoBarDelegate::RegisterProfilePrefs(registry);
+  MediaDrmOriginIdManager::RegisterProfilePrefs(registry);
+  NotificationChannelsProviderAndroid::RegisterProfilePrefs(registry);
+  ntp_snippets::ClickBasedCategoryRanker::RegisterProfilePrefs(registry);
+  ntp_tiles::PopularSitesImpl::RegisterProfilePrefs(registry);
+  OomInterventionDecider::RegisterProfilePrefs(registry);
   PartnerBookmarksShim::RegisterProfilePrefs(registry);
   RecentTabsPagePrefs::RegisterProfilePrefs(registry);
   usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
+  variations::VariationsService::RegisterProfilePrefs(registry);
 #if BUILDFLAG(ENABLE_FEED_IN_CHROME)
   feed::RegisterProfilePrefs(registry);
 #endif  // BUILDFLAG(ENABLE_FEED_IN_CHROME)
-#else
+#else   // defined(OS_ANDROID)
   apps::AppServiceProxy::RegisterProfilePrefs(registry);
   AppShortcutManager::RegisterProfilePrefs(registry);
-  DeviceIDFetcher::RegisterProfilePrefs(registry);
-  DevToolsWindow::RegisterProfilePrefs(registry);
-  extensions::CommandService::RegisterProfilePrefs(registry);
-  extensions::TabsCaptureVisibleTabFunction::RegisterProfilePrefs(registry);
-  NewTabUI::RegisterProfilePrefs(registry);
-  PepperFlashSettingsManager::RegisterProfilePrefs(registry);
-  PinnedTabCodec::RegisterProfilePrefs(registry);
-  signin::RegisterProfilePrefs(registry);
-#endif
-
-#if defined(OS_ANDROID)
-  cdm::MediaDrmStorageImpl::RegisterProfilePrefs(registry);
-  MediaDrmOriginIdManager::RegisterProfilePrefs(registry);
-  explore_sites::HistoryStatisticsReporter::RegisterPrefs(registry);
-  ntp_snippets::ClickBasedCategoryRanker::RegisterProfilePrefs(registry);
-  OomInterventionDecider::RegisterProfilePrefs(registry);
-  games::prefs::RegisterProfilePrefs(registry);
-#endif  // defined(OS_ANDROID)
-
-#if !defined(OS_ANDROID)
   browser_sync::ForeignSessionHandler::RegisterProfilePrefs(registry);
   ChromeAuthenticatorRequestDelegate::RegisterProfilePrefs(registry);
+  DeviceIDFetcher::RegisterProfilePrefs(registry);
+  DevToolsWindow::RegisterProfilePrefs(registry);
+  enterprise_reporting::RegisterProfilePrefs(registry);
+  extensions::CommandService::RegisterProfilePrefs(registry);
+  extensions::TabsCaptureVisibleTabFunction::RegisterProfilePrefs(registry);
   first_run::RegisterProfilePrefs(registry);
-  HatsService::RegisterProfilePrefs(registry);
-  InstantService::RegisterProfilePrefs(registry);
-  PromoService::RegisterProfilePrefs(registry);
-  SearchSuggestService::RegisterProfilePrefs(registry);
   gcm::GCMChannelStatusSyncer::RegisterProfilePrefs(registry);
   gcm::RegisterProfilePrefs(registry);
+  HatsService::RegisterProfilePrefs(registry);
+  HistoryUI::RegisterProfilePrefs(registry);
+  InstantService::RegisterProfilePrefs(registry);
   media_router::RegisterProfilePrefs(registry);
+  NewTabUI::RegisterProfilePrefs(registry);
   ntp_tiles::CustomLinksManagerImpl::RegisterProfilePrefs(registry);
+  PepperFlashSettingsManager::RegisterProfilePrefs(registry);
+  PinnedTabCodec::RegisterProfilePrefs(registry);
+  PromoService::RegisterProfilePrefs(registry);
+  SearchSuggestService::RegisterProfilePrefs(registry);
+  settings::SettingsUI::RegisterProfilePrefs(registry);
+  signin::RegisterProfilePrefs(registry);
   StartupBrowserCreator::RegisterProfilePrefs(registry);
-#endif
-
-#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
-  default_apps::RegisterProfilePrefs(registry);
-#endif
+  UnifiedAutoplayConfig::RegisterProfilePrefs(registry);
+#endif  // defined(OS_ANDROID)
 
 #if defined(OS_CHROMEOS)
   app_list::AppListSyncableService::RegisterProfilePrefs(registry);
@@ -983,12 +981,9 @@
   policy::AppInstallEventLogger::RegisterProfilePrefs(registry);
   policy::AppInstallEventLogManagerWrapper::RegisterProfilePrefs(registry);
   policy::StatusCollector::RegisterProfilePrefs(registry);
+  RegisterChromeLauncherUserPrefs(registry);
   ::onc::RegisterProfilePrefs(registry);
-#endif
-
-#if BUILDFLAG(ENABLE_RLZ)
-  ChromeRLZTrackerDelegate::RegisterProfilePrefs(registry);
-#endif
+#endif  // defined(OS_CHROMEOS)
 
 #if defined(OS_WIN)
   component_updater::RegisterProfilePrefsForSwReporter(registry);
@@ -1003,39 +998,17 @@
   browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry);
 #endif
 
-#if defined(TOOLKIT_VIEWS)
-  accessibility_prefs::RegisterInvertBubbleUserPrefs(registry);
-  RegisterBrowserViewProfilePrefs(registry);
-#endif
-
-#if defined(OS_CHROMEOS)
-  RegisterChromeLauncherUserPrefs(registry);
-#endif
-
-#if !defined(OS_ANDROID)
-  HistoryUI::RegisterProfilePrefs(registry);
-  settings::SettingsUI::RegisterProfilePrefs(registry);
-#endif
-
-#if BUILDFLAG(ENABLE_OFFLINE_PAGES)
-  offline_pages::OfflineMetricsCollectorImpl::RegisterPrefs(registry);
-  offline_pages::prefetch_prefs::RegisterPrefs(registry);
-#endif
-
-#if defined(OS_ANDROID)
-  NotificationChannelsProviderAndroid::RegisterProfilePrefs(registry);
-#endif
-
-#if !defined(OS_ANDROID)
-  UnifiedAutoplayConfig::RegisterProfilePrefs(registry);
+#if !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
+  default_apps::RegisterProfilePrefs(registry);
 #endif
 
 #if !defined(OS_CHROMEOS) && BUILDFLAG(ENABLE_EXTENSIONS)
   extensions::enterprise_reporting::RegisterProfilePrefs(registry);
 #endif
 
-#if !defined(OS_ANDROID)
-  enterprise_reporting::RegisterProfilePrefs(registry);
+#if defined(TOOLKIT_VIEWS)
+  accessibility_prefs::RegisterInvertBubbleUserPrefs(registry);
+  RegisterBrowserViewProfilePrefs(registry);
 #endif
 
   RegisterProfilePrefsForMigration(registry);
diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/renderer_preferences_util.cc
index ed00da9..f7ce4ce 100644
--- a/chrome/browser/renderer_preferences_util.cc
+++ b/chrome/browser/renderer_preferences_util.cc
@@ -21,6 +21,7 @@
 #include "third_party/blink/public/mojom/renderer_preferences.mojom.h"
 #include "third_party/blink/public/public_buildflags.h"
 #include "third_party/skia/include/core/SkColor.h"
+#include "ui/base/ui_base_features.h"
 
 #if defined(TOOLKIT_VIEWS)
 #include "ui/views/controls/textfield/textfield.h"
@@ -178,6 +179,10 @@
     prefs->allow_cross_origin_auth_prompt =
         local_state->GetBoolean(prefs::kAllowCrossOriginAuthPrompt);
   }
+
+  if (::features::IsFormControlsRefreshEnabled()) {
+    prefs->focus_ring_color = SkColorSetRGB(0x10, 0x10, 0x10);
+  }
 }
 
 }  // namespace renderer_preferences_util
diff --git a/chrome/browser/resource_coordinator/tab_manager.cc b/chrome/browser/resource_coordinator/tab_manager.cc
index 4c635c0..2fa13cd 100644
--- a/chrome/browser/resource_coordinator/tab_manager.cc
+++ b/chrome/browser/resource_coordinator/tab_manager.cc
@@ -268,12 +268,20 @@
   return DiscardTabImpl(LifecycleUnitDiscardReason::EXTERNAL);
 }
 
-void TabManager::LogMemoryAndDiscardTab(LifecycleUnitDiscardReason reason) {
+void TabManager::DiscardTabFromMemoryPressure() {
   DCHECK(!base::FeatureList::IsEnabled(
       performance_manager::features::kUrgentDiscardingFromPerformanceManager));
-  // Discard immediately without waiting for LogMemory() (https://crbug/850545).
-  // Consider removing LogMemory() at all if nobody cares about the log.
-  LogMemory("Tab Discards Memory details");
+
+#if defined(OS_CHROMEOS)
+  // Output a log with per-process memory usage and number of file descriptors,
+  // as well as GPU memory details. Discard happens without waiting for the log
+  // (https://crbug.com/850545) Per comment at
+  // https://crrev.com/c/chromium/src/+/1980282/3#message-d45cc354e7776d7e3d208e22dd2f6bbca3e9eae8,
+  // this log is used to diagnose issues on ChromeOS. Do not output it on other
+  // platforms since it is not used and data shows it can create IO thread hangs
+  // (https://crbug.com/1040522).
+  memory::OomMemoryDetails::Log("Tab Discards Memory details");
+#endif  // defined(OS_CHROMEOS)
 
   // Start handling memory pressure. Suppress further notifications before
   // completion in case a slow handler queues up multiple dispatches of this
@@ -282,12 +290,7 @@
 
   TabDiscardDoneCB tab_discard_done(base::BindOnce(
       &TabManager::OnTabDiscardDone, weak_ptr_factory_.GetWeakPtr()));
-  DiscardTab(reason, std::move(tab_discard_done));
-}
-
-void TabManager::LogMemory(const std::string& title) {
-  DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  memory::OomMemoryDetails::Log(title);
+  DiscardTab(LifecycleUnitDiscardReason::URGENT, std::move(tab_discard_done));
 }
 
 void TabManager::AddObserver(TabLifecycleObserver* observer) {
@@ -385,7 +388,7 @@
     case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_MODERATE:
       return;
     case base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL:
-      LogMemoryAndDiscardTab(LifecycleUnitDiscardReason::URGENT);
+      DiscardTabFromMemoryPressure();
       return;
   }
   NOTREACHED();
diff --git a/chrome/browser/resource_coordinator/tab_manager.h b/chrome/browser/resource_coordinator/tab_manager.h
index 779ab3d..7722635 100644
--- a/chrome/browser/resource_coordinator/tab_manager.h
+++ b/chrome/browser/resource_coordinator/tab_manager.h
@@ -8,7 +8,6 @@
 #include <stdint.h>
 
 #include <memory>
-#include <string>
 #include <vector>
 
 #include "base/compiler_specific.h"
@@ -104,13 +103,8 @@
   // was discarded.
   content::WebContents* DiscardTabByExtension(content::WebContents* contents);
 
-  // Log memory statistics for the running processes, then discards a tab.
-  // Tab discard happens sometime later, as collecting the statistics touches
-  // multiple threads and takes time.
-  void LogMemoryAndDiscardTab(LifecycleUnitDiscardReason reason);
-
-  // Log memory statistics for the running processes.
-  void LogMemory(const std::string& title);
+  // Discards a tab in response to memory pressure.
+  void DiscardTabFromMemoryPressure();
 
   // TODO(fdoray): Remove these methods. TabManager shouldn't know about tabs.
   // https://crbug.com/775644
diff --git a/chrome/browser/resources/settings/people_page/sync_browser_proxy.js b/chrome/browser/resources/settings/people_page/sync_browser_proxy.js
index 5ae3a43c..b846335 100644
--- a/chrome/browser/resources/settings/people_page/sync_browser_proxy.js
+++ b/chrome/browser/resources/settings/people_page/sync_browser_proxy.js
@@ -98,6 +98,11 @@
   };
 
   /**
+   * @typedef {{requestSucceeded: boolean, historyRecordingEnabled: boolean}}
+   */
+  let HistoryRecordingEnabled;
+
+  /**
    * Key to be used with localStorage.
    * @type {string}
    */
@@ -207,6 +212,13 @@
      * manager in passwords section on page load.
      */
     sendSyncPrefsChanged() {}
+
+    /**
+     * Fetches if history recording is enabled and can be used to provide
+     * personalized experience.
+     * @return {!Promise<!HistoryRecordingEnabled>}
+     */
+    queryIsHistoryRecordingEnabled() {}
   }
 
   /**
@@ -304,6 +316,11 @@
     sendSyncPrefsChanged() {
       chrome.send('SyncPrefsDispatch');
     }
+
+    /** @override */
+    queryIsHistoryRecordingEnabled() {
+      return cr.sendWithPromise('GetIsHistoryRecordingEnabledAndCanBeUsed');
+    }
   }
 
   cr.addSingletonGetter(SyncBrowserProxyImpl);
diff --git a/chrome/browser/resources/settings/people_page/sync_page.html b/chrome/browser/resources/settings/people_page/sync_page.html
index aa881290..ece496c4 100644
--- a/chrome/browser/resources/settings/people_page/sync_page.html
+++ b/chrome/browser/resources/settings/people_page/sync_page.html
@@ -14,6 +14,7 @@
 <link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/iron-flex-layout/iron-flex-layout-classes.html">
 <link rel="import" href="sync_account_control.html">
+<link rel="import" href="chrome://resources/polymer/v1_0/paper-spinner/paper-spinner-lite.html">
 <link rel="import" href="sync_browser_proxy.html">
 <link rel="import" href="../privacy_page/personalization_options.html">
 <link rel="import" href="../route.html">
@@ -81,6 +82,32 @@
         width: 40px;
       }
 
+      #history-usage-state {
+        text-align: end;
+        vertical-align: middle;
+        width: 36px;
+      }
+
+      #history-usage-row[disabled] {
+        pointer-events: none;
+      }
+
+      #history-usage-row[disabled] > #history-usage-state {
+        text-align: center;
+      }
+
+      #history-usage-row > cr-icon-button.icon-external {
+        margin-inline-start: 1px;
+      }
+
+      #history-usage-state paper-spinner-lite {
+        --paper-spinner-color: var(--google-grey-500);
+        --paper-spinner-stroke-width: 2px;
+        height: var(--cr-icon-size);
+        vertical-align: middle;
+        width: var(--cr-icon-size);
+    }
+
       #toast {
         left: 0;
         z-index: 1;
@@ -168,13 +195,31 @@
             </cr-icon-button>
           </div>
 
-          <a class="inherit-color no-outline list-item" tabindex="-1"
+          <a id="history-usage-row"
+              class="inherit-color no-outline list-item" tabindex="-1"
               target="_blank" href="$i18n{activityControlsUrl}"
-              on-click="onActivityControlsTap_">
+              on-click="onActivityControlsTap_"
+              disabled$="[[hideActivityControlsUrl_]]">
             <div class="start settings-box-text">
               $i18n{personalizeGoogleServicesTitle}
+              <div id="history-usage-hint"
+                  class="secondary" hidden$="[[!isSWAAFetched_(sWAA_)]]">
+                [[getHistoryUsageHint_(sWAA_, syncPrefs.encryptAllData,
+                      syncPrefs.typedUrlsSynced)]]
+              </div>
             </div>
-            <cr-icon-button class="icon-external"></cr-icon-button>
+            <div id="history-usage-state"
+                hidden$="[[!syncSetupFriendlySettings_]]">
+              <paper-spinner-lite
+                  class="last" hidden$="[[!isSWAAFetching_(sWAA_)]]" active>
+              </paper-spinner-lite>
+              <div class="secondary" hidden$="[[!isSWAAFetched_(sWAA_)]]">
+                [[getSWAAStateText_(sWAA_)]]
+              </div>
+            </div>
+            <cr-icon-button class="icon-external"
+                hidden$="[[hideActivityControlsUrl_]]">
+            </cr-icon-button>
           </a>
 
           <a id="syncDashboardLink"
diff --git a/chrome/browser/resources/settings/people_page/sync_page.js b/chrome/browser/resources/settings/people_page/sync_page.js
index 80b678c..2773656b 100644
--- a/chrome/browser/resources/settings/people_page/sync_page.js
+++ b/chrome/browser/resources/settings/people_page/sync_page.js
@@ -15,6 +15,18 @@
 };
 
 /**
+ * All possible states for the sWAA bit.
+ * @enum {string}
+ */
+const sWAAState = {
+  NOT_FETCHED: 'not-fetched',
+  FETCHING: 'fetching',
+  FAILED: 'failed',
+  ON: 'On',
+  OFF: 'Off',
+};
+
+/**
  * @fileoverview
  * 'settings-sync-page' is the settings page containing sync settings.
  */
@@ -24,6 +36,7 @@
   behaviors: [
     WebUIListenerBehavior,
     settings.RouteObserverBehavior,
+    I18nBehavior,
   ],
 
   properties: {
@@ -149,12 +162,55 @@
       computed: 'computeDisableEncryptionOptions_(' +
           'syncPrefs, syncStatus)',
     },
+
+    /**
+     * If sync page friendly settings is enabled.
+     * @private
+     */
+    syncSetupFriendlySettings_: {
+      type: Boolean,
+      value: function() {
+        return loadTimeData.valueExists('syncSetupFriendlySettings') &&
+            loadTimeData.getBoolean('syncSetupFriendlySettings');
+      }
+    },
+
+    /**
+     * Whether history is not synced or data is encrypted.
+     * @private
+     */
+    historyNotSyncedOrEncrypted_: {
+      type: Boolean,
+      computed: 'computeHistoryNotSyncedOrEncrypted_(' +
+          'syncPrefs.encryptAllData, syncPrefs.typedUrlsSynced)',
+    },
+
+    /** @private */
+    hideActivityControlsUrl_: {
+      type: Boolean,
+      computed: 'computeHideActivityControlsUrl_(historyNotSyncedOrEncrypted_)',
+    },
+
+    /** @private */
+    sWAA_: {
+      type: String,
+      value: sWAAState.NOT_FETCHED,
+    },
   },
 
+  observers: ['fetchSWAA_(syncSectionDisabled_, historyNotSyncedOrEncrypted_)'],
+
   /** @private {?settings.SyncBrowserProxy} */
   browserProxy_: null,
 
   /**
+   * The visibility changed callback is used to refetch the |sWAA_| bit when
+   * the page is foregrounded.
+   * @private {?Function}
+   */
+  visibilityChangedCallback_: null,
+
+  /**
    * The beforeunload callback is used to show the 'Leave site' dialog. This
    * makes sure that the user has the chance to go back and confirm the sync
    * opt-in before leaving.
@@ -252,6 +308,113 @@
   },
 
   /**
+   * @return {boolean} Returns true if History sync is off or data is encrypted.
+   * @private
+   */
+  computeHistoryNotSyncedOrEncrypted_: function() {
+    return !!(this.syncPrefs) &&
+        (!this.syncPrefs.typedUrlsSynced || this.syncPrefs.encryptAllData);
+  },
+
+  /**
+   * @return {boolean}
+   * @private
+   */
+  computeHideActivityControlsUrl_: function() {
+    return !!this.syncSetupFriendlySettings_ &&
+        !!this.historyNotSyncedOrEncrypted_;
+  },
+
+
+  /**
+   * Compute and fetch the sWAA bit for sync users. sWAA is 'OFF' if sync
+   * history is off or data is encrypted with custom passphrase. Otherwise,
+   * a query to |Web and App Activity| is needed.
+   * @private
+   */
+  fetchSWAA_: function() {
+    if (settings.getCurrentRoute() !== settings.routes.SYNC) {
+      return;
+    }
+
+    if (!this.syncSetupFriendlySettings_) {
+      return;
+    }
+
+    if (!this.syncPrefs || this.syncPrefs.encryptAllData === undefined ||
+        this.syncPrefs.typedUrlsSynced === undefined) {
+      return;
+    }
+
+    if (this.syncSectionDisabled_) {
+      this.sWAA_ = sWAAState.NOT_FETCHED;
+      return;
+    }
+
+    if (this.historyNotSyncedOrEncrypted_) {
+      this.sWAA_ = sWAAState.OFF;
+      return;
+    }
+
+    if (this.sWAA_ === sWAAState.FETCHING) {
+      return;
+    }
+
+    this.sWAA_ = sWAAState.FETCHING;
+    const updateSWAA = historyRecordingEnabled => {
+      this.sWAA_ = historyRecordingEnabled.requestSucceeded ?
+          (historyRecordingEnabled.historyRecordingEnabled ? sWAAState.ON :
+                                                             sWAAState.OFF) :
+          sWAAState.FAILED;
+    };
+    this.browserProxy_.queryIsHistoryRecordingEnabled().then(updateSWAA);
+  },
+
+  /**
+   * Refetch sWAA when the page is forgrounded, to guarantee the value shown is
+   * most up-to-date.
+   * @private
+   */
+  visibilityHandler_: function() {
+    if (document.visibilityState === 'visible') {
+      this.fetchSWAA_();
+    }
+  },
+
+  /**
+   * Return hint to explain the sWAA state. It is displayed as secondary text in
+   * the history usage row.
+   * @private
+   */
+  getHistoryUsageHint_: function() {
+    if (this.sWAA_ === sWAAState.ON) {
+      return this.i18n('sWAAOnHint');
+    }
+
+    if (this.sWAA_ === sWAAState.OFF) {
+      if (this.syncPrefs.encryptAllData) {
+        return this.i18n('dataEncryptedHint');
+      }
+
+      if (!this.syncPrefs.typedUrlsSynced) {
+        return this.i18n('historySyncOffHint');
+      }
+      return this.i18n('sWAAOffHint');
+    }
+    return '';
+  },
+
+  /**
+   * @private
+   */
+  getSWAAStateText_: function() {
+    if (!this.isSWAAFetched_()) {
+      return '';
+    }
+    return this.i18n(this.sWAA_ === sWAAState.ON ? 'sWAAOn' : 'sWAAOff');
+  },
+
+  /**
    * @return {boolean}
    * @private
    */
@@ -334,10 +497,27 @@
     return expectedPageStatus == this.pageStatus_;
   },
 
+  /**
+   * @return {boolean}
+   * @private
+   */
+  isSWAAFetching_: function() {
+    return this.sWAA_ === sWAAState.FETCHING;
+  },
+
+  /**
+   * @return {boolean}
+   * @private
+   */
+  isSWAAFetched_: function() {
+    return this.sWAA_ === sWAAState.ON || this.sWAA_ === sWAAState.OFF;
+  },
+
   /** @private */
   onNavigateToPage_: function() {
     assert(settings.getCurrentRoute() == settings.routes.SYNC);
-
+    this.sWAA_ = sWAAState.NOT_FETCHED;
+    this.fetchSWAA_();
     if (this.beforeunloadCallback_) {
       return;
     }
@@ -364,6 +544,11 @@
 
     this.unloadCallback_ = this.onNavigateAwayFromPage_.bind(this);
     window.addEventListener('unload', this.unloadCallback_);
+
+    this.visibilityChangedCallback_ = this.visibilityHandler_.bind(this);
+    window.addEventListener('focus', this.visibilityChangedCallback_);
+    document.addEventListener(
+        'visibilitychange', this.visibilityChangedCallback_);
   },
 
   /** @private */
@@ -385,6 +570,13 @@
       window.removeEventListener('unload', this.unloadCallback_);
       this.unloadCallback_ = null;
     }
+
+    if (this.visibilityChangedCallback_) {
+      window.removeEventListener('focus', this.visibilityChangedCallback_);
+      document.removeEventListener(
+          'visibilitychange', this.visibilityChangedCallback_);
+      this.visibilityChangedCallback_ = null;
+    }
   },
 
   /**
@@ -403,6 +595,10 @@
         (this.syncStatus && this.syncStatus.supervisedUser)) {
       this.creatingNewPassphrase_ = false;
     }
+
+    if (this.sWAA_ === sWAAState.FAILED) {
+      this.fetchSWAA_();
+    }
   },
 
   /** @private */
diff --git a/chrome/browser/sessions/session_tab_helper.cc b/chrome/browser/sessions/session_tab_helper.cc
index 9886e495..70f659b 100644
--- a/chrome/browser/sessions/session_tab_helper.cc
+++ b/chrome/browser/sessions/session_tab_helper.cc
@@ -8,6 +8,7 @@
 #include "components/sessions/content/content_serialized_navigation_builder.h"
 #include "content/public/browser/navigation_details.h"
 #include "content/public/browser/web_contents.h"
+#include "extensions/buildflags/buildflags.h"
 
 #if BUILDFLAG(ENABLE_EXTENSIONS)
 #include "extensions/common/extension_messages.h"
@@ -23,8 +24,7 @@
       session_id_(SessionID::NewUnique()),
       window_id_(SessionID::InvalidValue()) {}
 
-SessionTabHelper::~SessionTabHelper() {
-}
+SessionTabHelper::~SessionTabHelper() = default;
 
 void SessionTabHelper::SetWindowID(const SessionID& id) {
   window_id_ = id;
@@ -114,19 +114,5 @@
   session_service->UpdateTabNavigation(window_id(), session_id(), navigation);
 }
 #endif
-#if BUILDFLAG(ENABLE_EXTENSIONS)
-void SessionTabHelper::SetTabExtensionAppID(
-    const std::string& extension_app_id) {
-#if BUILDFLAG(ENABLE_SESSION_SERVICE)
-  SessionService* session_service = SessionServiceFactory::GetForProfile(
-      Profile::FromBrowserContext(web_contents()->GetBrowserContext()));
-  if (!session_service)
-    return;
-
-  session_service->SetTabExtensionAppID(window_id(), session_id(),
-                                        extension_app_id);
-#endif
-}
-#endif
 
 WEB_CONTENTS_USER_DATA_KEY_IMPL(SessionTabHelper)
diff --git a/chrome/browser/sessions/session_tab_helper.h b/chrome/browser/sessions/session_tab_helper.h
index 0a51079..f3e8182 100644
--- a/chrome/browser/sessions/session_tab_helper.h
+++ b/chrome/browser/sessions/session_tab_helper.h
@@ -10,7 +10,6 @@
 #include "components/sessions/core/session_id.h"
 #include "content/public/browser/web_contents_observer.h"
 #include "content/public/browser/web_contents_user_data.h"
-#include "extensions/buildflags/buildflags.h"
 
 // This class keeps the extension API's windowID up to date with the current
 // window of the tab and observes navigation events.
@@ -56,10 +55,6 @@
       const content::EntryChangedDetails& change_details) override;
 #endif
 
-#if BUILDFLAG(ENABLE_EXTENSIONS)
-  void SetTabExtensionAppID(const std::string& extension_app_id);
-#endif
-
  private:
   explicit SessionTabHelper(content::WebContents* contents);
   friend class content::WebContentsUserData<SessionTabHelper>;
diff --git a/chrome/browser/supervised_user/logged_in_user_mixin.h b/chrome/browser/supervised_user/logged_in_user_mixin.h
index a0afc535..807ae2b 100644
--- a/chrome/browser/supervised_user/logged_in_user_mixin.h
+++ b/chrome/browser/supervised_user/logged_in_user_mixin.h
@@ -96,6 +96,10 @@
 
   UserPolicyMixin* GetUserPolicyMixin() { return &user_policy_; }
 
+  LocalPolicyTestServerMixin* GetLocalPolicyTestServerMixin() {
+    return &local_policy_server_;
+  }
+
   policy::UserPolicyTestHelper* GetUserPolicyTestHelper() {
     return &user_policy_helper_;
   }
diff --git a/chrome/browser/sync/trusted_vault_client_android.cc b/chrome/browser/sync/trusted_vault_client_android.cc
index 289a271..6c53226 100644
--- a/chrome/browser/sync/trusted_vault_client_android.cc
+++ b/chrome/browser/sync/trusted_vault_client_android.cc
@@ -62,6 +62,10 @@
   std::move(cb).Run(!!result);
 }
 
+void TrustedVaultClientAndroid::NotifyKeysChanged(JNIEnv* env) {
+  observer_list_.Notify();
+}
+
 std::unique_ptr<TrustedVaultClientAndroid::Subscription>
 TrustedVaultClientAndroid::AddKeysChangedObserver(
     const base::RepeatingClosure& cb) {
diff --git a/chrome/browser/sync/trusted_vault_client_android.h b/chrome/browser/sync/trusted_vault_client_android.h
index 6cb94a2b..6f980d2 100644
--- a/chrome/browser/sync/trusted_vault_client_android.h
+++ b/chrome/browser/sync/trusted_vault_client_android.h
@@ -41,6 +41,9 @@
   // ongoing MarkKeysAsStale() request.
   void MarkKeysAsStaleCompleted(JNIEnv* env, jboolean result);
 
+  // Called from Java to notify that the keys in the vault may have changed.
+  void NotifyKeysChanged(JNIEnv* env);
+
   // TrustedVaultClient implementation.
   std::unique_ptr<Subscription> AddKeysChangedObserver(
       const base::RepeatingClosure& cb) override;
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 082c900..d063bdb0 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -509,7 +509,7 @@
     "//components/signin/public/identity_manager",
     "//components/spellcheck/browser",
     "//components/ssl_errors",
-    "//components/startup_metric_utils/browser:lib",
+    "//components/startup_metric_utils/browser",
     "//components/strings",
     "//components/subresource_filter/content/browser",
     "//components/subresource_filter/core/browser",
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
index 6edc6f8..7608ed3 100644
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -107,6 +107,11 @@
 const base::Feature kWebUITabStripDemoOptions{
     "WebUITabStripDemoOptions", base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Enables friendly settings for the |chrome://settings/syncSetup| page.
+// https://crbug.com/1035421.
+const base::Feature kSyncSetupFriendlySettings{
+    "SyncSetupFriendlySettings", base::FEATURE_DISABLED_BY_DEFAULT};
+
 #if defined(OS_CHROMEOS)
 // Enables a warning about connecting to hidden WiFi networks.
 // https://crbug.com/903908
diff --git a/chrome/browser/ui/ui_features.h b/chrome/browser/ui/ui_features.h
index 946b268..ac1cf17 100644
--- a/chrome/browser/ui/ui_features.h
+++ b/chrome/browser/ui/ui_features.h
@@ -54,6 +54,8 @@
 
 extern const base::Feature kWebUITabStripDemoOptions;
 
+extern const base::Feature kSyncSetupFriendlySettings;
+
 #if defined(OS_CHROMEOS)
 extern const base::Feature kHiddenNetworkWarning;
 #endif  // defined(OS_CHROMEOS)
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
index 882bafa3..492a0be2 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
+++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
@@ -525,23 +525,8 @@
 
 BookmarkBarView::BookmarkBarView(Browser* browser, BrowserView* browser_view)
     : AnimationDelegateViews(this),
-      button_listener_(this),
-      menu_button_listener_(this),
-      page_navigator_(nullptr),
-      managed_(nullptr),
-      bookmark_menu_(nullptr),
-      bookmark_drop_menu_(nullptr),
-      other_bookmarks_button_(nullptr),
-      managed_bookmarks_button_(nullptr),
-      apps_page_shortcut_(nullptr),
-      overflow_button_(nullptr),
-      bookmarks_separator_view_(nullptr),
       browser_(browser),
-      browser_view_(browser_view),
-      infobar_visible_(false),
-      size_animation_(this),
-      throbbing_view_(nullptr),
-      bookmark_bar_state_(BookmarkBar::SHOW) {
+      browser_view_(browser_view) {
   SetID(VIEW_ID_BOOKMARK_BAR);
   Init();
 
@@ -1451,21 +1436,17 @@
 
   // Child views are traversed in the order they are added. Make sure the order
   // they are added matches the visual order.
-  apps_page_shortcut_ = CreateAppsPageShortcutButton();
-  AddChildView(apps_page_shortcut_);
+  apps_page_shortcut_ = AddChildView(CreateAppsPageShortcutButton());
 
-  managed_bookmarks_button_ = CreateManagedBookmarksButton();
+  managed_bookmarks_button_ = AddChildView(CreateManagedBookmarksButton());
   // Also re-enabled when the model is loaded.
   managed_bookmarks_button_->SetEnabled(false);
-  AddChildView(managed_bookmarks_button_);
 
-  overflow_button_ = CreateOverflowButton();
-  AddChildView(overflow_button_);
+  overflow_button_ = AddChildView(CreateOverflowButton());
 
-  other_bookmarks_button_ = CreateOtherBookmarksButton();
+  other_bookmarks_button_ = AddChildView(CreateOtherBookmarksButton());
   // We'll re-enable when the model is loaded.
   other_bookmarks_button_->SetEnabled(false);
-  AddChildView(other_bookmarks_button_);
 
   profile_pref_registrar_.Init(browser_->profile()->GetPrefs());
   profile_pref_registrar_.Add(
@@ -1479,8 +1460,8 @@
   apps_page_shortcut_->SetVisible(
       chrome::ShouldShowAppsShortcutInBookmarkBar(browser_->profile()));
 
-  bookmarks_separator_view_ = new ButtonSeparatorView();
-  AddChildView(bookmarks_separator_view_);
+  bookmarks_separator_view_ =
+      AddChildView(std::make_unique<ButtonSeparatorView>());
   UpdateBookmarksSeparatorVisibility();
 
   set_context_menu_controller(this);
@@ -1503,26 +1484,26 @@
   return i - bookmark_buttons_.cbegin();
 }
 
-MenuButton* BookmarkBarView::CreateOtherBookmarksButton() {
+std::unique_ptr<MenuButton> BookmarkBarView::CreateOtherBookmarksButton() {
   // Title is set in Loaded.
-  MenuButton* button =
-      new BookmarkFolderButton(base::string16(), &menu_button_listener_);
+  auto button = std::make_unique<BookmarkFolderButton>(base::string16(),
+                                                       &menu_button_listener_);
   button->SetID(VIEW_ID_OTHER_BOOKMARKS);
   button->set_context_menu_controller(this);
   return button;
 }
 
-MenuButton* BookmarkBarView::CreateManagedBookmarksButton() {
+std::unique_ptr<MenuButton> BookmarkBarView::CreateManagedBookmarksButton() {
   // Title is set in Loaded.
-  MenuButton* button =
-      new BookmarkFolderButton(base::string16(), &menu_button_listener_);
+  auto button = std::make_unique<BookmarkFolderButton>(base::string16(),
+                                                       &menu_button_listener_);
   button->SetID(VIEW_ID_MANAGED_BOOKMARKS);
   button->set_context_menu_controller(this);
   return button;
 }
 
-MenuButton* BookmarkBarView::CreateOverflowButton() {
-  MenuButton* button = new OverflowButton(this, &menu_button_listener_);
+std::unique_ptr<MenuButton> BookmarkBarView::CreateOverflowButton() {
+  auto button = std::make_unique<OverflowButton>(this, &menu_button_listener_);
 
   // The overflow button's image contains an arrow and therefore it is a
   // direction sensitive image and we need to flip it if the UI layout is
@@ -1541,26 +1522,29 @@
   return button;
 }
 
-views::View* BookmarkBarView::CreateBookmarkButton(const BookmarkNode* node) {
+std::unique_ptr<views::View> BookmarkBarView::CreateBookmarkButton(
+    const BookmarkNode* node) {
   int index = node->parent()->GetIndexOf(node);
-  views::LabelButton* button = nullptr;
+  std::unique_ptr<views::LabelButton> button;
   if (node->is_url()) {
-    button =
-        new BookmarkButton(&button_listener_, node->url(), node->GetTitle());
+    button = std::make_unique<BookmarkButton>(&button_listener_, node->url(),
+                                              node->GetTitle());
     button->GetViewAccessibility().OverrideDescription(url_formatter::FormatUrl(
         node->url(), url_formatter::kFormatUrlOmitDefaults,
         net::UnescapeRule::SPACES, nullptr, nullptr, nullptr));
   } else {
-    button = new BookmarkFolderButton(node->GetTitle(), &menu_button_listener_);
+    button = std::make_unique<BookmarkFolderButton>(node->GetTitle(),
+                                                    &menu_button_listener_);
     button->GetViewAccessibility().OverrideDescription("");
   }
-  ConfigureButton(node, button);
-  bookmark_buttons_.insert(bookmark_buttons_.cbegin() + index, button);
+  ConfigureButton(node, button.get());
+  bookmark_buttons_.insert(bookmark_buttons_.cbegin() + index, button.get());
   return button;
 }
 
-views::LabelButton* BookmarkBarView::CreateAppsPageShortcutButton() {
-  views::LabelButton* button = new ShortcutButton(
+std::unique_ptr<views::LabelButton>
+BookmarkBarView::CreateAppsPageShortcutButton() {
+  auto button = std::make_unique<ShortcutButton>(
       &button_listener_,
       l10n_util::GetStringUTF16(IDS_BOOKMARK_BAR_APPS_SHORTCUT_NAME));
   button->SetTooltipText(
@@ -2000,8 +1984,9 @@
     LayoutAndPaint();
 }
 
-void BookmarkBarView::InsertBookmarkButtonAtIndex(views::View* button,
-                                                  size_t index) {
+void BookmarkBarView::InsertBookmarkButtonAtIndex(
+    std::unique_ptr<views::View> button,
+    size_t index) {
 // All of the secondary buttons are always in the view hierarchy, even if
 // they're not visible. The order should be: [Apps shortcut] [Managed bookmark
 // button] ..bookmark buttons.. [Overflow chevron] [Other bookmarks]
@@ -2019,7 +2004,7 @@
   DCHECK_EQ(*i++, overflow_button_);
   DCHECK_EQ(*i++, other_bookmarks_button_);
 #endif
-  AddChildViewAt(button,
+  AddChildViewAt(std::move(button),
                  GetIndexOf(managed_bookmarks_button_) + 1 + int{index});
 }
 
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h
index 4f36df04..9362500 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h
+++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.h
@@ -278,19 +278,20 @@
   size_t GetFirstHiddenNodeIndex();
 
   // Creates the button showing the "Other Bookmarks" folder.
-  views::MenuButton* CreateOtherBookmarksButton();
+  std::unique_ptr<views::MenuButton> CreateOtherBookmarksButton();
 
   // Creates the button showing the "Managed Bookmarks" folder.
-  views::MenuButton* CreateManagedBookmarksButton();
+  std::unique_ptr<views::MenuButton> CreateManagedBookmarksButton();
 
   // Creates the button used when not all bookmark buttons fit.
-  views::MenuButton* CreateOverflowButton();
+  std::unique_ptr<views::MenuButton> CreateOverflowButton();
 
   // Creates the button for rendering the specified bookmark node.
-  views::View* CreateBookmarkButton(const bookmarks::BookmarkNode* node);
+  std::unique_ptr<views::View> CreateBookmarkButton(
+      const bookmarks::BookmarkNode* node);
 
   // Creates the button for rendering the apps page shortcut.
-  views::LabelButton* CreateAppsPageShortcutButton();
+  std::unique_ptr<views::LabelButton> CreateAppsPageShortcutButton();
 
   // Configures the button from the specified node. This sets the text,
   // and icon.
@@ -373,77 +374,78 @@
 
   // Inserts |button| in logical position |index| in the bar, maintaining
   // correct focus traversal order.
-  void InsertBookmarkButtonAtIndex(views::View* button, size_t index);
+  void InsertBookmarkButtonAtIndex(std::unique_ptr<views::View> button,
+                                   size_t index);
 
   // Returns the model index for the bookmark associated with |button|,
   // or size_t{-1} if |button| is not a bookmark button from this bar.
   size_t GetIndexForButton(views::View* button);
 
   // These forward button callbacks into ::On{Menu}ButtonPressed.
-  ButtonListener button_listener_;
-  MenuButtonListener menu_button_listener_;
+  ButtonListener button_listener_{this};
+  MenuButtonListener menu_button_listener_{this};
 
   // Needed to react to kShowAppsShortcutInBookmarkBar changes.
   PrefChangeRegistrar profile_pref_registrar_;
 
   // Used for opening urls.
-  content::PageNavigator* page_navigator_;
+  content::PageNavigator* page_navigator_ = nullptr;
 
   // BookmarkModel that owns the entries and folders that are shown in this
   // view. This is owned by the Profile.
-  bookmarks::BookmarkModel* model_;
+  bookmarks::BookmarkModel* model_ = nullptr;
 
   // ManagedBookmarkService. This is owned by the Profile.
-  bookmarks::ManagedBookmarkService* managed_;
+  bookmarks::ManagedBookmarkService* managed_ = nullptr;
 
   // Used to manage showing a Menu, either for the most recently bookmarked
   // entries, or for the starred folder.
-  BookmarkMenuController* bookmark_menu_;
+  BookmarkMenuController* bookmark_menu_ = nullptr;
 
   // Used when showing a menu for drag and drop. That is, if the user drags
   // over a folder this becomes non-null and manages the menu showing the
   // contents of the node.
-  BookmarkMenuController* bookmark_drop_menu_;
+  BookmarkMenuController* bookmark_drop_menu_ = nullptr;
 
   // If non-NULL we're showing a context menu for one of the items on the
   // bookmark bar.
   std::unique_ptr<BookmarkContextMenu> context_menu_;
 
   // Shows the "Other Bookmarks" folder button.
-  views::MenuButton* other_bookmarks_button_;
+  views::MenuButton* other_bookmarks_button_ = nullptr;
 
   // Shows the managed bookmarks entries.
-  views::MenuButton* managed_bookmarks_button_;
+  views::MenuButton* managed_bookmarks_button_ = nullptr;
 
   // Shows the Apps page shortcut.
-  views::LabelButton* apps_page_shortcut_;
+  views::LabelButton* apps_page_shortcut_ = nullptr;
 
   // Used to track drops on the bookmark bar view.
   std::unique_ptr<DropInfo> drop_info_;
 
   // Visible if not all the bookmark buttons fit.
-  views::MenuButton* overflow_button_;
+  views::MenuButton* overflow_button_ = nullptr;
 
   // The individual bookmark buttons.
   std::vector<views::LabelButton*> bookmark_buttons_;
 
-  ButtonSeparatorView* bookmarks_separator_view_;
+  ButtonSeparatorView* bookmarks_separator_view_ = nullptr;
 
   Browser* const browser_;
   BrowserView* browser_view_;
 
   // True if the owning browser is showing an infobar.
-  bool infobar_visible_;
+  bool infobar_visible_ = false;
 
   // Animation controlling showing and hiding of the bar.
-  gfx::SlideAnimation size_animation_;
+  gfx::SlideAnimation size_animation_{this};
 
   // If the bookmark bubble is showing, this is the visible ancestor of the URL.
   // The visible ancestor is either the |other_bookmarks_button_|,
   // |overflow_button_| or a button on the bar.
-  views::Button* throbbing_view_;
+  views::Button* throbbing_view_ = nullptr;
 
-  BookmarkBar::State bookmark_bar_state_;
+  BookmarkBar::State bookmark_bar_state_ = BookmarkBar::SHOW;
 
   base::ObserverList<BookmarkBarViewObserver>::Unchecked observers_;
 
diff --git a/chrome/browser/ui/views/crostini/crostini_ansible_software_config_view_browsertest.cc b/chrome/browser/ui/views/crostini/crostini_ansible_software_config_view_browsertest.cc
index b0f52c4..745fc45 100644
--- a/chrome/browser/ui/views/crostini/crostini_ansible_software_config_view_browsertest.cc
+++ b/chrome/browser/ui/views/crostini/crostini_ansible_software_config_view_browsertest.cc
@@ -218,7 +218,8 @@
   EXPECT_NE(nullptr, ActiveView());
 
   ansible_management_service()->OnApplyAnsiblePlaybookProgress(
-      vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::SUCCEEDED);
+      vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::SUCCEEDED,
+      /*failure_details=*/"");
   base::RunLoop().RunUntilIdle();
 
   EXPECT_TRUE(HasNoView());
@@ -257,7 +258,8 @@
   EXPECT_NE(nullptr, ActiveView());
 
   ansible_management_service()->OnApplyAnsiblePlaybookProgress(
-      vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::FAILED);
+      vm_tools::cicerone::ApplyAnsiblePlaybookProgressSignal::FAILED,
+      /*failure_details=*/"");
   base::RunLoop().RunUntilIdle();
 
   EXPECT_NE(nullptr, ActiveView());
diff --git a/chrome/browser/ui/views/crostini/crostini_app_restart_view.cc b/chrome/browser/ui/views/crostini/crostini_app_restart_view.cc
index d8363ba3..382e5f4 100644
--- a/chrome/browser/ui/views/crostini/crostini_app_restart_view.cc
+++ b/chrome/browser/ui/views/crostini/crostini_app_restart_view.cc
@@ -39,10 +39,6 @@
   chrome::RecordDialogCreation(chrome::DialogIdentifier::CROSTINI_APP_RESTART);
 }
 
-int CrostiniAppRestartView::GetDialogButtons() const {
-  return ui::DIALOG_BUTTON_CANCEL | ui::DIALOG_BUTTON_OK;
-}
-
 bool CrostiniAppRestartView::ShouldShowCloseButton() const {
   return false;
 }
diff --git a/chrome/browser/ui/views/crostini/crostini_app_restart_view.h b/chrome/browser/ui/views/crostini/crostini_app_restart_view.h
index 6b56f46..c55893f 100644
--- a/chrome/browser/ui/views/crostini/crostini_app_restart_view.h
+++ b/chrome/browser/ui/views/crostini/crostini_app_restart_view.h
@@ -15,7 +15,6 @@
   static void Show(const ash::ShelfID& id, int64_t display_id);
 
   // views::DialogDelegateView:
-  int GetDialogButtons() const override;
   bool ShouldShowCloseButton() const override;
   bool Accept() override;
   gfx::Size CalculatePreferredSize() const override;
diff --git a/chrome/browser/ui/views/crostini/crostini_app_uninstaller_view.cc b/chrome/browser/ui/views/crostini/crostini_app_uninstaller_view.cc
index b940d6fd..486bf98 100644
--- a/chrome/browser/ui/views/crostini/crostini_app_uninstaller_view.cc
+++ b/chrome/browser/ui/views/crostini/crostini_app_uninstaller_view.cc
@@ -39,10 +39,6 @@
       ->Show();
 }
 
-int CrostiniAppUninstallerView::GetDialogButtons() const {
-  return ui::DIALOG_BUTTON_OK | ui::DIALOG_BUTTON_CANCEL;
-}
-
 base::string16 CrostiniAppUninstallerView::GetWindowTitle() const {
   return l10n_util::GetStringUTF16(
       IDS_CROSTINI_APPLICATION_UNINSTALL_CONFIRM_TITLE);
diff --git a/chrome/browser/ui/views/crostini/crostini_app_uninstaller_view.h b/chrome/browser/ui/views/crostini/crostini_app_uninstaller_view.h
index 74da0cd..0494e1a 100644
--- a/chrome/browser/ui/views/crostini/crostini_app_uninstaller_view.h
+++ b/chrome/browser/ui/views/crostini/crostini_app_uninstaller_view.h
@@ -21,7 +21,6 @@
   static void Show(Profile* profile, const std::string& app_id);
 
   // views::DialogDelegateView:
-  int GetDialogButtons() const override;
   base::string16 GetWindowTitle() const override;
   bool ShouldShowCloseButton() const override;
   bool Accept() override;
diff --git a/chrome/browser/ui/views/crostini/crostini_force_close_view.cc b/chrome/browser/ui/views/crostini/crostini_force_close_view.cc
index cb2c52a..ea37670 100644
--- a/chrome/browser/ui/views/crostini/crostini_force_close_view.cc
+++ b/chrome/browser/ui/views/crostini/crostini_force_close_view.cc
@@ -57,10 +57,6 @@
   return ui::ModalType::MODAL_TYPE_WINDOW;
 }
 
-int CrostiniForceCloseView::GetDialogButtons() const {
-  return ui::DIALOG_BUTTON_OK | ui::DIALOG_BUTTON_CANCEL;
-}
-
 bool CrostiniForceCloseView::ShouldShowCloseButton() const {
   return false;
 }
diff --git a/chrome/browser/ui/views/crostini/crostini_force_close_view.h b/chrome/browser/ui/views/crostini/crostini_force_close_view.h
index 4a3912ef..6cf0af0 100644
--- a/chrome/browser/ui/views/crostini/crostini_force_close_view.h
+++ b/chrome/browser/ui/views/crostini/crostini_force_close_view.h
@@ -35,7 +35,6 @@
   bool Accept() override;
   ui::ModalType GetModalType() const override;
   bool ShouldShowCloseButton() const override;
-  int GetDialogButtons() const override;
   base::string16 GetWindowTitle() const override;
   gfx::Size CalculatePreferredSize() const override;
 
diff --git a/chrome/browser/ui/views/crostini/crostini_package_install_failure_view.cc b/chrome/browser/ui/views/crostini/crostini_package_install_failure_view.cc
index 0ee7710..779283a 100644
--- a/chrome/browser/ui/views/crostini/crostini_package_install_failure_view.cc
+++ b/chrome/browser/ui/views/crostini/crostini_package_install_failure_view.cc
@@ -32,10 +32,6 @@
       ->Show();
 }
 
-int CrostiniPackageInstallFailureView::GetDialogButtons() const {
-  return ui::DIALOG_BUTTON_OK;
-}
-
 bool CrostiniPackageInstallFailureView::ShouldShowCloseButton() const {
   return false;
 }
@@ -54,6 +50,7 @@
 
 CrostiniPackageInstallFailureView::CrostiniPackageInstallFailureView(
     const std::string& error_message) {
+  DialogDelegate::set_buttons(ui::DIALOG_BUTTON_OK);
   views::LayoutProvider* provider = views::LayoutProvider::Get();
   SetLayoutManager(std::make_unique<views::BoxLayout>(
       views::BoxLayout::Orientation::kVertical,
diff --git a/chrome/browser/ui/views/crostini/crostini_package_install_failure_view.h b/chrome/browser/ui/views/crostini/crostini_package_install_failure_view.h
index 6ae77fe6..cd825b8f 100644
--- a/chrome/browser/ui/views/crostini/crostini_package_install_failure_view.h
+++ b/chrome/browser/ui/views/crostini/crostini_package_install_failure_view.h
@@ -15,7 +15,6 @@
 
   // BubbleDialogDelegateView overrides.
   bool ShouldShowCloseButton() const override;
-  int GetDialogButtons() const override;
   base::string16 GetWindowTitle() const override;
   gfx::Size CalculatePreferredSize() const override;
 
diff --git a/chrome/browser/ui/views/crostini/crostini_uninstaller_view.cc b/chrome/browser/ui/views/crostini/crostini_uninstaller_view.cc
index 27b5f7b1..4a5d0bf 100644
--- a/chrome/browser/ui/views/crostini/crostini_uninstaller_view.cc
+++ b/chrome/browser/ui/views/crostini/crostini_uninstaller_view.cc
@@ -50,19 +50,6 @@
   g_crostini_uninstaller_view->GetWidget()->Show();
 }
 
-int CrostiniUninstallerView::GetDialogButtons() const {
-  switch (state_) {
-    case State::PROMPT:
-      return ui::DIALOG_BUTTON_OK | ui::DIALOG_BUTTON_CANCEL;
-    case State::UNINSTALLING:
-      return ui::DIALOG_BUTTON_NONE;
-    case State::ERROR:
-      return ui::DIALOG_BUTTON_CANCEL;
-  }
-  NOTREACHED();
-  return 0;
-}
-
 base::string16 CrostiniUninstallerView::GetWindowTitle() const {
   const base::string16 device_type = ui::GetChromeOSDeviceName();
   return l10n_util::GetStringUTF16(IDS_CROSTINI_UNINSTALLER_TITLE);
@@ -74,6 +61,7 @@
 
 bool CrostiniUninstallerView::Accept() {
   state_ = State::UNINSTALLING;
+  DialogDelegate::set_buttons(ui::DIALOG_BUTTON_NONE);
   message_label_->SetText(
       l10n_util::GetStringUTF16(IDS_CROSTINI_UNINSTALLER_UNINSTALLING_MESSAGE));
 
@@ -140,6 +128,7 @@
 
 void CrostiniUninstallerView::HandleError(const base::string16& error_message) {
   state_ = State::ERROR;
+  DialogDelegate::set_buttons(ui::DIALOG_BUTTON_CANCEL);
   message_label_->SetVisible(true);
   message_label_->SetText(error_message);
   progress_bar_->SetVisible(false);
diff --git a/chrome/browser/ui/views/crostini/crostini_uninstaller_view.h b/chrome/browser/ui/views/crostini/crostini_uninstaller_view.h
index a33b0ed..d03548c 100644
--- a/chrome/browser/ui/views/crostini/crostini_uninstaller_view.h
+++ b/chrome/browser/ui/views/crostini/crostini_uninstaller_view.h
@@ -34,7 +34,6 @@
   static void Show(Profile* profile);
 
   // views::DialogDelegateView:
-  int GetDialogButtons() const override;
   base::string16 GetWindowTitle() const override;
   bool ShouldShowCloseButton() const override;
   bool Accept() override;
diff --git a/chrome/browser/ui/views/crostini/crostini_update_component_view.cc b/chrome/browser/ui/views/crostini/crostini_update_component_view.cc
index 270a04f1..355fa8e 100644
--- a/chrome/browser/ui/views/crostini/crostini_update_component_view.cc
+++ b/chrome/browser/ui/views/crostini/crostini_update_component_view.cc
@@ -46,10 +46,6 @@
   g_crostini_upgrade_view->GetWidget()->Show();
 }
 
-int CrostiniUpdateComponentView::GetDialogButtons() const {
-  return ui::DIALOG_BUTTON_OK;
-}
-
 base::string16 CrostiniUpdateComponentView::GetWindowTitle() const {
   return l10n_util::GetStringUTF16(IDS_CROSTINI_TERMINA_UPDATE_REQUIRED);
 }
@@ -72,6 +68,8 @@
 }
 
 CrostiniUpdateComponentView::CrostiniUpdateComponentView() {
+  DialogDelegate::set_buttons(ui::DIALOG_BUTTON_OK);
+
   views::LayoutProvider* provider = views::LayoutProvider::Get();
   SetLayoutManager(std::make_unique<views::BoxLayout>(
       views::BoxLayout::Orientation::kVertical,
diff --git a/chrome/browser/ui/views/crostini/crostini_update_component_view.h b/chrome/browser/ui/views/crostini/crostini_update_component_view.h
index ff5eb58..db1842a 100644
--- a/chrome/browser/ui/views/crostini/crostini_update_component_view.h
+++ b/chrome/browser/ui/views/crostini/crostini_update_component_view.h
@@ -20,7 +20,6 @@
   static void Show(Profile* profile);
 
   // views::DialogDelegateView:
-  int GetDialogButtons() const override;
   base::string16 GetWindowTitle() const override;
   bool ShouldShowCloseButton() const override;
   gfx::Size CalculatePreferredSize() const override;
diff --git a/chrome/browser/ui/views/crostini/crostini_update_filesystem_view.cc b/chrome/browser/ui/views/crostini/crostini_update_filesystem_view.cc
index 34d11664..1124a43 100644
--- a/chrome/browser/ui/views/crostini/crostini_update_filesystem_view.cc
+++ b/chrome/browser/ui/views/crostini/crostini_update_filesystem_view.cc
@@ -90,10 +90,6 @@
   g_crostini_update_filesystem_view_dialog->GetWidget()->Show();
 }
 
-int CrostiniUpdateFilesystemView::GetDialogButtons() const {
-  return ui::DIALOG_BUTTON_OK;
-}
-
 base::string16 CrostiniUpdateFilesystemView::GetWindowTitle() const {
   return l10n_util::GetStringUTF16(IDS_CROSTINI_UPGRADING_LABEL);
 }
@@ -118,6 +114,8 @@
 CrostiniUpdateFilesystemView::CrostiniUpdateFilesystemView() {
   constexpr int kDialogSpacingVertical = 32;
 
+  DialogDelegate::set_buttons(ui::DIALOG_BUTTON_OK);
+
   views::LayoutProvider* provider = views::LayoutProvider::Get();
   SetLayoutManager(std::make_unique<views::BoxLayout>(
       views::BoxLayout::Orientation::kVertical,
diff --git a/chrome/browser/ui/views/crostini/crostini_update_filesystem_view.h b/chrome/browser/ui/views/crostini/crostini_update_filesystem_view.h
index 7863d199..4fb7dcc 100644
--- a/chrome/browser/ui/views/crostini/crostini_update_filesystem_view.h
+++ b/chrome/browser/ui/views/crostini/crostini_update_filesystem_view.h
@@ -20,7 +20,6 @@
   static void Show(Profile* profile);
 
   // views::DialogDelegateView:
-  int GetDialogButtons() const override;
   base::string16 GetWindowTitle() const override;
   bool ShouldShowCloseButton() const override;
   gfx::Size CalculatePreferredSize() const override;
diff --git a/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc b/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc
index 71cb631..d79292c6 100644
--- a/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/os_settings_ui.cc
@@ -29,6 +29,7 @@
 #include "chrome/browser/chromeos/plugin_vm/plugin_vm_util.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
+#include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/web_applications/system_web_app_ui_utils.h"
 #include "chrome/browser/ui/webui/app_management/app_management.mojom.h"
 #include "chrome/browser/ui/webui/app_management/app_management_page_handler.h"
@@ -118,6 +119,9 @@
   html_source->AddBoolean(
       "showParentalControls",
       chromeos::settings::ShouldShowParentalControls(profile));
+  html_source->AddBoolean(
+      "syncSetupFriendlySettings",
+      base::FeatureList::IsEnabled(::features::kSyncSetupFriendlySettings));
 
   AddSettingsPageUIHandler(
       std::make_unique<::settings::AccessibilityMainHandler>());
diff --git a/chrome/browser/ui/webui/settings/people_handler.cc b/chrome/browser/ui/webui/settings/people_handler.cc
index 6d5442f..4337caf6 100644
--- a/chrome/browser/ui/webui/settings/people_handler.cc
+++ b/chrome/browser/ui/webui/settings/people_handler.cc
@@ -16,6 +16,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/values.h"
 #include "build/build_config.h"
+#include "chrome/browser/history/web_history_service_factory.h"
 #include "chrome/browser/lifetime/application_lifetime.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/profiles/profile_avatar_icon_util.h"
@@ -30,11 +31,14 @@
 #include "chrome/browser/ui/browser_window.h"
 #include "chrome/browser/ui/chrome_pages.h"
 #include "chrome/browser/ui/singleton_tabs.h"
+#include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/webui/signin/login_ui_service.h"
 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h"
 #include "chrome/common/url_constants.h"
 #include "chrome/grit/generated_resources.h"
 #include "components/autofill/core/common/autofill_prefs.h"
+#include "components/browsing_data/core/history_notice_utils.h"
+#include "components/history/core/browser/web_history_service.h"
 #include "components/prefs/pref_service.h"
 #include "components/signin/core/browser/signin_error_controller.h"
 #include "components/signin/public/base/signin_metrics.h"
@@ -305,6 +309,11 @@
       "SyncPrefsDispatch",
       base::BindRepeating(&PeopleHandler::HandleSyncPrefsDispatch,
                           base::Unretained(this)));
+  web_ui()->RegisterMessageCallback(
+      "GetIsHistoryRecordingEnabledAndCanBeUsed",
+      base::BindRepeating(
+          &PeopleHandler::HandleGetIsHistoryRecordingEnabledAndCanBeUsed,
+          base::Unretained(this)));
 #if defined(OS_CHROMEOS)
   web_ui()->RegisterMessageCallback(
       "AttemptUserExit",
@@ -474,6 +483,36 @@
     ProfileMetrics::LogProfileSyncInfo(ProfileMetrics::SYNC_CHOOSE);
 }
 
+void PeopleHandler::HandleGetIsHistoryRecordingEnabledAndCanBeUsed(
+    const base::ListValue* args) {
+  AllowJavascript();
+  std::string webui_callback_id;
+  CHECK(args->GetString(0, &webui_callback_id));
+
+  DCHECK(base::FeatureList::IsEnabled(features::kSyncSetupFriendlySettings));
+  syncer::SyncService* sync_service = GetSyncService();
+  history::WebHistoryService* history_service =
+      WebHistoryServiceFactory::GetForProfile(profile_);
+
+  browsing_data::IsHistoryRecordingEnabledAndCanBeUsed(
+      sync_service, history_service,
+      base::Bind(&PeopleHandler::OnQueryHistoryRecordingCompletion,
+                 weak_factory_.GetWeakPtr(), webui_callback_id));
+}
+
+void PeopleHandler::OnQueryHistoryRecordingCompletion(
+    const std::string& webui_callback_id,
+    const base::Optional<bool>& history_recording_enabled) {
+  if (!IsJavascriptAllowed())
+    return;
+
+  std::unique_ptr<base::DictionaryValue> status(new base::DictionaryValue);
+  status->SetBoolean("requestSucceeded", history_recording_enabled.has_value());
+  status->SetBoolean("historyRecordingEnabled",
+                     history_recording_enabled.value_or(false));
+  ResolveJavascriptCallback(base::Value(webui_callback_id), *status);
+}
+
 void PeopleHandler::HandleGetStoredAccounts(const base::ListValue* args) {
   CHECK_EQ(1U, args->GetSize());
   const base::Value* callback_id;
diff --git a/chrome/browser/ui/webui/settings/people_handler.h b/chrome/browser/ui/webui/settings/people_handler.h
index 89822fc..921cec5 100644
--- a/chrome/browser/ui/webui/settings/people_handler.h
+++ b/chrome/browser/ui/webui/settings/people_handler.h
@@ -156,6 +156,8 @@
   void HandleShowSetupUI(const base::ListValue* args);
   void HandleAttemptUserExit(const base::ListValue* args);
   void HandleSyncPrefsDispatch(const base::ListValue* args);
+  void HandleGetIsHistoryRecordingEnabledAndCanBeUsed(
+      const base::ListValue* args);
 #if defined(OS_CHROMEOS)
   void HandleRequestPinLoginState(const base::ListValue* args);
 #endif
@@ -181,6 +183,10 @@
   void OnPinLoginAvailable(bool is_available);
 #endif
 
+  void OnQueryHistoryRecordingCompletion(
+      const std::string& webui_callback_id,
+      const base::Optional<bool>& history_recording_enabled);
+
   void HandleGetStoredAccounts(const base::ListValue* args);
   void HandleStartSyncingWithEmail(const base::ListValue* args);
   base::Value GetStoredAccountsList();
@@ -230,9 +236,7 @@
   ScopedObserver<syncer::SyncService, syncer::SyncServiceObserver>
       sync_service_observer_{this};
 
-#if defined(OS_CHROMEOS)
   base::WeakPtrFactory<PeopleHandler> weak_factory_{this};
-#endif
 
   DISALLOW_COPY_AND_ASSIGN(PeopleHandler);
 };
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
index 7f21de6..1864519e 100644
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -26,6 +26,7 @@
 #include "chrome/browser/signin/account_consistency_mode_manager.h"
 #include "chrome/browser/sync/profile_sync_service_factory.h"
 #include "chrome/browser/ui/passwords/manage_passwords_view_utils.h"
+#include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/webui/management_ui.h"
 #include "chrome/browser/ui/webui/policy_indicator_localized_strings_provider.h"
 #include "chrome/browser/ui/webui/webui_util.h"
@@ -2231,13 +2232,29 @@
     {"passphraseConfirmationPlaceholder",
      IDS_SETTINGS_PASSPHRASE_CONFIRMATION_PLACEHOLDER},
     {"submitPassphraseButton", IDS_SETTINGS_SUBMIT_PASSPHRASE},
-    {"personalizeGoogleServicesTitle",
-     IDS_SETTINGS_PERSONALIZE_GOOGLE_SERVICES_TITLE},
     {"existingPassphraseTitle", IDS_SETTINGS_EXISTING_PASSPHRASE_TITLE},
     {"enablePaymentsIntegrationCheckboxLabel",
      IDS_AUTOFILL_ENABLE_PAYMENTS_INTEGRATION_CHECKBOX_LABEL},
   };
   AddLocalizedStringsBulk(html_source, kLocalizedStrings);
+  if (base::FeatureList::IsEnabled(features::kSyncSetupFriendlySettings)) {
+    static constexpr webui::LocalizedString
+        kSyncSetupFriendlySettingsStrings[] = {
+            {"personalizeGoogleServicesTitle",
+             IDS_SETTINGS_USE_HISTORY_TO_PERSONALIZE_GOOGLE_SERVICES_TITLE},
+            {"sWAAOn", IDS_SETTINGS_SWAA_ON},
+            {"sWAAOff", IDS_SETTINGS_SWAA_OFF},
+            {"sWAAOnHint", IDS_SETTINGS_SWAA_ON_HINT},
+            {"dataEncryptedHint", IDS_SETTINGS_DATA_ENCRYPTED_HINT},
+            {"historySyncOffHint", IDS_SETTINGS_HISTORY_SYNC_OFF_HINT},
+            {"sWAAOffHint", IDS_SETTINGS_SWAA_OFF_HINT},
+        };
+    AddLocalizedStringsBulk(html_source, kSyncSetupFriendlySettingsStrings);
+  } else {
+    html_source->AddLocalizedString(
+        "personalizeGoogleServicesTitle",
+        IDS_SETTINGS_PERSONALIZE_GOOGLE_SERVICES_TITLE);
+  }
 #if defined(OS_CHROMEOS)
   AddFingerprintStrings(html_source);
 #endif  // OS_CHROMEOS
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
index c9fb6d6..c2817c4 100644
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
@@ -20,6 +20,7 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/browser/ui/passwords/manage_passwords_view_utils.h"
+#include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/webui/favicon_source.h"
 #include "chrome/browser/ui/webui/managed_ui_handler.h"
 #include "chrome/browser/ui/webui/metrics_handler.h"
@@ -234,6 +235,10 @@
                           base::FeatureList::IsEnabled(
                               password_manager::features::kPasswordImport));
 
+  html_source->AddBoolean(
+      "syncSetupFriendlySettings",
+      base::FeatureList::IsEnabled(features::kSyncSetupFriendlySettings));
+
 #if defined(OS_CHROMEOS)
   html_source->AddBoolean(
       "showParentalControls",
diff --git a/chrome/chrome_cleaner/engines/broker/engine_requests_no_blocking_unittest.cc b/chrome/chrome_cleaner/engines/broker/engine_requests_no_blocking_unittest.cc
index 6a3c45e..b403bd73 100644
--- a/chrome/chrome_cleaner/engines/broker/engine_requests_no_blocking_unittest.cc
+++ b/chrome/chrome_cleaner/engines/broker/engine_requests_no_blocking_unittest.cc
@@ -437,7 +437,9 @@
 };
 
 MULTIPROCESS_TEST_MAIN(EngineRequestsNoBlocking) {
-  base::test::TaskEnvironment task_environment;
+  // COM can't be initialized inside the sandbox.
+  base::test::TaskEnvironment task_environment(
+      base::test::TaskEnvironment::ThreadPoolCOMEnvironment::NONE);
 
   auto child_process = SetupSandboxedChildProcess();
   if (!child_process)
@@ -520,11 +522,6 @@
     : public ::testing::TestWithParam<const char*> {};
 
 TEST_P(EngineRequestsNoBlockingTest, TestRequest) {
-  // All of these tests fail when run on win8 bots so return right away.
-  // TODO(crbug.com/947576): Find out why and re-enable them.
-  if (base::win::GetVersion() == base::win::Version::WIN8)
-    return;
-
   base::test::TaskEnvironment task_environment;
 
   // This event will be shared between the parent and child processes. The
diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/common/extensions/api/_permission_features.json
index 0af7474..c929b37 100644
--- a/chrome/common/extensions/api/_permission_features.json
+++ b/chrome/common/extensions/api/_permission_features.json
@@ -451,6 +451,7 @@
     "platforms": ["chromeos"],
     "whitelist": [
       "7FE4A999359A456C4B0FB7B7AD85CEA29CA50519",  // Login screen APIs test extension
+      "3F5995FE79A861F019C6F093BEF98D73FA9D3A5F",  // Login screen APIs in-sesesion test extension
       "E219EE36A3B40612FD2A8CD6937B03EF0C97D3FE",  // Imprivata (login screen)
       "4DBFC1C52D6660DD90791976DF7FEF7B3D360509",  // Imprivata (login screen) DEV
       "A24DE1B21A67E25FB62AC8491642038FE25DA75B",  // Imprivata (in session)
diff --git a/chrome/common/extensions/api/login.idl b/chrome/common/extensions/api/login.idl
index 4231b217..83ab63e 100644
--- a/chrome/common/extensions/api/login.idl
+++ b/chrome/common/extensions/api/login.idl
@@ -13,7 +13,15 @@
     // Launches a managed guest session if one is set up via the admin console.
     // If there are several managed guest sessions set up, it will launch the
     // first available one.
-    static void launchManagedGuestSession(optional VoidCallback callback);
+    // |password|: If provided, the launched managed guest session will be
+    // lockable, and can only be unlocked by calling
+    // <code>unlockManagedGuestSession()</code> with the same password.
+    // |callback|: Note: If the function succeeds, the callback is not
+    // guaranteed to be called as the extension will be disabled when the
+    // session starts. Use this callback only to handle the failure case by
+    // checking <code>chrome.runtime.lastError</code>.
+    static void launchManagedGuestSession(optional DOMString password,
+                                          optional VoidCallback callback);
 
     // Exits the current session.
     // |dataForNextLoginAttempt|: If set, stores data which can be read by
@@ -28,5 +36,20 @@
     // |callback|: Called with the stored data, or an empty string if there was
     // no previously stored data.
     static void fetchDataForNextLoginAttempt(StringCallback callback);
+
+    // Locks the current managed guest session. The session has to have been
+    // launched by <code>launchManagedGuestSession()</code> with a password.
+    static void lockManagedGuestSession(optional VoidCallback callback);
+
+    // Unlocks a managed guest session which was launched by
+    // <code>launchManagedGuestSession()</code> with a password. The session
+    // will unlock if the provided password matches the one provided earlier.
+    // |password|: The password which will be used to unlock the session.
+    // |callback|: Note: If the function succeeds, the callback is not
+    // guaranteed to be called as the extension will be disabled when the
+    // session starts. Use this callback only to handle the failure case by
+    // checking <code>chrome.runtime.lastError</code>.
+    static void unlockManagedGuestSession(DOMString password,
+                                          optional VoidCallback callback);
   };
 };
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
index 0a0ba8fd..8f4b178 100644
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -1006,6 +1006,14 @@
 const char kLoginExtensionApiDataForNextLoginAttempt[] =
     "extensions_api.login.data_for_next_login_attempt";
 
+// A string user profile pref containing the ID of the extension which launched
+// the current Managed Guest Session using the chrome.login extension API. A
+// non-empty ID indicates that the current Managed Guest Session is lockable,
+// and can only be unlocked by the specified extension using the chrome.login
+// extension API.
+const char kLoginExtensionApiLaunchExtensionId[] =
+    "extensions_api.login.launch_extension_id";
+
 // String containing last RSU lookup key uploaded. Empty until first upload.
 const char kLastRsuDeviceIdUploaded[] = "rsu.last_rsu_device_id_uploaded";
 
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
index 18de222e..b21d367 100644
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -321,6 +321,7 @@
 extern const char kAppReinstallRecommendationEnabled[];
 extern const char kStartupBrowserWindowLaunchSuppressed[];
 extern const char kLoginExtensionApiDataForNextLoginAttempt[];
+extern const char kLoginExtensionApiLaunchExtensionId[];
 extern const char kSettingsShowBrowserBanner[];
 extern const char kSettingsShowOSBanner[];
 extern const char kDeviceLoginScreenWebUsbAllowDevicesForUrls[];
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
index 4b54fa5..32d2163 100644
--- a/chrome/renderer/BUILD.gn
+++ b/chrome/renderer/BUILD.gn
@@ -157,7 +157,6 @@
     "//components/security_interstitials/core:",
     "//components/security_interstitials/core/common/mojom:",
     "//components/spellcheck:buildflags",
-    "//components/startup_metric_utils/common:interfaces",
     "//components/subresource_filter/content/renderer",
     "//components/translate/content/renderer",
     "//components/translate/core/common",
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index 9165e0a..d37bd74 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -88,7 +88,6 @@
 #include "components/safe_browsing/buildflags.h"
 #include "components/safe_browsing/content/renderer/threat_dom_details.h"
 #include "components/spellcheck/spellcheck_buildflags.h"
-#include "components/startup_metric_utils/common/startup_metric.mojom.h"
 #include "components/subresource_filter/content/renderer/subresource_filter_agent.h"
 #include "components/subresource_filter/content/renderer/unverified_ruleset_dealer.h"
 #include "components/subresource_filter/core/common/common_features.h"
@@ -319,7 +318,7 @@
 }  // namespace
 
 ChromeContentRendererClient::ChromeContentRendererClient()
-    : main_entry_time_(base::TimeTicks::Now()),
+    :
 #if defined(OS_WIN)
       remote_module_watcher_(nullptr, base::OnTaskRunnerDeleter(nullptr)),
 #endif
@@ -348,13 +347,6 @@
           ? blink::scheduler::WebRendererProcessType::kExtensionRenderer
           : blink::scheduler::WebRendererProcessType::kRenderer);
 
-  {
-    mojo::Remote<startup_metric_utils::mojom::StartupMetricHost>
-        startup_metric_host;
-    thread->BindHostReceiver(startup_metric_host.BindNewPipeAndPassReceiver());
-    startup_metric_host->RecordRendererMainEntryTime(main_entry_time_);
-  }
-
 #if defined(OS_WIN)
   mojo::PendingRemote<mojom::ModuleEventSink> module_event_sink;
   thread->BindHostReceiver(module_event_sink.InitWithNewPipeAndPassReceiver());
diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h
index dd5c2ca..d891d8a 100644
--- a/chrome/renderer/chrome_content_renderer_client.h
+++ b/chrome/renderer/chrome_content_renderer_client.h
@@ -261,10 +261,6 @@
   void BindWebRTCLoggingAgent(
       mojo::PendingReceiver<chrome::mojom::WebRtcLoggingAgent> receiver);
 
-  // Time at which this object was created. This is very close to the time at
-  // which the RendererMain function was entered.
-  base::TimeTicks main_entry_time_;
-
 #if BUILDFLAG(ENABLE_NACL)
   // Determines if a page/app/extension is allowed to run native (non-PNaCl)
   // NaCl modules.
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index e270d536..30b0dc4 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -686,6 +686,7 @@
       "//chrome:strings",
       "//chrome/browser",
       "//chrome/browser/devtools:test_support",
+      "//chrome/browser/metrics:test_support",
       "//chrome/browser/notifications/scheduler/test:test_support",
       "//chrome/browser/profiling_host:profiling_browsertests",
       "//chrome/browser/web_applications:browser_tests",
@@ -1000,6 +1001,7 @@
       "../browser/metrics/desktop_session_duration/audible_contents_tracker_browsertest.cc",
       "../browser/metrics/metrics_reporting_state_browsertest.cc",
       "../browser/metrics/metrics_service_browsertest.cc",
+      "../browser/metrics/metrics_service_user_demographics_browsertest.cc",
       "../browser/metrics/oom/out_of_memory_reporter_browsertest.cc",
       "../browser/metrics/process_memory_metrics_emitter_browsertest.cc",
       "../browser/metrics/startup_metrics_browsertest.cc",
@@ -3777,6 +3779,7 @@
       "../browser/installedapp/installed_app_provider_unittest.cc",
       "../browser/media/android/cdm/media_drm_origin_id_manager_unittest.cc",
       "../browser/metrics/chrome_android_metrics_provider_unittest.cc",
+      "../browser/notifications/notification_platform_bridge_android_unittest.cc",
       "../browser/page_load_metrics/observers/android_page_load_metrics_observer_unittest.cc",
       "../browser/password_manager/account_chooser_dialog_android_unittest.cc",
       "../browser/password_manager/auto_signin_first_run_dialog_android_unittest.cc",
diff --git a/chrome/test/data/chromeos/file_manager/broken.jpg b/chrome/test/data/chromeos/file_manager/broken.jpg
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/chrome/test/data/chromeos/file_manager/broken.jpg
@@ -0,0 +1 @@
+
diff --git a/chrome/test/data/extensions/api_test/login_screen_apis/README b/chrome/test/data/extensions/api_test/login_screen_apis/README
index 71f8a09..85339d0 100644
--- a/chrome/test/data/extensions/api_test/login_screen_apis/README
+++ b/chrome/test/data/extensions/api_test/login_screen_apis/README
@@ -1,15 +1,20 @@
-The extension.crx package must be signed by WebStore, in order for
-the extension to have the expected ID which is whitelisted in Chrome:
-"oclffehlkdgibkainkilopaalpdobkan".
+The .crx packages must be signed by WebStore in order for the extensions to
+have the expected IDs which are whitelisted in Chrome.
+The expected IDs are:
+extension.crx:            oclffehlkdgibkainkilopaalpdobkan
+in_session_extension.crx: ofcpkomnogjenhfajfjadjmjppbegnad
 
-This extension is used in the API tests for the following APIs:
+extension.crx is used in the API tests for the following APIs:
 -chrome.loginScreenUi
 -chrome.storage
 -chrome.login
 
+in_session_extension.crx is used in the API tests for the following APIs:
+-chrome.login
+
 The code for the tests can be found under the
 chrome/browser/chromeos/extensions/login_screen_apis/ directory.
 
-In case a new version of the test extension has to be published on WebStore,
-please reach out to the OWNERS, chromeos-enterprise-extensions@ or
+In case a new version of one of the test extension has to be published on
+WebStore, please reach out to the OWNERS, chromeos-enterprise-extensions@ or
 managed-devices@ mailing list.
diff --git a/chrome/test/data/extensions/api_test/login_screen_apis/extension.crx b/chrome/test/data/extensions/api_test/login_screen_apis/extension.crx
index 04dde109..f29aebc 100644
--- a/chrome/test/data/extensions/api_test/login_screen_apis/extension.crx
+++ b/chrome/test/data/extensions/api_test/login_screen_apis/extension.crx
Binary files differ
diff --git a/chrome/test/data/extensions/api_test/login_screen_apis/extension/background.js b/chrome/test/data/extensions/api_test/login_screen_apis/extension/background.js
index 011529e4..83e1a42 100644
--- a/chrome/test/data/extensions/api_test/login_screen_apis/extension/background.js
+++ b/chrome/test/data/extensions/api_test/login_screen_apis/extension/background.js
@@ -11,6 +11,13 @@
     '"sync" is not available for login screen extensions';
 const noManagedGuestSessionAccountsErrorMessage =
     'No managed guest session accounts';
+const alreadyExistsActiveSessionErrorMessage =
+    'There is already an active session';
+const sessionNotLockedErrorMessage = 'Session is not locked';
+const sessionNotActiveErrorMessage = 'Session is not active';
+const noPermissionToUnlockErrorMessage =
+    'The extension does not have permission to unlock this session';
+const authenticationFailedErrorMessage = 'Authentication failed';
 
 const tests = {
   /* LoginScreenUi ************************************************************/
@@ -92,6 +99,20 @@
       chrome.test.succeed();
     });
   },
+  'LoginLaunchManagedGuestSessionWithPassword': () => {
+    chrome.test.getConfig(config => {
+      chrome.login.launchManagedGuestSession(config.customArg, () => {
+        chrome.test.assertNoLastError();
+        chrome.test.succeed();
+      });
+    });
+  },
+  'LoginLaunchManagedGuestSessionAlreadyExistsActiveSession': () => {
+    chrome.login.launchManagedGuestSession(() => {
+      chrome.test.assertLastError(alreadyExistsActiveSessionErrorMessage);
+      chrome.test.succeed();
+    });
+  },
   'LoginLaunchManagedGuestSessionNoAccounts': () => {
     chrome.login.launchManagedGuestSession(() => {
       chrome.test.assertLastError(noManagedGuestSessionAccountsErrorMessage);
@@ -113,6 +134,46 @@
       });
     });
   },
+  'LoginLockManagedGuestSessionNotActive': () => {
+    chrome.login.lockManagedGuestSession(() => {
+      chrome.test.assertLastError(sessionNotActiveErrorMessage);
+      chrome.test.succeed();
+    });
+  },
+  'LoginUnlockManagedGuestSession': () => {
+    chrome.test.getConfig(config => {
+      chrome.login.unlockManagedGuestSession(config.customArg, () => {
+        chrome.test.assertNoLastError();
+        chrome.test.succeed();
+      });
+    });
+  },
+  'LoginUnlockManagedGuestSessionWrongPassword': () => {
+    chrome.test.getConfig(config => {
+      chrome.login.unlockManagedGuestSession(config.customArg, () => {
+        chrome.test.assertLastError(authenticationFailedErrorMessage);
+        chrome.test.succeed();
+      });
+    });
+  },
+  'LoginUnlockManagedGuestSessionNotLocked': () => {
+    chrome.login.unlockManagedGuestSession('dummy_password', () => {
+      chrome.test.assertLastError(sessionNotLockedErrorMessage);
+      chrome.test.succeed();
+    });
+  },
+  'LoginUnlockManagedGuestSessionNotManagedGuestSession': () => {
+    chrome.login.unlockManagedGuestSession('dummy_password', () => {
+      chrome.test.assertLastError(noPermissionToUnlockErrorMessage);
+      chrome.test.succeed();
+    });
+  },
+  'LoginUnlockManagedGuestSessionWrongExtensionId': () => {
+    chrome.login.unlockManagedGuestSession('dummy_password', () => {
+      chrome.test.assertLastError(noPermissionToUnlockErrorMessage);
+      chrome.test.succeed();
+    });
+  },
 };
 
 // |waitForTestName()| waits for the browser test to reply with a test name and
diff --git a/chrome/test/data/extensions/api_test/login_screen_apis/extension/manifest.json b/chrome/test/data/extensions/api_test/login_screen_apis/extension/manifest.json
index e34313b0b..adc2319 100644
--- a/chrome/test/data/extensions/api_test/login_screen_apis/extension/manifest.json
+++ b/chrome/test/data/extensions/api_test/login_screen_apis/extension/manifest.json
@@ -1,6 +1,6 @@
 {
   "name": "Login screen APIs test extension",
-  "version": "1.20",
+  "version": "1.23",
   "manifest_version": 2,
   "description": "Login screen APIs test extension",
   "background": {
diff --git a/chrome/test/data/extensions/api_test/login_screen_apis/in_session_extension.crx b/chrome/test/data/extensions/api_test/login_screen_apis/in_session_extension.crx
new file mode 100644
index 0000000..f197a3f
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/login_screen_apis/in_session_extension.crx
Binary files differ
diff --git a/chrome/test/data/extensions/api_test/login_screen_apis/in_session_extension/background.js b/chrome/test/data/extensions/api_test/login_screen_apis/in_session_extension/background.js
new file mode 100644
index 0000000..f7b7118
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/login_screen_apis/in_session_extension/background.js
@@ -0,0 +1,44 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+const noPermissionToLockErrorMessage =
+    'The extension does not have permission to lock this session';
+const noPermissionToUnlockErrorMessage =
+    'The extension does not have permission to unlock this session';
+
+const tests = {
+  'InSessionLoginLockManagedGuestSession': () => {
+    chrome.login.lockManagedGuestSession(() => {
+      chrome.test.assertNoLastError();
+      chrome.test.succeed();
+    });
+  },
+  'InSessionLoginLockManagedGuestSessionNoPermission': () => {
+    chrome.login.lockManagedGuestSession(() => {
+      chrome.test.assertLastError(noPermissionToLockErrorMessage);
+      chrome.test.succeed();
+    });
+  },
+  'InSessionLoginUnlockManagedGuestSessionNoPermission': () => {
+    chrome.login.unlockManagedGuestSession('dummy_password', () => {
+      chrome.test.assertLastError(noPermissionToUnlockErrorMessage);
+      chrome.test.succeed();
+    });
+  },
+}
+
+// |waitForTestName()| waits for the browser test to reply with a test name and
+// runs the specified test. The browser test logic can be found at
+// chrome/browser/chromeos/extensions/login_screen/login_screen_apitest_base.cc
+function waitForTestName(testName) {
+  if (!tests.hasOwnProperty(testName) ||
+      typeof tests[testName] !== 'function') {
+    chrome.test.fail('Test not found: ' + testName);
+    return;
+  }
+
+  chrome.test.runTests([tests[testName]]);
+}
+
+chrome.test.sendMessage('Waiting for test name', waitForTestName);
diff --git a/chrome/test/data/extensions/api_test/login_screen_apis/in_session_extension/manifest.json b/chrome/test/data/extensions/api_test/login_screen_apis/in_session_extension/manifest.json
new file mode 100644
index 0000000..e8918a7
--- /dev/null
+++ b/chrome/test/data/extensions/api_test/login_screen_apis/in_session_extension/manifest.json
@@ -0,0 +1,13 @@
+{
+  "name": "Login screen APIs in-session test extension",
+  "version": "0.4",
+  "manifest_version": 2,
+  "description": "In session extension for testing the chrome.login extension API",
+  "background": {
+    "scripts": ["background.js"]
+  },
+  "permissions": [
+    "login"
+  ]
+}
+
diff --git a/chrome/test/data/extensions/api_test/login_screen_apis/update_manifest.xml b/chrome/test/data/extensions/api_test/login_screen_apis/update_manifest.xml
index 64abc8a8..c66b822 100644
--- a/chrome/test/data/extensions/api_test/login_screen_apis/update_manifest.xml
+++ b/chrome/test/data/extensions/api_test/login_screen_apis/update_manifest.xml
@@ -1,12 +1,18 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <!--
-  This update manifest points to the ./extension.crx file. "mock.http" is a
-  placeholder that gets substituted with the test server address in runtime.
+  This update manifest points to the ./extension.crx and
+  ./in_session_extension.ctx files. "mock.http" is a  placeholder that gets
+  substituted with the test server address in runtime.
 -->
 <gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
   <app appid='oclffehlkdgibkainkilopaalpdobkan'>
     <updatecheck
         codebase='http://mock.http/extensions/api_test/login_screen_apis/extension.crx'
-        version='1.20' />
-   </app>
+        version='1.23' />
+  </app>
+  <app appid='ofcpkomnogjenhfajfjadjmjppbegnad'>
+    <updatecheck
+        codebase='http://mock.http/extensions/api_test/login_screen_apis/in_session_extension.crx'
+        version='0.4' />
+  </app>
 </gupdate>
diff --git a/chrome/test/data/extensions/signin_screen_manual_test_app/README b/chrome/test/data/extensions/signin_screen_manual_test_app/README
index 72eba2d..648b79c 100644
--- a/chrome/test/data/extensions/signin_screen_manual_test_app/README
+++ b/chrome/test/data/extensions/signin_screen_manual_test_app/README
@@ -1,9 +1,13 @@
-The app_signed_by_webstore.crx package must be a one signed by WebStore, in
-order for the app to have the expected ID which is whitelisted in Chrome -
-"bjaiihebfngildkcjkjckolinodhliff".
-
 This app is primarily intended to be used for the manual testing of the apps on
-the Chrome OS sign-in screen.
+the Chrome OS sign-in screen. The sources are located under the ./app/
+directory.
+
+The ./crx/**/app_signed_by_webstore.crx packages must be files signed by
+WebStore, in order for the app to have the expected ID which is whitelisted in
+Chrome - "bjaiihebfngildkcjkjckolinodhliff".
+
+Browser tests in Chrome currently require these packages for two different
+versions.
 
 In case a new version of the test app has to be published on WebStore, please
 reach out to the managed-devices@ mailing list.
diff --git a/chrome/test/data/extensions/signin_screen_manual_test_app/app_signed_by_webstore.crx b/chrome/test/data/extensions/signin_screen_manual_test_app/crx/3.0/app_signed_by_webstore.crx
similarity index 100%
rename from chrome/test/data/extensions/signin_screen_manual_test_app/app_signed_by_webstore.crx
rename to chrome/test/data/extensions/signin_screen_manual_test_app/crx/3.0/app_signed_by_webstore.crx
Binary files differ
diff --git a/chrome/test/data/extensions/signin_screen_manual_test_app/update_manifest.xml b/chrome/test/data/extensions/signin_screen_manual_test_app/crx/3.0/update_manifest.xml
similarity index 90%
rename from chrome/test/data/extensions/signin_screen_manual_test_app/update_manifest.xml
rename to chrome/test/data/extensions/signin_screen_manual_test_app/crx/3.0/update_manifest.xml
index a2676d7..0e2a2cca 100644
--- a/chrome/test/data/extensions/signin_screen_manual_test_app/update_manifest.xml
+++ b/chrome/test/data/extensions/signin_screen_manual_test_app/crx/3.0/update_manifest.xml
@@ -7,7 +7,7 @@
 <gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
   <app appid='bjaiihebfngildkcjkjckolinodhliff'>
     <updatecheck
-        codebase='http://mock.http/extensions/signin_screen_manual_test_app/app_signed_by_webstore.crx'
+        codebase='http://mock.http/extensions/signin_screen_manual_test_app/crx/3.0/app_signed_by_webstore.crx'
         version='3.0' />
    </app>
 </gupdate>
diff --git a/chrome/test/data/extensions/signin_screen_manual_test_app/crx/4.0/app_signed_by_webstore.crx b/chrome/test/data/extensions/signin_screen_manual_test_app/crx/4.0/app_signed_by_webstore.crx
new file mode 100644
index 0000000..cf681c9
--- /dev/null
+++ b/chrome/test/data/extensions/signin_screen_manual_test_app/crx/4.0/app_signed_by_webstore.crx
Binary files differ
diff --git a/chrome/test/data/extensions/signin_screen_manual_test_app/update_manifest.xml b/chrome/test/data/extensions/signin_screen_manual_test_app/crx/4.0/update_manifest.xml
similarity index 85%
copy from chrome/test/data/extensions/signin_screen_manual_test_app/update_manifest.xml
copy to chrome/test/data/extensions/signin_screen_manual_test_app/crx/4.0/update_manifest.xml
index a2676d7..37364fe 100644
--- a/chrome/test/data/extensions/signin_screen_manual_test_app/update_manifest.xml
+++ b/chrome/test/data/extensions/signin_screen_manual_test_app/crx/4.0/update_manifest.xml
@@ -7,7 +7,7 @@
 <gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
   <app appid='bjaiihebfngildkcjkjckolinodhliff'>
     <updatecheck
-        codebase='http://mock.http/extensions/signin_screen_manual_test_app/app_signed_by_webstore.crx'
-        version='3.0' />
+        codebase='http://mock.http/extensions/signin_screen_manual_test_app/crx/4.0/app_signed_by_webstore.crx'
+        version='4.0' />
    </app>
 </gupdate>
diff --git a/chrome/test/data/webui/settings/people_page_sync_page_test.js b/chrome/test/data/webui/settings/people_page_sync_page_test.js
index c294a32ca..7c84230 100644
--- a/chrome/test/data/webui/settings/people_page_sync_page_test.js
+++ b/chrome/test/data/webui/settings/people_page_sync_page_test.js
@@ -9,6 +9,18 @@
     let encryptWithGoogle = null;
     let encryptWithPassphrase = null;
 
+    suiteSetup(function() {
+      loadTimeData.overrideValues({
+        syncSetupFriendlySettings: true,
+        sWAAOn: 'On',
+        sWAAOff: 'Off',
+        sWAAOnHint: 'sWAAOnHint',
+        sWAAOffHint: 'sWAAOffHint',
+        historySyncOffHint: 'historySyncOffHint',
+        dataEncryptedHint: 'dataEncryptedHint'
+      });
+    });
+
     setup(function() {
       browserProxy = new TestSyncBrowserProxy();
       settings.SyncBrowserProxyImpl.instance_ = browserProxy;
@@ -508,6 +520,85 @@
       assertTrue(dashboardLink.hidden);
     });
 
+    test('sWAA', async function() {
+      function verifyResults(hidden, sWAA, sWAAHint, hideActivityControlsUrl) {
+        const sWAAText = syncPage.$$('#history-usage-state .secondary');
+        const historyUsageHint = syncPage.$$('#history-usage-hint');
+        assertEquals(sWAAText.hidden, hidden);
+        assertEquals(historyUsageHint.hidden, hidden);
+        assertEquals(
+            syncPage.$$('#history-usage-row')
+                .querySelector('.icon-external')
+                .hidden,
+            hideActivityControlsUrl);
+
+        if (!hidden) {
+          assertEquals(sWAAText.textContent.trim(), sWAA);
+          assertEquals(historyUsageHint.textContent.trim(), sWAAHint);
+        }
+      }
+
+      /** @param {Object=} syncPrefOverrides */
+      function setSyncPrefs(syncPrefOverrides = {}) {
+        const defaults = sync_test_util.getSyncAllPrefs();
+        const syncPrefs = Object.assign({}, defaults, syncPrefOverrides);
+        cr.webUIListenerCallback('sync-prefs-changed', syncPrefs);
+        Polymer.dom.flush();
+      }
+
+      const syncSection = syncPage.$$('#sync-section');
+      assertTrue(syncSection.hidden);
+      syncPage.syncStatus = {
+        signedIn: true,
+        disabled: false,
+        hasError: false,
+        statusAction: settings.StatusAction.NO_ACTION,
+      };
+      Polymer.dom.flush();
+      assertFalse(syncSection.hidden);
+      await browserProxy.whenCalled('queryIsHistoryRecordingEnabled');
+      verifyResults(
+          /*hidden=*/ false, 'On', 'sWAAOnHint',
+          /*hideActivityControlsUrl=*/ false);
+
+      // Data encrypted with custom passphrase.
+      setSyncPrefs({encryptAllData: true});
+      verifyResults(
+          /*hidden=*/ false, 'Off', 'dataEncryptedHint',
+          /*hideActivityControlsUrl=*/ true);
+
+      // sWAA off.
+      browserProxy.setHistoryRecordingEnabled({
+        requestSucceeded: true,
+        historyRecordingEnabled: /*hideActivityControlsUrl=*/ false
+      });
+      setSyncPrefs();
+      await browserProxy.whenCalled('queryIsHistoryRecordingEnabled');
+      verifyResults(
+          /*hidden=*/ false, 'Off', 'sWAAOffHint',
+          /*hideActivityControlsUrl=*/ false);
+
+      // Turn history sync off.
+      setSyncPrefs({syncAllDataTypes: false, typedUrlsSynced: false});
+      verifyResults(
+          /*hidden=*/ false, 'Off', 'historySyncOffHint',
+          /*hideActivityControlsUrl=*/ true);
+
+      // Verify hint is updated.
+      setSyncPrefs({encryptAllData: true});
+      verifyResults(
+          /*hidden=*/ false, 'Off', 'dataEncryptedHint',
+          /*hideActivityControlsUrl=*/ true);
+
+      // Failed to fetch |historyRecordingEnabled|.
+      browserProxy.setHistoryRecordingEnabled(
+          {requestSucceeded: false, historyRecordingEnabled: false});
+      setSyncPrefs();
+      await browserProxy.whenCalled('queryIsHistoryRecordingEnabled');
+      verifyResults(
+          /*hidden=*/ true, '', '', /*hideActivityControlsUrl=*/ false);
+    });
+
     // ##################################
     // TESTS THAT ARE SKIPPED ON CHROMEOS
     // ##################################
diff --git a/chrome/test/data/webui/settings/test_sync_browser_proxy.js b/chrome/test/data/webui/settings/test_sync_browser_proxy.js
index 3900d7d..8ea836e 100644
--- a/chrome/test/data/webui/settings/test_sync_browser_proxy.js
+++ b/chrome/test/data/webui/settings/test_sync_browser_proxy.js
@@ -19,11 +19,18 @@
       'sendSyncPrefsChanged',
       'startSignIn',
       'startSyncingWithEmail',
+      'queryIsHistoryRecordingEnabled',
     ]);
 
     /** @private {number} */
     this.impressionCount_ = 0;
 
+    /** @type {!HistoryRecordingEnabled} */
+    this.historyRecordingEnabled_ = {
+      requestSucceeded: true,
+      historyRecordingEnabled: true
+    };
+
     /** @type {!settings.PageStatus} */
     this.encryptionResponse = settings.PageStatus.CONFIGURE;
   }
@@ -101,4 +108,17 @@
   sendSyncPrefsChanged() {
     this.methodCalled('sendSyncPrefsChanged');
   }
+
+  /**
+   * @param {!HistoryRecordingEnabled} historyRecordingEnabled
+   */
+  setHistoryRecordingEnabled(historyRecordingEnabled) {
+    this.historyRecordingEnabled_ = historyRecordingEnabled;
+  }
+
+  /** @override */
+  queryIsHistoryRecordingEnabled() {
+    this.methodCalled('queryIsHistoryRecordingEnabled');
+    return Promise.resolve(this.historyRecordingEnabled_);
+  }
 }
diff --git a/chromeos/login/auth/user_context.cc b/chromeos/login/auth/user_context.cc
index 9ba9f54..fcb4e92 100644
--- a/chromeos/login/auth/user_context.cc
+++ b/chromeos/login/auth/user_context.cc
@@ -147,6 +147,14 @@
   return saml_password_attributes_;
 }
 
+bool UserContext::IsLockableManagedGuestSession() const {
+  return !managed_guest_session_launch_extension_id_.empty();
+}
+
+std::string UserContext::GetManagedGuestSessionLaunchExtensionId() const {
+  return managed_guest_session_launch_extension_id_;
+}
+
 bool UserContext::HasCredentials() const {
   return (account_id_.is_valid() && !key_.GetSecret().empty()) ||
          !auth_code_.empty();
@@ -236,6 +244,12 @@
   is_under_advanced_protection_ = is_under_advanced_protection;
 }
 
+void UserContext::SetManagedGuestSessionLaunchExtensionId(
+    const std::string& managed_guest_session_launch_extension_id) {
+  managed_guest_session_launch_extension_id_ =
+      managed_guest_session_launch_extension_id;
+}
+
 void UserContext::ClearSecrets() {
   key_.ClearSecret();
   password_key_.ClearSecret();
diff --git a/chromeos/login/auth/user_context.h b/chromeos/login/auth/user_context.h
index 61a3d2f..816b01ba 100644
--- a/chromeos/login/auth/user_context.h
+++ b/chromeos/login/auth/user_context.h
@@ -88,6 +88,9 @@
   GetSyncPasswordData() const;
   const base::Optional<SamlPasswordAttributes>& GetSamlPasswordAttributes()
       const;
+  // True if |managed_guest_session_launch_extension_id_| is non-empty.
+  bool IsLockableManagedGuestSession() const;
+  std::string GetManagedGuestSessionLaunchExtensionId() const;
 
   bool HasCredentials() const;
 
@@ -129,6 +132,11 @@
   void SetSamlPasswordAttributes(
       const SamlPasswordAttributes& saml_password_attributes);
   void SetIsUnderAdvancedProtection(bool is_under_advanced_protection);
+  // Sets |managed_guest_session_launch_extension_id_| which is used to set the
+  // |kLoginExtensionApiLaunchExtensionId| pref when the user's profile is
+  // created. Setting this pref indicates that this Managed Guest Session is
+  // lockable.
+  void SetManagedGuestSessionLaunchExtensionId(const std::string& extension_id);
 
   void ClearSecrets();
 
@@ -152,6 +160,7 @@
   std::string device_id_;
   std::string gaps_cookie_;
   bool is_under_advanced_protection_ = false;
+  std::string managed_guest_session_launch_extension_id_;
 
   // For password reuse detection use.
   base::Optional<password_manager::PasswordHashData> sync_password_data_;
diff --git a/chromeos/profiles/broadwell.afdo.newest.txt b/chromeos/profiles/broadwell.afdo.newest.txt
index 0dc5db1..d791b5f 100644
--- a/chromeos/profiles/broadwell.afdo.newest.txt
+++ b/chromeos/profiles/broadwell.afdo.newest.txt
@@ -1 +1 @@
-chromeos-chrome-amd64-broadwell-81-3987.18-1578307857-benchmark-81.0.4016.0-r1-redacted.afdo.xz
\ No newline at end of file
+chromeos-chrome-amd64-broadwell-81-3987.18-1578307857-benchmark-81.0.4019.0-r1-redacted.afdo.xz
\ No newline at end of file
diff --git a/chromeos/profiles/orderfile.newest.txt b/chromeos/profiles/orderfile.newest.txt
index 2f12a142..68839651 100644
--- a/chromeos/profiles/orderfile.newest.txt
+++ b/chromeos/profiles/orderfile.newest.txt
@@ -1 +1 @@
-chromeos-chrome-orderfile-field-81-3987.18-1577705382-benchmark-81.0.4013.0-r1.orderfile.xz
\ No newline at end of file
+chromeos-chrome-orderfile-field-81-3987.18-1577705382-benchmark-81.0.4016.0-r1.orderfile.xz
\ No newline at end of file
diff --git a/components/autofill_assistant/browser/actions/collect_user_data_action.cc b/components/autofill_assistant/browser/actions/collect_user_data_action.cc
index d67a6c1a..1486943e 100644
--- a/components/autofill_assistant/browser/actions/collect_user_data_action.cc
+++ b/components/autofill_assistant/browser/actions/collect_user_data_action.cc
@@ -844,8 +844,8 @@
       (collect_user_data_options_->request_payer_name ||
        collect_user_data_options_->request_payer_phone ||
        collect_user_data_options_->request_payer_email)) {
-    int default_selection = GetDefaultProfile(*collect_user_data_options_,
-                                              user_data->available_profiles);
+    int default_selection = GetDefaultContactProfile(
+        *collect_user_data_options_, user_data->available_profiles);
     if (default_selection != -1) {
       user_data->contact_profile = std::make_unique<autofill::AutofillProfile>(
           *(user_data->available_profiles[default_selection]));
@@ -857,8 +857,8 @@
   }
   if (user_data->shipping_address == nullptr &&
       collect_user_data_options_->request_shipping) {
-    int default_selection = GetDefaultProfile(*collect_user_data_options_,
-                                              user_data->available_profiles);
+    int default_selection = GetDefaultAddressProfile(
+        *collect_user_data_options_, user_data->available_profiles);
     if (default_selection != -1) {
       user_data->shipping_address = std::make_unique<autofill::AutofillProfile>(
           *(user_data->available_profiles[default_selection]));
diff --git a/components/autofill_assistant/browser/user_data_util.cc b/components/autofill_assistant/browser/user_data_util.cc
index 5ea598b..dbaabf36 100644
--- a/components/autofill_assistant/browser/user_data_util.cc
+++ b/components/autofill_assistant/browser/user_data_util.cc
@@ -8,6 +8,9 @@
 #include "base/i18n/case_conversion.h"
 #include "base/strings/utf_string_conversions.h"
 #include "components/autofill/core/browser/autofill_data_util.h"
+#include "components/autofill/core/browser/geo/address_i18n.h"
+#include "third_party/libaddressinput/chromium/addressinput_util.h"
+#include "third_party/libaddressinput/src/cpp/include/libaddressinput/address_data.h"
 
 namespace autofill_assistant {
 namespace {
@@ -20,8 +23,8 @@
       profile.GetRawInfo(autofill::NAME_LAST));
 }
 
-int CountCompleteFields(const CollectUserDataOptions& options,
-                        const autofill::AutofillProfile& profile) {
+int CountCompleteContactFields(const CollectUserDataOptions& options,
+                               const autofill::AutofillProfile& profile) {
   int completed_fields = 0;
   if (options.request_payer_name && !GetProfileFullName(profile).empty()) {
     ++completed_fields;
@@ -44,11 +47,11 @@
 // Helper function that compares instances of AutofillProfile by completeness
 // in regards to the current options. Full profiles should be ordered before
 // empty ones and fall back to compare the profile's name in case of equality.
-bool CompletenessCompare(const CollectUserDataOptions& options,
-                         const autofill::AutofillProfile& a,
-                         const autofill::AutofillProfile& b) {
-  int complete_fields_a = CountCompleteFields(options, a);
-  int complete_fields_b = CountCompleteFields(options, b);
+bool CompletenessCompareContacts(const CollectUserDataOptions& options,
+                                 const autofill::AutofillProfile& a,
+                                 const autofill::AutofillProfile& b) {
+  int complete_fields_a = CountCompleteContactFields(options, a);
+  int complete_fields_b = CountCompleteContactFields(options, b);
   if (complete_fields_a == complete_fields_b) {
     return base::i18n::ToLower(GetProfileFullName(a))
                .compare(base::i18n::ToLower(GetProfileFullName(b))) < 0;
@@ -56,8 +59,35 @@
   return complete_fields_a > complete_fields_b;
 }
 
-int CountCompleteFields(const CollectUserDataOptions& options,
-                        const PaymentInstrument& instrument) {
+int GetAddressCompletenessRating(const CollectUserDataOptions& options,
+                                 const autofill::AutofillProfile& profile) {
+  auto address_data =
+      autofill::i18n::CreateAddressDataFromAutofillProfile(profile, "en-US");
+  std::multimap<i18n::addressinput::AddressField,
+                i18n::addressinput::AddressProblem>
+      problems;
+  autofill::addressinput::ValidateRequiredFields(
+      *address_data, /* filter= */ nullptr, &problems);
+  return -problems.size();
+}
+
+// Helper function that compares instances of AutofillProfile by completeness
+// in regards to the current options. Full profiles should be ordered before
+// empty ones and fall back to compare the profile's name in case of equality.
+bool CompletenessCompareAddresses(const CollectUserDataOptions& options,
+                                  const autofill::AutofillProfile& a,
+                                  const autofill::AutofillProfile& b) {
+  int complete_fields_a = GetAddressCompletenessRating(options, a);
+  int complete_fields_b = GetAddressCompletenessRating(options, b);
+  if (complete_fields_a == complete_fields_b) {
+    return base::i18n::ToLower(GetProfileFullName(a))
+               .compare(base::i18n::ToLower(GetProfileFullName(b))) < 0;
+  }
+  return complete_fields_a > complete_fields_b;
+}
+
+int CountCompletePaymentInstrumentFields(const CollectUserDataOptions& options,
+                                         const PaymentInstrument& instrument) {
   int complete_fields = 0;
   if (!instrument.card->GetRawInfo(autofill::CREDIT_CARD_NAME_FULL).empty()) {
     ++complete_fields;
@@ -88,11 +118,12 @@
 // in regards to the current options. Full payment instruments should be
 // ordered before empty ones and fall back to compare the full name on the
 // credit card in case of equality.
-bool CompletenessCompare(const CollectUserDataOptions& options,
-                         const PaymentInstrument& a,
-                         const PaymentInstrument& b) {
-  int complete_fields_a = CountCompleteFields(options, a);
-  int complete_fields_b = CountCompleteFields(options, b);
+bool CompletenessComparePaymentInstruments(
+    const CollectUserDataOptions& options,
+    const PaymentInstrument& a,
+    const PaymentInstrument& b) {
+  int complete_fields_a = CountCompletePaymentInstrumentFields(options, a);
+  int complete_fields_b = CountCompletePaymentInstrumentFields(options, b);
   if (complete_fields_a == complete_fields_b) {
     return base::i18n::ToLower(
                a.card->GetRawInfo(autofill::CREDIT_CARD_NAME_FULL))
@@ -104,26 +135,27 @@
 
 }  // namespace
 
-std::vector<int> SortByCompleteness(
+std::vector<int> SortContactsByCompleteness(
     const CollectUserDataOptions& collect_user_data_options,
     const std::vector<std::unique_ptr<autofill::AutofillProfile>>& profiles) {
   std::vector<int> profile_indices(profiles.size());
   std::iota(std::begin(profile_indices), std::end(profile_indices), 0);
   std::sort(profile_indices.begin(), profile_indices.end(),
             [&collect_user_data_options, &profiles](int i, int j) {
-              return CompletenessCompare(collect_user_data_options,
-                                         *profiles[i], *profiles[j]);
+              return CompletenessCompareContacts(collect_user_data_options,
+                                                 *profiles[i], *profiles[j]);
             });
   return profile_indices;
 }
 
-int GetDefaultProfile(
+int GetDefaultContactProfile(
     const CollectUserDataOptions& collect_user_data_options,
     const std::vector<std::unique_ptr<autofill::AutofillProfile>>& profiles) {
   if (profiles.empty()) {
     return -1;
   }
-  auto sorted_indices = SortByCompleteness(collect_user_data_options, profiles);
+  auto sorted_indices =
+      SortContactsByCompleteness(collect_user_data_options, profiles);
   if (!collect_user_data_options.default_email.empty()) {
     for (int index : sorted_indices) {
       if (base::UTF16ToUTF8(
@@ -136,7 +168,31 @@
   return sorted_indices[0];
 }
 
-std::vector<int> SortByCompleteness(
+std::vector<int> SortAddressesByCompleteness(
+    const CollectUserDataOptions& collect_user_data_options,
+    const std::vector<std::unique_ptr<autofill::AutofillProfile>>& profiles) {
+  std::vector<int> profile_indices(profiles.size());
+  std::iota(std::begin(profile_indices), std::end(profile_indices), 0);
+  std::sort(profile_indices.begin(), profile_indices.end(),
+            [&collect_user_data_options, &profiles](int i, int j) {
+              return CompletenessCompareAddresses(collect_user_data_options,
+                                                  *profiles[i], *profiles[j]);
+            });
+  return profile_indices;
+}
+
+int GetDefaultAddressProfile(
+    const CollectUserDataOptions& collect_user_data_options,
+    const std::vector<std::unique_ptr<autofill::AutofillProfile>>& profiles) {
+  if (profiles.empty()) {
+    return -1;
+  }
+  auto sorted_indices =
+      SortContactsByCompleteness(collect_user_data_options, profiles);
+  return sorted_indices[0];
+}
+
+std::vector<int> SortPaymentInstrumentsByCompleteness(
     const CollectUserDataOptions& collect_user_data_options,
     const std::vector<std::unique_ptr<PaymentInstrument>>&
         payment_instruments) {
@@ -146,9 +202,9 @@
   std::sort(payment_instrument_indices.begin(),
             payment_instrument_indices.end(),
             [&collect_user_data_options, &payment_instruments](int a, int b) {
-              return CompletenessCompare(collect_user_data_options,
-                                         *payment_instruments[a],
-                                         *payment_instruments[b]);
+              return CompletenessComparePaymentInstruments(
+                  collect_user_data_options, *payment_instruments[a],
+                  *payment_instruments[b]);
             });
   return payment_instrument_indices;
 }
@@ -160,8 +216,8 @@
   if (payment_instruments.empty()) {
     return -1;
   }
-  auto sorted_indices =
-      SortByCompleteness(collect_user_data_options, payment_instruments);
+  auto sorted_indices = SortPaymentInstrumentsByCompleteness(
+      collect_user_data_options, payment_instruments);
   return sorted_indices[0];
 }
 
diff --git a/components/autofill_assistant/browser/user_data_util.h b/components/autofill_assistant/browser/user_data_util.h
index c4c31d5..58ac0df 100644
--- a/components/autofill_assistant/browser/user_data_util.h
+++ b/components/autofill_assistant/browser/user_data_util.h
@@ -16,13 +16,27 @@
 // vector of profile indices in sorted order. Full profiles will be ordered
 // before empty ones, and for equally complete profiles, this falls back to
 // sorting based on the profile names.
-std::vector<int> SortByCompleteness(
+std::vector<int> SortContactsByCompleteness(
     const CollectUserDataOptions& collect_user_data_options,
     const std::vector<std::unique_ptr<autofill::AutofillProfile>>& profiles);
 
 // Get the default selection for the current list of profiles. Returns -1 if no
 // default selection is possible.
-int GetDefaultProfile(
+int GetDefaultContactProfile(
+    const CollectUserDataOptions& collect_user_data_options,
+    const std::vector<std::unique_ptr<autofill::AutofillProfile>>& profiles);
+
+// Sorts the given autofill profiles based on completeness, and returns a
+// vector of profile indices in sorted order. Full profiles will be ordered
+// before empty ones, and for equally complete profiles, this falls back to
+// sorting based on the profile names.
+std::vector<int> SortAddressesByCompleteness(
+    const CollectUserDataOptions& collect_user_data_options,
+    const std::vector<std::unique_ptr<autofill::AutofillProfile>>& profiles);
+
+// Get the default selection for the current list of profiles. Returns -1 if no
+// default selection is possible.
+int GetDefaultAddressProfile(
     const CollectUserDataOptions& collect_user_data_options,
     const std::vector<std::unique_ptr<autofill::AutofillProfile>>& profiles);
 
@@ -30,7 +44,7 @@
 // of payment instrument indices in sorted order. Full payment instruments will
 // be ordered before empty ones, and for equally complete payment instruments,
 // this falls back to sorting based on the full name on the credit card.
-std::vector<int> SortByCompleteness(
+std::vector<int> SortPaymentInstrumentsByCompleteness(
     const CollectUserDataOptions& collect_user_data_options,
     const std::vector<std::unique_ptr<PaymentInstrument>>& payment_instruments);
 
diff --git a/components/autofill_assistant/browser/user_data_util_unittest.cc b/components/autofill_assistant/browser/user_data_util_unittest.cc
index 6e08168c..ef4fb96 100644
--- a/components/autofill_assistant/browser/user_data_util_unittest.cc
+++ b/components/autofill_assistant/browser/user_data_util_unittest.cc
@@ -18,7 +18,7 @@
 using ::testing::Eq;
 using ::testing::SizeIs;
 
-TEST(UserDataUtilTest, SortsCompleteProfilesAlphabetically) {
+TEST(UserDataUtilTest, SortsCompleteContactsAlphabetically) {
   auto profile_a = std::make_unique<autofill::AutofillProfile>();
   autofill::test::SetProfileInfo(profile_a.get(), "Adam", "", "West",
                                  "adam.west@gmail.com", "", "", "", "", "", "",
@@ -47,12 +47,12 @@
   options.request_payer_email = true;
 
   std::vector<int> profile_indices =
-      autofill_assistant::SortByCompleteness(options, profiles);
+      autofill_assistant::SortContactsByCompleteness(options, profiles);
   EXPECT_THAT(profile_indices, SizeIs(profiles.size()));
   EXPECT_THAT(profile_indices, ElementsAre(2, 1, 0));
 }
 
-TEST(UserDataUtilTest, SortsProfilesByCompleteness) {
+TEST(UserDataUtilTest, SortsContactsByCompleteness) {
   auto profile_complete = std::make_unique<autofill::AutofillProfile>();
   autofill::test::SetProfileInfo(
       profile_complete.get(), "Charlie", "", "West", "charlie.west@gmail.com",
@@ -81,19 +81,19 @@
   options.request_shipping = true;
 
   std::vector<int> profile_indices =
-      autofill_assistant::SortByCompleteness(options, profiles);
+      autofill_assistant::SortContactsByCompleteness(options, profiles);
   EXPECT_THAT(profile_indices, SizeIs(profiles.size()));
   EXPECT_THAT(profile_indices, ElementsAre(2, 1, 0));
 }
 
-TEST(UserDataUtilTest, GetDefaultSelectionForEmptyProfiles) {
+TEST(UserDataUtilTest, GetDefaultContactSelectionForEmptyProfiles) {
   std::vector<std::unique_ptr<autofill::AutofillProfile>> profiles;
   CollectUserDataOptions options;
 
-  EXPECT_THAT(GetDefaultProfile(options, profiles), -1);
+  EXPECT_THAT(GetDefaultContactProfile(options, profiles), -1);
 }
 
-TEST(UserDataUtilTest, GetDefaultSelectionForCompleteProfiles) {
+TEST(UserDataUtilTest, GetDefaultContactSelectionForCompleteProfiles) {
   auto profile_b = std::make_unique<autofill::AutofillProfile>();
   autofill::test::SetProfileInfo(profile_b.get(), "Berta", "", "West",
                                  "berta.west@gmail.com", "", "", "", "", "", "",
@@ -113,7 +113,7 @@
   options.request_payer_name = true;
   options.request_payer_email = true;
 
-  EXPECT_THAT(GetDefaultProfile(options, profiles), 1);
+  EXPECT_THAT(GetDefaultContactProfile(options, profiles), 1);
 }
 
 TEST(UserDataUtilTest, GetDefaultSelectionForDefaultEmail) {
@@ -146,7 +146,89 @@
   options.request_payer_phone = true;
   options.default_email = "adam.west@gmail.com";
 
-  EXPECT_THAT(GetDefaultProfile(options, profiles), 2);
+  EXPECT_THAT(GetDefaultContactProfile(options, profiles), 2);
+}
+
+TEST(UserDataUtilTest, SortsCompleteAddressesAlphabetically) {
+  auto profile_b = std::make_unique<autofill::AutofillProfile>();
+  autofill::test::SetProfileInfo(profile_b.get(), "Berta", "", "West", "", "",
+                                 "Brandschenkestrasse 110", "", "Zurich", "",
+                                 "8002", "CH", "");
+
+  auto profile_a = std::make_unique<autofill::AutofillProfile>();
+  autofill::test::SetProfileInfo(profile_a.get(), "Adam", "", "West", "", "",
+                                 "Brandschenkestrasse 110", "", "Zurich", "",
+                                 "8002", "CH", "");
+
+  // Specify profiles in reverse order to force sorting.
+  std::vector<std::unique_ptr<autofill::AutofillProfile>> profiles;
+  profiles.emplace_back(std::move(profile_b));
+  profiles.emplace_back(std::move(profile_a));
+
+  CollectUserDataOptions options;
+
+  std::vector<int> profile_indices =
+      autofill_assistant::SortAddressesByCompleteness(options, profiles);
+  EXPECT_THAT(profile_indices, SizeIs(profiles.size()));
+  EXPECT_THAT(profile_indices, ElementsAre(1, 0));
+}
+
+TEST(UserDataUtilTest, SortsAddressesByCompleteness) {
+  // Adding email address and phone number to demonstrate that they are not
+  // checked for completeness.
+  auto profile_no_street = std::make_unique<autofill::AutofillProfile>();
+  autofill::test::SetProfileInfo(profile_no_street.get(), "Adam", "", "West",
+                                 "adam.west@gmail.com", "", "", "", "Zurich",
+                                 "", "8002", "CH", "+41");
+
+  auto profile_complete = std::make_unique<autofill::AutofillProfile>();
+  autofill::test::SetProfileInfo(profile_complete.get(), "Berta", "", "West",
+                                 "", "", "Brandschenkestrasse 110", "",
+                                 "Zurich", "", "8002", "UK", "");
+
+  // Specify profiles in reverse order to force sorting.
+  std::vector<std::unique_ptr<autofill::AutofillProfile>> profiles;
+  profiles.emplace_back(std::move(profile_no_street));
+  profiles.emplace_back(std::move(profile_complete));
+
+  CollectUserDataOptions options;
+
+  std::vector<int> profile_indices =
+      autofill_assistant::SortAddressesByCompleteness(options, profiles);
+  EXPECT_THAT(profile_indices, SizeIs(profiles.size()));
+  EXPECT_THAT(profile_indices, ElementsAre(1, 0));
+}
+
+TEST(UserDataUtilTest, GetDefaultAddressSelectionForEmptyProfiles) {
+  std::vector<std::unique_ptr<autofill::AutofillProfile>> profiles;
+  CollectUserDataOptions options;
+
+  EXPECT_THAT(GetDefaultAddressProfile(options, profiles), -1);
+}
+
+TEST(UserDataUtilTest, GetDefaultAddressSelectionForCompleteProfiles) {
+  // Adding email address and phone number to demonstrate that they are not
+  // checked for completeness.
+  auto profile_with_irrelevant_details =
+      std::make_unique<autofill::AutofillProfile>();
+  autofill::test::SetProfileInfo(profile_with_irrelevant_details.get(), "Berta",
+                                 "berta.west@gmail.com", "West", "", "",
+                                 "Brandschenkestrasse 110", "", "Zurich", "",
+                                 "8002", "CH", "+41");
+
+  auto profile_complete = std::make_unique<autofill::AutofillProfile>();
+  autofill::test::SetProfileInfo(profile_complete.get(), "Adam", "", "West", "",
+                                 "", "Brandschenkestrasse 110", "", "Zurich",
+                                 "", "8002", "CH", "");
+
+  // Specify profiles in reverse order to force sorting.
+  std::vector<std::unique_ptr<autofill::AutofillProfile>> profiles;
+  profiles.emplace_back(std::move(profile_with_irrelevant_details));
+  profiles.emplace_back(std::move(profile_complete));
+
+  CollectUserDataOptions options;
+
+  EXPECT_THAT(GetDefaultAddressProfile(options, profiles), 1);
 }
 
 TEST(UserDataUtilTest, SortsCreditCardsByCompleteness) {
@@ -172,7 +254,7 @@
   CollectUserDataOptions options;
 
   std::vector<int> sorted_indices =
-      SortByCompleteness(options, payment_instruments);
+      SortPaymentInstrumentsByCompleteness(options, payment_instruments);
   EXPECT_THAT(sorted_indices, SizeIs(payment_instruments.size()));
   EXPECT_THAT(sorted_indices, ElementsAre(1, 0));
 }
@@ -200,7 +282,7 @@
   CollectUserDataOptions options;
 
   std::vector<int> sorted_indices =
-      SortByCompleteness(options, payment_instruments);
+      SortPaymentInstrumentsByCompleteness(options, payment_instruments);
   EXPECT_THAT(sorted_indices, SizeIs(payment_instruments.size()));
   EXPECT_THAT(sorted_indices, ElementsAre(1, 0));
 }
@@ -253,7 +335,7 @@
   options.require_billing_postal_code = true;
 
   std::vector<int> sorted_indices =
-      SortByCompleteness(options, payment_instruments);
+      SortPaymentInstrumentsByCompleteness(options, payment_instruments);
   EXPECT_THAT(sorted_indices, SizeIs(payment_instruments.size()));
   EXPECT_THAT(sorted_indices, ElementsAre(2, 1, 0));
 }
diff --git a/components/browsing_data/core/history_notice_utils.cc b/components/browsing_data/core/history_notice_utils.cc
index 36b7937..7dcc540 100644
--- a/components/browsing_data/core/history_notice_utils.cc
+++ b/components/browsing_data/core/history_notice_utils.cc
@@ -57,16 +57,37 @@
     const syncer::SyncService* sync_service,
     history::WebHistoryService* history_service,
     base::OnceCallback<void(bool)> callback) {
+  IsHistoryRecordingEnabledAndCanBeUsed(
+      sync_service, history_service,
+      base::BindOnce(
+          [](base::OnceCallback<void(bool)> callback,
+             const base::Optional<bool>& history_recording_enabled) {
+            std::move(callback).Run(history_recording_enabled.value_or(false));
+          },
+          std::move(callback)));
+}
+
+void IsHistoryRecordingEnabledAndCanBeUsed(
+    const syncer::SyncService* sync_service,
+    history::WebHistoryService* history_service,
+    base::OnceCallback<void(const base::Optional<bool>&)> callback) {
   if (!sync_service || !sync_service->IsSyncFeatureActive() ||
       !sync_service->GetActiveDataTypes().Has(
           syncer::HISTORY_DELETE_DIRECTIVES) ||
-      sync_service->GetUserSettings()->IsUsingSecondaryPassphrase() ||
       !history_service) {
+    std::move(callback).Run(base::nullopt);
+    return;
+  }
+
+  if (sync_service->GetUserSettings()->IsUsingSecondaryPassphrase()) {
+    // The user has a custom passphrase. The data is encrypted and can not be
+    // used.
     std::move(callback).Run(false);
     return;
   }
+
   net::PartialNetworkTrafficAnnotationTag partial_traffic_annotation =
-      net::DefinePartialNetworkTrafficAnnotation("history_notice_utils_notice",
+      net::DefinePartialNetworkTrafficAnnotation("history_recording_enabled",
                                                  "web_history_service", R"(
       semantics {
         description:
@@ -75,12 +96,12 @@
           "use Google services' option enabled in the Activity controls of "
           "their Google account. This is done for users who sync their "
           "browsing history without a custom passphrase in order to show "
-          "information about history.google.com on the history page and in "
-          "the Clear Browsing Data dialog."
+          "information about history.google.com on the history page, "
+          "the settings sync setup page and in the Clear Browsing Data dialog."
         trigger:
           "This request is sent when user opens the history page or the "
-          "Clear Browsing Data dialog and history sync without a custom "
-          "passphrase is (re)enabled."
+          "settings sync setup page or the Clear Browsing Data dialog and "
+          "history sync without a custom passphrase is (re)enabled."
         data:
           "An OAuth2 token authenticating the user."
       }
@@ -114,6 +135,7 @@
   // after processing both callbacks.
   MergeBooleanCallbacks* merger =
       new MergeBooleanCallbacks(2, std::move(callback));
+
   net::PartialNetworkTrafficAnnotationTag partial_traffic_annotation =
       net::DefinePartialNetworkTrafficAnnotation("history_notice_utils_popup",
                                                  "web_history_service", R"(
@@ -138,8 +160,13 @@
             }
           })");
   history_service->QueryWebAndAppActivity(
-      base::BindOnce(&MergeBooleanCallbacks::RunCallback,
-                     base::Unretained(merger)),
+      base::BindOnce(
+          [](base::OnceCallback<void(bool)> callback,
+             const base::Optional<bool>& history_recording_enabled) {
+            std::move(callback).Run(history_recording_enabled.value_or(false));
+          },
+          base::BindOnce(&MergeBooleanCallbacks::RunCallback,
+                         base::Unretained(merger))),
       partial_traffic_annotation);
   history_service->QueryOtherFormsOfBrowsingHistory(
       channel,
diff --git a/components/browsing_data/core/history_notice_utils.h b/components/browsing_data/core/history_notice_utils.h
index ff51743..851393fd 100644
--- a/components/browsing_data/core/history_notice_utils.h
+++ b/components/browsing_data/core/history_notice_utils.h
@@ -8,6 +8,7 @@
 #include <string>
 
 #include "base/callback_forward.h"
+#include "base/optional.h"
 
 namespace history {
 class WebHistoryService;
@@ -23,6 +24,21 @@
 
 namespace browsing_data {
 
+// Whether history recording is enabled and can be used to provide personalized
+// experience. The prior is true if all the following is true:
+// - User is syncing and sync history is on.
+// - Data is not encrypted with custom passphrase.
+// - User has enabled 'Include Chrome browsing history and activity from
+//   websites and apps that use Google services' in the |Web and App Activity|
+//   of their Google Account.
+// The response is returned in |callback|. The response is base::nullopt if the
+// sWAA bit could not be retrieved (i.e. the history service has not been
+// created yet).
+void IsHistoryRecordingEnabledAndCanBeUsed(
+    const syncer::SyncService* sync_service,
+    history::WebHistoryService* history_service,
+    base::OnceCallback<void(const base::Optional<bool>&)> callback);
+
 // Whether the Clear Browsing Data UI should show a notice about the existence
 // of other forms of browsing history stored in user's account. The response
 // is returned in a |callback|.
diff --git a/components/history/core/browser/web_history_service.cc b/components/history/core/browser/web_history_service.cc
index e1f687a..109452c1 100644
--- a/components/history/core/browser/web_history_service.cc
+++ b/components/history/core/browser/web_history_service.cc
@@ -629,17 +629,17 @@
   pending_web_and_app_activity_requests_.erase(request);
 
   std::unique_ptr<base::DictionaryValue> response_value;
-  bool web_and_app_activity_enabled = false;
-
   if (success) {
     response_value = ReadResponse(request);
-    if (response_value) {
-      response_value->GetBoolean(
-          "history_recording_enabled", &web_and_app_activity_enabled);
+    bool web_and_app_activity_enabled = false;
+    if (response_value &&
+        response_value->GetBoolean("history_recording_enabled",
+                                   &web_and_app_activity_enabled)) {
+      std::move(callback).Run(web_and_app_activity_enabled);
+      return;
     }
   }
-
-  std::move(callback).Run(web_and_app_activity_enabled);
+  std::move(callback).Run(base::nullopt);
 }
 
 void WebHistoryService::QueryOtherFormsOfBrowsingHistoryCompletionCallback(
diff --git a/components/history/core/browser/web_history_service.h b/components/history/core/browser/web_history_service.h
index a7acd29..8660b9a1 100644
--- a/components/history/core/browser/web_history_service.h
+++ b/components/history/core/browser/web_history_service.h
@@ -89,7 +89,8 @@
   using AudioWebHistoryCallback =
       base::OnceCallback<void(bool success, bool new_enabled_value)>;
 
-  using QueryWebAndAppActivityCallback = base::OnceCallback<void(bool success)>;
+  using QueryWebAndAppActivityCallback = base::OnceCallback<void(
+      const base::Optional<bool>& history_recording_enabled)>;
 
   using QueryOtherFormsOfBrowsingHistoryCallback =
       base::OnceCallback<void(bool success)>;
@@ -211,7 +212,7 @@
   // completed. Unpacks the response and calls |callback|, which is the original
   // callback that was passed to QueryOtherFormsOfBrowsingHistory().
   void QueryOtherFormsOfBrowsingHistoryCompletionCallback(
-      WebHistoryService::QueryWebAndAppActivityCallback callback,
+      WebHistoryService::QueryOtherFormsOfBrowsingHistoryCallback callback,
       WebHistoryService::Request* request,
       bool success);
 
diff --git a/components/invalidation/impl/per_user_topic_subscription_manager.cc b/components/invalidation/impl/per_user_topic_subscription_manager.cc
index 051bc7db..05adbfc 100644
--- a/components/invalidation/impl/per_user_topic_subscription_manager.cc
+++ b/components/invalidation/impl/per_user_topic_subscription_manager.cc
@@ -409,8 +409,6 @@
   pending_subscriptions_[topic]->completion_callback = base::BindOnce(
       &PerUserTopicSubscriptionManager::SubscriptionFinishedForTopic,
       base::Unretained(this));
-  // TODO(crbug.com/1020117): We already called InformOfRequest(false) before in
-  // SubscriptionFinishedForTopic(), should probably not call it again here?
   pending_subscriptions_[topic]->request_backoff_.InformOfRequest(false);
   pending_subscriptions_[topic]->request_retry_timer_.Start(
       FROM_HERE,
@@ -429,7 +427,6 @@
     ActOnSuccessfulSubscription(topic, private_topic_name, type);
   } else {
     auto it = pending_subscriptions_.find(topic);
-    it->second->request_backoff_.InformOfRequest(false);
     if (code.IsAuthFailure()) {
       // Re-request access token and try subscription requests again.
       RequestAccessToken();
diff --git a/components/invalidation/impl/per_user_topic_subscription_manager_unittest.cc b/components/invalidation/impl/per_user_topic_subscription_manager_unittest.cc
index 8078012..a801481f 100644
--- a/components/invalidation/impl/per_user_topic_subscription_manager_unittest.cc
+++ b/components/invalidation/impl/per_user_topic_subscription_manager_unittest.cc
@@ -181,8 +181,13 @@
         CreateStatusForTest(net::OK, std::string() /* response_body */));
   }
 
+  void FastForwardTimeBy(base::TimeDelta delta) {
+    task_environment_.FastForwardBy(delta);
+  }
+
  private:
-  base::test::SingleThreadTaskEnvironment task_environment_;
+  base::test::SingleThreadTaskEnvironment task_environment_{
+      base::test::TaskEnvironment::TimeSource::MOCK_TIME};
   data_decoder::test::InProcessDataDecoder in_process_data_decoder_;
   network::TestURLLoaderFactory url_loader_factory_;
   TestingPrefServiceSimple pref_service_;
@@ -255,18 +260,40 @@
   ASSERT_TRUE(per_user_topic_subscription_manager->GetSubscribedTopicsForTest()
                   .empty());
 
+  // The first subscription attempt will fail.
   AddCorrectSubscriptionResponce(
-      /* private_topic */ std::string(), kFakeInstanceIdToken,
+      /*private_topic=*/std::string(), kFakeInstanceIdToken,
       net::HTTP_INTERNAL_SERVER_ERROR);
 
   per_user_topic_subscription_manager->UpdateSubscribedTopics(
       ids, kFakeInstanceIdToken);
   base::RunLoop().RunUntilIdle();
 
+  // Since the subscriptions failed, the requests should still be pending.
   EXPECT_TRUE(per_user_topic_subscription_manager->GetSubscribedTopicsForTest()
                   .empty());
   EXPECT_FALSE(
       per_user_topic_subscription_manager->HaveAllRequestsFinishedForTest());
+
+  // The second attempt will succeed.
+  AddCorrectSubscriptionResponce();
+
+  // Initial backoff is 2 seconds with 20% jitter, so the minimum possible delay
+  // is 1600ms. Advance time to just before that; nothing should have changed
+  // yet.
+  FastForwardTimeBy(base::TimeDelta::FromMilliseconds(1500));
+  EXPECT_TRUE(per_user_topic_subscription_manager->GetSubscribedTopicsForTest()
+                  .empty());
+  EXPECT_FALSE(
+      per_user_topic_subscription_manager->HaveAllRequestsFinishedForTest());
+
+  // The maximum backoff is 2 seconds; advance to just past that. Now all
+  // subscriptions should have finished.
+  FastForwardTimeBy(base::TimeDelta::FromMilliseconds(600));
+  EXPECT_FALSE(per_user_topic_subscription_manager->GetSubscribedTopicsForTest()
+                   .empty());
+  EXPECT_TRUE(
+      per_user_topic_subscription_manager->HaveAllRequestsFinishedForTest());
 }
 
 TEST_F(PerUserTopicSubscriptionManagerTest, ShouldRepeatRequestsOnForbidden) {
diff --git a/components/metrics/metrics_log.h b/components/metrics/metrics_log.h
index 821835a..fc3afba 100644
--- a/components/metrics/metrics_log.h
+++ b/components/metrics/metrics_log.h
@@ -166,9 +166,12 @@
 
   LogType log_type() const { return log_type_; }
 
+  // Exposed for the sake of mocking/accessing in test code.
+  ChromeUserMetricsExtension* UmaProtoForTest() { return &uma_proto_; }
+
  protected:
   // Exposed for the sake of mocking/accessing in test code.
-
+  // TODO(1034679): migrate to public UmaProtoForTest() method.
   ChromeUserMetricsExtension* uma_proto() { return &uma_proto_; }
 
   // Exposed to allow subclass to access to export the uma_proto. Can be used
diff --git a/components/metrics/metrics_service.h b/components/metrics/metrics_service.h
index 7270f83..fa29a338 100644
--- a/components/metrics/metrics_service.h
+++ b/components/metrics/metrics_service.h
@@ -175,8 +175,16 @@
     return &synthetic_trial_registry_;
   }
 
+  // Test hook to close out the current log after adding any last information.
+  void CloseCurrentLogForTest() { CloseCurrentLog(); }
+
+  MetricsLogStore* LogStoreForTest() {
+    return reporting_service_.metrics_log_store();
+  }
+
  protected:
   // Exposed for testing.
+  // TODO(1034679): migrate these to public FooForTest() methods.
   MetricsLogManager* log_manager() { return &log_manager_; }
   MetricsLogStore* log_store() {
     return reporting_service_.metrics_log_store();
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/builder/Module.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/builder/Module.java
index f14fd56..256f06e 100644
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/builder/Module.java
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/builder/Module.java
@@ -6,7 +6,7 @@
 
 import androidx.annotation.VisibleForTesting;
 
-import org.chromium.base.BuildConfig;
+import org.chromium.base.BundleUtils;
 import org.chromium.base.StrictModeContext;
 import org.chromium.base.annotations.JNINamespace;
 import org.chromium.base.annotations.NativeMethods;
@@ -153,7 +153,7 @@
      * @return The module's {@link ModuleDescriptor}.
      */
     private static ModuleDescriptor loadModuleDescriptor(String name) {
-        if (!BuildConfig.IS_BUNDLE) {
+        if (!BundleUtils.isBundle()) {
             return new ModuleDescriptor() {
                 @Override
                 public String[] getLibraries() {
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/EngineFactory.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/EngineFactory.java
index e72e19b07..6c9ea53 100644
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/EngineFactory.java
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/EngineFactory.java
@@ -4,7 +4,7 @@
 
 package org.chromium.components.module_installer.engine;
 
-import org.chromium.base.BuildConfig;
+import org.chromium.base.BundleUtils;
 import org.chromium.base.CommandLine;
 
 /**
@@ -12,7 +12,7 @@
  */
 public class EngineFactory {
     public InstallEngine getEngine() {
-        if (!BuildConfig.IS_BUNDLE) {
+        if (!BundleUtils.isBundle()) {
             return new ApkEngine();
         }
         if (CommandLine.getInstance().hasSwitch("fake-feature-module-install")) {
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java
index 62023a0..682b149 100644
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java
@@ -4,7 +4,7 @@
 
 package org.chromium.components.module_installer.util;
 
-import org.chromium.base.BuildConfig;
+import org.chromium.base.BundleUtils;
 import org.chromium.base.annotations.MainDex;
 import org.chromium.components.module_installer.logger.SplitAvailabilityLogger;
 
@@ -20,7 +20,7 @@
      * unnecessary code (modules are not supported in APKs).
      */
     public static void recordStartupTime() {
-        if (!BuildConfig.IS_BUNDLE) return;
+        if (!BundleUtils.isBundle()) return;
 
         Timer.recordStartupTime();
     }
@@ -29,7 +29,7 @@
      * Records the start time in order to later report the install duration via UMA.
      */
     public static void recordModuleAvailability() {
-        if (!BuildConfig.IS_BUNDLE) return;
+        if (!BundleUtils.isBundle()) return;
 
         try (Timer timer = new Timer()) {
             initApplication();
@@ -41,7 +41,7 @@
      * Updates the CrashKey report containing modules currently present.
      */
     public static void updateCrashKeys() {
-        if (!BuildConfig.IS_BUNDLE) return;
+        if (!BundleUtils.isBundle()) return;
 
         try (Timer timer = new Timer()) {
             CrashKeyRecorder.updateCrashKeys();
@@ -52,7 +52,7 @@
      * Initializes the PlayCore SplitCompat framework.
      */
     public static void initApplication() {
-        if (!BuildConfig.IS_BUNDLE) return;
+        if (!BundleUtils.isBundle()) return;
 
         try (Timer timer = new Timer()) {
             SplitCompatInitializer.initApplication();
diff --git a/components/omnibox/browser/scored_history_match.cc b/components/omnibox/browser/scored_history_match.cc
index ff7997ca..c51c311fe 100644
--- a/components/omnibox/browser/scored_history_match.cc
+++ b/components/omnibox/browser/scored_history_match.cc
@@ -407,13 +407,15 @@
     while ((next_word_starts != end_word_starts) &&
            (*next_word_starts < (term_match.offset + term_offset)))
       ++next_word_starts;
-    // Add the match if it's before the position we start filtering at or
+    // Add the match if it's (1) before the position we start filtering at, (2)
     // after the position we stop filtering at (assuming we have a position
-    // to stop filtering at) or if it's at a word boundary.
+    // to stop filtering at), (3) at a word boundary, or (4) void of words (e.g.
+    // the term '-' contains no words).
     if ((term_match.offset < start_pos) ||
         ((end_pos != std::string::npos) && (term_match.offset >= end_pos)) ||
         ((next_word_starts != end_word_starts) &&
-         (*next_word_starts == term_match.offset + term_offset)))
+         (*next_word_starts == term_match.offset + term_offset)) ||
+        term_offset == term_match.length)
       filtered_matches.push_back(term_match);
   }
   return filtered_matches;
@@ -497,13 +499,16 @@
     }
     const bool at_word_boundary = (next_word_starts != end_word_starts) &&
                                   (*next_word_starts == term_word_offset);
+    // Terms such as '-' contain no words.
+    const bool term_has_no_words =
+        url_match.length == terms_to_word_starts_offsets[url_match.term_num];
     if (term_word_offset >= query_pos) {
       // The match is in the query or ref component.
-      DCHECK(at_word_boundary);
+      DCHECK(at_word_boundary || term_has_no_words);
       term_scores[url_match.term_num] += 5;
     } else if (term_word_offset >= path_pos) {
       // The match is in the path component.
-      DCHECK(at_word_boundary);
+      DCHECK(at_word_boundary || term_has_no_words);
       term_scores[url_match.term_num] += 8;
     } else if (term_word_offset >= host_pos) {
       if (term_word_offset < last_part_of_host_pos) {
@@ -519,7 +524,7 @@
     } else {
       // The match is in the protocol (a.k.a. scheme).
       // Matches not at a word boundary should have been filtered already.
-      DCHECK(at_word_boundary);
+      DCHECK(at_word_boundary || term_has_no_words);
       if (allow_scheme_matches_)
         term_scores[url_match.term_num] += 10;
     }
@@ -547,7 +552,10 @@
     if (word_num >= num_title_words_to_allow_)
       break;  // only count the first ten words
     DCHECK(next_word_starts != end_word_starts);
-    DCHECK_EQ(*next_word_starts, term_word_offset) << "not at word boundary";
+    DCHECK(*next_word_starts == term_word_offset ||
+           title_match.length ==
+               terms_to_word_starts_offsets[title_match.term_num])
+        << "not at word boundary";
     term_scores[title_match.term_num] += 8;
   }
   // TODO(mpearson): Restore logic for penalizing out-of-order matches.
diff --git a/components/omnibox/browser/scored_history_match_unittest.cc b/components/omnibox/browser/scored_history_match_unittest.cc
index 4a4112d..4b92625 100644
--- a/components/omnibox/browser/scored_history_match_unittest.cc
+++ b/components/omnibox/browser/scored_history_match_unittest.cc
@@ -628,7 +628,7 @@
 // once somewhere in the URL or title.
 TEST_F(ScoredHistoryMatchTest, GetTopicalityScore) {
   GURL url("http://abc.def.com/path1/path2?arg1=val1&arg2=val2#hash_fragment");
-  base::string16 title = ASCIIToUTF16("here is a title");
+  base::string16 title = ASCIIToUTF16("here is a - title");
   auto Score = [&](const char* term) {
     return GetTopicalityScoreOfTermAgainstURLAndTitle(ASCIIToUTF16(term), url,
                                                       title);
@@ -652,6 +652,7 @@
   const float protocol_mid_word_score = Score("tt");
   const float title_score = Score("her");
   const float title_mid_word_score = Score("er");
+  const float wordless_match_at_title_mid_word_score = Score("-");
   // Verify hostname and domain name > path > arg.
   EXPECT_GT(hostname_score, path_score);
   EXPECT_GT(domain_name_score, path_score);
@@ -673,6 +674,17 @@
   EXPECT_GT(arg_score, hostname_mid_word_score);
   EXPECT_GT(arg_score, domain_name_mid_word_score);
   EXPECT_GT(title_score, title_mid_word_score);
+  // Verify mid word scores are scored 0 unless 1) in the host or domain 2) or
+  // the match contains no words.
+  EXPECT_GT(hostname_mid_word_score, 0);
+  EXPECT_GT(domain_name_mid_word_score, 0);
+  EXPECT_EQ(tld_mid_word_score, 0);
+  EXPECT_EQ(path_mid_word_score, 0);
+  EXPECT_EQ(arg_mid_word_score, 0);
+  EXPECT_EQ(protocol_mid_word_score, 0);
+  EXPECT_EQ(title_mid_word_score, 0);
+  EXPECT_GT(wordless_match_at_title_mid_word_score, 0);
+  // Verify matches not at word starts score non 0 when they contain no words.
   // Check that title matches fit somewhere reasonable compared to the
   // various types of URL matches.
   EXPECT_GT(title_score, arg_score);
diff --git a/components/password_manager/core/browser/sync/password_sync_bridge.cc b/components/password_manager/core/browser/sync/password_sync_bridge.cc
index 9706506..6fd2369c 100644
--- a/components/password_manager/core/browser/sync/password_sync_bridge.cc
+++ b/components/password_manager/core/browser/sync/password_sync_bridge.cc
@@ -12,6 +12,7 @@
 #include "base/metrics/histogram_functions.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/utf_string_conversions.h"
+#include "build/build_config.h"
 #include "components/autofill/core/common/password_form.h"
 #include "components/password_manager/core/browser/password_manager_metrics_util.h"
 #include "components/password_manager/core/common/password_manager_features.h"
@@ -168,8 +169,20 @@
               .Serialize() == password_form.federation_origin.Serialize());
 }
 
+// Whether we should try to recover undecryptable local passwords by deleting
+// the local copy, to be replaced by the remote version coming from Sync during
+// merge.
 bool ShouldRecoverPasswordsDuringMerge() {
+  // Delete the local undecryptable copy under the following conditions:
+  // 1. This is MacOS only.
+  // 2. The more general feature kDeleteCorruptedPasswords is disabled.
+  //    kDeleteCorruptedPasswords takes cares of deleting undecryptable entities
+  //    for Sync and non-Sync users upon reading from the LoginDatabase.
+#if defined(OS_MACOSX) && !defined(OS_IOS)
   return !base::FeatureList::IsEnabled(features::kDeleteCorruptedPasswords);
+#else
+  return false;
+#endif
 }
 
 // A simple class for scoping a password store sync transaction. If the
diff --git a/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc b/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc
index bb38b88f..a2e48f1 100644
--- a/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc
+++ b/components/password_manager/core/browser/sync/password_sync_bridge_unittest.cc
@@ -12,6 +12,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/bind_test_util.h"
 #include "base/test/mock_callback.h"
+#include "build/build_config.h"
 #include "components/password_manager/core/browser/password_store_sync.h"
 #include "components/sync/base/client_tag_hash.h"
 #include "components/sync/model/data_batch.h"
@@ -789,6 +790,7 @@
                             mock_password_store_sync(), base::DoNothing());
 }
 
+#if defined(OS_MACOSX) && !defined(OS_IOS)
 // Tests that in case ReadAllLogins() during initial merge returns encryption
 // service failure, the bridge would try to do a DB clean up.
 TEST_F(PasswordSyncBridgeTest, ShouldDeleteUndecryptableLoginsDuringMerge) {
@@ -806,6 +808,7 @@
       bridge()->MergeSyncData(bridge()->CreateMetadataChangeList(), {});
   EXPECT_FALSE(error);
 }
+#endif
 
 TEST_F(PasswordSyncBridgeTest,
        ShouldDeleteSyncMetadataWhenApplyStopSyncChanges) {
diff --git a/components/password_manager/core/browser/sync/password_syncable_service.cc b/components/password_manager/core/browser/sync/password_syncable_service.cc
index 7906e09..bad5601 100644
--- a/components/password_manager/core/browser/sync/password_syncable_service.cc
+++ b/components/password_manager/core/browser/sync/password_syncable_service.cc
@@ -14,6 +14,7 @@
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/utf_string_conversions.h"
+#include "build/build_config.h"
 #include "components/autofill/core/common/password_form.h"
 #include "components/password_manager/core/browser/password_manager_metrics_util.h"
 #include "components/password_manager/core/browser/password_store_sync.h"
@@ -450,8 +451,20 @@
   }
 }
 
+// Whether we should try to recover undecryptable local passwords by deleting
+// the local copy, to be replaced by the remote version coming from Sync during
+// merge.
 bool PasswordSyncableService::ShouldRecoverPasswordsDuringMerge() const {
+  // Delete the local undecryptable copy under the following conditions:
+  // 1. This is MacOS only.
+  // 2. The more general feature kDeleteCorruptedPasswords is disabled.
+  //    kDeleteCorruptedPasswords takes cares of deleting undecryptable entities
+  //    for Sync and non-Sync users upon reading from the LoginDatabase.
+#if defined(OS_MACOSX) && !defined(OS_IOS)
   return !base::FeatureList::IsEnabled(features::kDeleteCorruptedPasswords);
+#else
+  return false;
+#endif
 }
 
 syncer::SyncData SyncDataFromPassword(
diff --git a/components/password_manager/core/browser/sync/password_syncable_service_unittest.cc b/components/password_manager/core/browser/sync/password_syncable_service_unittest.cc
index 5b32031..fec1c9f 100644
--- a/components/password_manager/core/browser/sync/password_syncable_service_unittest.cc
+++ b/components/password_manager/core/browser/sync/password_syncable_service_unittest.cc
@@ -31,6 +31,7 @@
 using syncer::SyncData;
 using syncer::SyncDataList;
 using syncer::SyncError;
+using testing::_;
 using testing::AnyNumber;
 using testing::DoAll;
 using testing::ElementsAre;
@@ -41,7 +42,6 @@
 using testing::Return;
 using testing::SetArgPointee;
 using testing::UnorderedElementsAre;
-using testing::_;
 
 namespace password_manager {
 
@@ -515,8 +515,10 @@
                           syncer::PASSWORDS);
   EXPECT_CALL(*password_store(), FillAutofillableLogins(_))
       .WillOnce(Return(false));
+#if defined(OS_MACOSX) && !defined(OS_IOS)
   EXPECT_CALL(*password_store(), DeleteUndecryptableLogins())
       .WillOnce(Return(DatabaseCleanupResult::kDatabaseUnavailable));
+#endif
   EXPECT_CALL(*error_factory, CreateAndUploadError(_, _))
       .WillOnce(Return(error));
   // ActOnPasswordStoreChanges() below shouldn't generate any changes for Sync.
@@ -545,6 +547,7 @@
   base::test::ScopedFeatureList scoped_feature_list_;
 };
 
+#if defined(OS_MACOSX) && !defined(OS_IOS)
 // Test that passwords are recovered for Sync users using the older logic (i.e.
 // recover passwords only for Sync users) when the feature for deleting
 // corrupted passwords for all users is disabled.
@@ -563,6 +566,7 @@
       syncer::PASSWORDS, SyncDataList(), std::move(processor_), nullptr);
   EXPECT_FALSE(result.error().IsSet());
 }
+#endif
 
 class PasswordSyncableServiceTestWithDeleteCorruptedPasswords
     : public PasswordSyncableServiceTest {
@@ -597,6 +601,7 @@
   EXPECT_TRUE(result.error().IsSet());
 }
 
+#if defined(OS_MACOSX) && !defined(OS_IOS)
 // Database cleanup fails because encryption is unavailable.
 TEST_F(PasswordSyncableServiceTestWithoutDeleteCorruptedPasswords,
        FailedDeleteUndecryptableLogins) {
@@ -618,6 +623,7 @@
       std::move(error_factory));
   EXPECT_TRUE(result.error().IsSet());
 }
+#endif
 
 // Start syncing with an error in ProcessSyncChanges. Subsequent password store
 // updates shouldn't be propagated to Sync.
diff --git a/components/startup_metric_utils/browser/BUILD.gn b/components/startup_metric_utils/browser/BUILD.gn
index c975663..90cb4717 100644
--- a/components/startup_metric_utils/browser/BUILD.gn
+++ b/components/startup_metric_utils/browser/BUILD.gn
@@ -2,20 +2,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-# We have 2 separate targets because //components/html_viewer requires :lib,
-# but has symbols that conflict with mojo symbols that :message_filter_lib
-# indirectly depends on.
-
-group("browser") {
-  testonly = true
-
-  deps = [
-    ":host",
-    ":lib",
-  ]
-}
-
-static_library("lib") {
+static_library("browser") {
   sources = [
     "startup_metric_utils.cc",
     "startup_metric_utils.h",
@@ -23,23 +10,6 @@
 
   deps = [
     "//base",
-    "//components/metrics:call_stack_profile_builder",
-    "//components/metrics:metrics",
-    "//components/prefs",
     "//components/version_info",
   ]
 }
-
-static_library("host") {
-  sources = [
-    "startup_metric_host_impl.cc",
-    "startup_metric_host_impl.h",
-  ]
-
-  deps = [
-    ":lib",
-    "//base",
-    "//components/startup_metric_utils/common:interfaces",
-    "//content/public/browser",
-  ]
-}
diff --git a/components/startup_metric_utils/browser/DEPS b/components/startup_metric_utils/browser/DEPS
index dba3d91d..857ff62 100644
--- a/components/startup_metric_utils/browser/DEPS
+++ b/components/startup_metric_utils/browser/DEPS
@@ -1,6 +1,3 @@
 include_rules = [
-  "+components/metrics",
   "+components/version_info",
-  "+content/public/browser",
-  "+mojo/public/cpp/bindings",
 ]
diff --git a/components/startup_metric_utils/browser/startup_metric_host_impl.cc b/components/startup_metric_utils/browser/startup_metric_host_impl.cc
deleted file mode 100644
index 6a09747e..0000000
--- a/components/startup_metric_utils/browser/startup_metric_host_impl.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/startup_metric_utils/browser/startup_metric_host_impl.h"
-
-#include <memory>
-
-#include "components/startup_metric_utils/browser/startup_metric_utils.h"
-#include "mojo/public/cpp/bindings/self_owned_receiver.h"
-
-namespace startup_metric_utils {
-
-StartupMetricHostImpl::StartupMetricHostImpl() = default;
-
-StartupMetricHostImpl::~StartupMetricHostImpl() = default;
-
-// static
-void StartupMetricHostImpl::Create(
-    mojo::PendingReceiver<mojom::StartupMetricHost> receiver) {
-  mojo::MakeSelfOwnedReceiver(std::make_unique<StartupMetricHostImpl>(),
-                              std::move(receiver));
-}
-
-void StartupMetricHostImpl::RecordRendererMainEntryTime(
-    base::TimeTicks renderer_main_entry_time) {
-  startup_metric_utils::RecordRendererMainEntryTime(renderer_main_entry_time);
-}
-
-}  // namespace startup_metric_utils
diff --git a/components/startup_metric_utils/browser/startup_metric_host_impl.h b/components/startup_metric_utils/browser/startup_metric_host_impl.h
deleted file mode 100644
index b1ebd35..0000000
--- a/components/startup_metric_utils/browser/startup_metric_host_impl.h
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef COMPONENTS_STARTUP_METRIC_UTILS_BROWSER_STARTUP_METRIC_HOST_IMPL_H_
-#define COMPONENTS_STARTUP_METRIC_UTILS_BROWSER_STARTUP_METRIC_HOST_IMPL_H_
-
-#include <stdint.h>
-
-#include "base/macros.h"
-#include "base/time/time.h"
-#include "components/startup_metric_utils/common/startup_metric.mojom.h"
-#include "mojo/public/cpp/bindings/pending_receiver.h"
-
-namespace startup_metric_utils {
-
-class StartupMetricHostImpl : public mojom::StartupMetricHost {
- public:
-  StartupMetricHostImpl();
-  ~StartupMetricHostImpl() override;
-
-  static void Create(mojo::PendingReceiver<mojom::StartupMetricHost> receiver);
-
- private:
-  void RecordRendererMainEntryTime(
-      base::TimeTicks renderer_main_entry_time) override;
-
-  DISALLOW_COPY_AND_ASSIGN(StartupMetricHostImpl);
-};
-
-}  // namespace startup_metric_utils
-
-#endif  // COMPONENTS_STARTUP_METRIC_UTILS_BROWSER_STARTUP_METRIC_HOST_IMPL_H_
diff --git a/components/startup_metric_utils/browser/startup_metric_utils.cc b/components/startup_metric_utils/browser/startup_metric_utils.cc
index d470948..9cb3a69 100644
--- a/components/startup_metric_utils/browser/startup_metric_utils.cc
+++ b/components/startup_metric_utils/browser/startup_metric_utils.cc
@@ -44,8 +44,6 @@
 
 base::TimeTicks g_browser_main_entry_point_ticks;
 
-base::TimeTicks g_renderer_main_entry_point_ticks;
-
 base::TimeTicks g_browser_exe_main_entry_point_ticks;
 
 base::TimeTicks g_message_loop_start_ticks;
@@ -335,15 +333,6 @@
   return trace_ticks_base - delta_since_base;
 }
 
-void RecordRendererMainEntryHistogram() {
-  if (!g_browser_main_entry_point_ticks.is_null() &&
-      !g_renderer_main_entry_point_ticks.is_null()) {
-    UMA_HISTOGRAM_AND_TRACE_WITH_TEMPERATURE(
-        UMA_HISTOGRAM_LONG_TIMES_100, "Startup.BrowserMainToRendererMain",
-        g_browser_main_entry_point_ticks, g_renderer_main_entry_point_ticks);
-  }
-}
-
 void AddStartupEventsForTelemetry()
 {
   DCHECK(!g_browser_main_entry_point_ticks.is_null());
@@ -490,13 +479,6 @@
   g_browser_open_tabs_duration = delta;
 }
 
-void RecordRendererMainEntryTime(base::TimeTicks ticks) {
-  // Record the renderer main entry time, but don't log the UMA metric
-  // immediately because the startup temperature is not known yet.
-  if (g_renderer_main_entry_point_ticks.is_null())
-    g_renderer_main_entry_point_ticks = ticks;
-}
-
 void RecordFirstWebContentsNonEmptyPaint(
     base::TimeTicks now,
     base::TimeTicks render_process_host_init_time) {
@@ -505,10 +487,6 @@
     return;
   is_first_call = false;
 
-  // Log Startup.BrowserMainToRendererMain now that the first renderer main
-  // entry time and the startup temperature are known.
-  RecordRendererMainEntryHistogram();
-
   if (!ShouldLogStartupHistogram())
     return;
 
diff --git a/components/startup_metric_utils/browser/startup_metric_utils.h b/components/startup_metric_utils/browser/startup_metric_utils.h
index c59f7713..bdca6a8 100644
--- a/components/startup_metric_utils/browser/startup_metric_utils.h
+++ b/components/startup_metric_utils/browser/startup_metric_utils.h
@@ -55,12 +55,6 @@
 // Call this with the time delta that the browser spent opening its tabs.
 void RecordBrowserOpenTabsDelta(base::TimeDelta delta);
 
-// Call this with a renderer main entry time. The value provided for the first
-// call to this function is used to compute
-// Startup.LoadTime.BrowserMainToRendererMain. Further calls to this
-// function are ignored.
-void RecordRendererMainEntryTime(base::TimeTicks ticks);
-
 // Call this with the time when the first web contents had a non-empty paint,
 // only if the first web contents was unimpeded in its attempt to do so.
 void RecordFirstWebContentsNonEmptyPaint(
diff --git a/components/startup_metric_utils/common/BUILD.gn b/components/startup_metric_utils/common/BUILD.gn
deleted file mode 100644
index d19682d..0000000
--- a/components/startup_metric_utils/common/BUILD.gn
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 2015 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import("//mojo/public/tools/bindings/mojom.gni")
-
-mojom("interfaces") {
-  sources = [
-    "startup_metric.mojom",
-  ]
-  deps = [
-    "//mojo/public/mojom/base",
-  ]
-}
diff --git a/components/startup_metric_utils/common/OWNERS b/components/startup_metric_utils/common/OWNERS
deleted file mode 100644
index 08850f4..0000000
--- a/components/startup_metric_utils/common/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-per-file *.mojom=set noparent
-per-file *.mojom=file://ipc/SECURITY_OWNERS
diff --git a/components/startup_metric_utils/common/startup_metric.mojom b/components/startup_metric_utils/common/startup_metric.mojom
deleted file mode 100644
index 276bd3c..0000000
--- a/components/startup_metric_utils/common/startup_metric.mojom
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-module startup_metric_utils.mojom;
-
-import "mojo/public/mojom/base/time.mojom";
-
-interface StartupMetricHost {
-  RecordRendererMainEntryTime(
-      mojo_base.mojom.TimeTicks renderer_main_entry_time);
-};
diff --git a/components/tracing/common/trace_startup_config.cc b/components/tracing/common/trace_startup_config.cc
index 152c51a..25412258 100644
--- a/components/tracing/common/trace_startup_config.cc
+++ b/components/tracing/common/trace_startup_config.cc
@@ -38,13 +38,13 @@
     FILE_PATH_LITERAL("/data/local/chrome-trace-config.json");
 
 const char kDefaultStartupCategories[] =
-    "startup,browser,toplevel,disabled-by-default-toplevel.flow,ipc,disabled-"
-    "by-default-ipc.flow,EarlyJava,cc,Java,navigation,loading,gpu,"
-    "disabled-by-default-cpu_profiler,download_service,-*";
+    "startup,browser,toplevel,disabled-by-default-toplevel.flow,ipc,EarlyJava,"
+    "cc,Java,navigation,loading,gpu,disabled-by-default-cpu_profiler,download_"
+    "service,-*";
 #else
 const char kDefaultStartupCategories[] =
     "benchmark,toplevel,startup,disabled-by-default-file,disabled-by-default-"
-    "toplevel.flow,disabled-by-default-ipc.flow,download_service,-*";
+    "toplevel.flow,download_service,-*";
 #endif
 
 // String parameters that can be used to parse the trace config file content.
diff --git a/content/browser/android/synchronous_compositor_host.cc b/content/browser/android/synchronous_compositor_host.cc
index 36c5f9e..5776f44 100644
--- a/content/browser/android/synchronous_compositor_host.cc
+++ b/content/browser/android/synchronous_compositor_host.cc
@@ -156,6 +156,7 @@
 }
 
 SynchronousCompositorHost::~SynchronousCompositorHost() {
+  SetBeginFrameSource(nullptr);
   client_->DidDestroyCompositor(this, frame_sink_id_);
   bridge_->HostDestroyedOnUIThread();
 }
@@ -435,7 +436,10 @@
 void SynchronousCompositorHost::DidPresentCompositorFrames(
     viz::FrameTimingDetailsMap timing_details,
     uint32_t frame_token) {
-  rwhva_->DidPresentCompositorFrames(timing_details);
+  timing_details_ = timing_details;
+  if (!timing_details_.empty())
+    AddBeginFrameRequest(BEGIN_FRAME);
+
   UpdatePresentedFrameToken(frame_token);
 }
 
@@ -509,25 +513,13 @@
                          over_scroll_params.current_fling_velocity);
 }
 
-void SynchronousCompositorHost::BeginFrame(
-    ui::WindowAndroid* window_android,
-    const viz::BeginFrameArgs& args,
-    const viz::FrameTimingDetailsMap& timing_details) {
-  if (!bridge_->WaitAfterVSyncOnUIThread(window_android))
-    return;
-  mojom::SynchronousCompositor* compositor = GetSynchronousCompositor();
-  DCHECK(compositor);
-  compositor->BeginFrame(args, timing_details);
-}
-
-void SynchronousCompositorHost::SetBeginFramePaused(bool paused) {
-  begin_frame_paused_ = paused;
-  if (mojom::SynchronousCompositor* compositor = GetSynchronousCompositor())
-    compositor->SetBeginFrameSourcePaused(paused);
-}
-
 void SynchronousCompositorHost::SetNeedsBeginFrames(bool needs_begin_frames) {
-  rwhva_->host()->SetNeedsBeginFrame(needs_begin_frames);
+  TRACE_EVENT1("cc", "SynchronousCompositorHost::SetNeedsBeginFrames",
+               "needs_begin_frames", needs_begin_frames);
+  if (needs_begin_frames)
+    AddBeginFrameRequest(PERSISTENT_BEGIN_FRAME);
+  else
+    ClearBeginFrameRequest(PERSISTENT_BEGIN_FRAME);
 }
 
 void SynchronousCompositorHost::LayerTreeFrameSinkCreated() {
@@ -539,8 +531,7 @@
   DCHECK(compositor);
   compositor->SetMemoryPolicy(bytes_limit_);
 
-  if (begin_frame_paused_)
-    compositor->SetBeginFrameSourcePaused(begin_frame_paused_);
+  SendBeginFramePaused();
 }
 
 void SynchronousCompositorHost::UpdateState(
@@ -604,4 +595,135 @@
   return sync_compositor_.get();
 }
 
+void SynchronousCompositorHost::OnBeginFrame(const viz::BeginFrameArgs& args) {
+  TRACE_EVENT0("cc,benchmark", "SynchronousCompositorHost::OnBeginFrame");
+
+  // In sync mode, we disregard missed frame args to ensure that
+  // SynchronousCompositorBrowserFilter::SyncStateAfterVSync will be called
+  // during WindowAndroid::WindowBeginFrameSource::OnVSync() observer iteration.
+  if (args.type == viz::BeginFrameArgs::MISSED)
+    return;
+
+  // We need to check this before |outstanding_begin_frame_requests_| will be
+  // changed by ClearBeginFrameRequest below.
+  bool needs_begin_frame =
+      (outstanding_begin_frame_requests_ & BEGIN_FRAME) ||
+      (outstanding_begin_frame_requests_ & PERSISTENT_BEGIN_FRAME);
+
+  // Update |last_begin_frame_args_| before handling
+  // |outstanding_begin_frame_requests_| to prevent the BeginFrameSource from
+  // sending the same MISSED args in infinite recursion.
+  last_begin_frame_args_ = args;
+
+  ClearBeginFrameRequest(BEGIN_FRAME);
+
+  if (on_compute_scroll_called_ || !rwhva_->is_currently_scrolling_viewport()) {
+    rwhva_->host()->ProgressFlingIfNeeded(args.frame_time);
+  }
+
+  if (needs_begin_frame) {
+    SendBeginFrame(args);
+  }
+}
+
+const viz::BeginFrameArgs& SynchronousCompositorHost::LastUsedBeginFrameArgs()
+    const {
+  return last_begin_frame_args_;
+}
+
+void SynchronousCompositorHost::OnBeginFrameSourcePausedChanged(bool paused) {
+  if (paused != begin_frame_paused_) {
+    begin_frame_paused_ = paused;
+    SendBeginFramePaused();
+  }
+}
+
+bool SynchronousCompositorHost::WantsAnimateOnlyBeginFrames() const {
+  return false;
+}
+
+void SynchronousCompositorHost::SendBeginFramePaused() {
+  bool paused = begin_frame_paused_ || !observed_root_window_;
+
+  if (mojom::SynchronousCompositor* compositor = GetSynchronousCompositor())
+    compositor->SetBeginFrameSourcePaused(paused);
+}
+
+void SynchronousCompositorHost::SendBeginFrame(viz::BeginFrameArgs args) {
+  TRACE_EVENT2("cc", "SynchronousCompositorHost::SendBeginFrame",
+               "frame_number", args.frame_id.sequence_number, "frame_time_us",
+               args.frame_time);
+
+  DCHECK(observed_root_window_);
+  if (!bridge_->WaitAfterVSyncOnUIThread(observed_root_window_))
+    return;
+  mojom::SynchronousCompositor* compositor = GetSynchronousCompositor();
+  DCHECK(compositor);
+  compositor->BeginFrame(args, timing_details_);
+  timing_details_.clear();
+}
+
+void SynchronousCompositorHost::StartObservingRootWindow(
+    ui::WindowAndroid* window) {
+  DCHECK(window);
+  if (observed_root_window_) {
+    DCHECK(observed_root_window_ == window);
+    return;
+  }
+
+  observed_root_window_ = window;
+  SendBeginFramePaused();
+  SetBeginFrameSource(window->GetBeginFrameSource());
+}
+
+void SynchronousCompositorHost::StopObservingRootWindow() {
+  if (!observed_root_window_)
+    return;
+
+  // Reset window state variables to their defaults.
+  observed_root_window_ = nullptr;
+  SendBeginFramePaused();
+  SetBeginFrameSource(nullptr);
+  DCHECK(!begin_frame_source_);
+}
+
+void SynchronousCompositorHost::SetBeginFrameSource(
+    viz::BeginFrameSource* begin_frame_source) {
+  if (begin_frame_source_ == begin_frame_source)
+    return;
+
+  if (begin_frame_source_ && outstanding_begin_frame_requests_)
+    begin_frame_source_->RemoveObserver(this);
+  begin_frame_source_ = begin_frame_source;
+  if (begin_frame_source_ && outstanding_begin_frame_requests_)
+    begin_frame_source_->AddObserver(this);
+}
+
+void SynchronousCompositorHost::AddBeginFrameRequest(
+    BeginFrameRequestType request) {
+  uint32_t prior_requests = outstanding_begin_frame_requests_;
+  outstanding_begin_frame_requests_ = prior_requests | request;
+
+  // Note that if we don't currently have a BeginFrameSource, outstanding begin
+  // frame requests will be pushed if/when we get one during
+  // |StartObservingRootWindow()| or when the DelegatedFrameHostAndroid sets it.
+  viz::BeginFrameSource* source = begin_frame_source_;
+  if (source && outstanding_begin_frame_requests_ && !prior_requests)
+    source->AddObserver(this);
+}
+
+void SynchronousCompositorHost::ClearBeginFrameRequest(
+    BeginFrameRequestType request) {
+  uint32_t prior_requests = outstanding_begin_frame_requests_;
+  outstanding_begin_frame_requests_ = prior_requests & ~request;
+
+  viz::BeginFrameSource* source = begin_frame_source_;
+  if (source && !outstanding_begin_frame_requests_ && prior_requests)
+    source->RemoveObserver(this);
+}
+
+void SynchronousCompositorHost::RequestOneBeginFrame() {
+  AddBeginFrameRequest(BEGIN_FRAME);
+}
+
 }  // namespace content
diff --git a/content/browser/android/synchronous_compositor_host.h b/content/browser/android/synchronous_compositor_host.h
index 3f4f57c..1264d19 100644
--- a/content/browser/android/synchronous_compositor_host.h
+++ b/content/browser/android/synchronous_compositor_host.h
@@ -14,6 +14,7 @@
 #include "base/memory/ref_counted.h"
 #include "base/memory/weak_ptr.h"
 #include "base/single_thread_task_runner.h"
+#include "components/viz/common/frame_sinks/begin_frame_source.h"
 #include "components/viz/common/quads/compositor_frame.h"
 #include "components/viz/common/surfaces/frame_sink_id.h"
 #include "content/common/input/synchronous_compositor.mojom.h"
@@ -39,7 +40,8 @@
 struct SyncCompositorCommonRendererParams;
 
 class SynchronousCompositorHost : public SynchronousCompositor,
-                                  public mojom::SynchronousCompositorHost {
+                                  public mojom::SynchronousCompositorHost,
+                                  public viz::BeginFrameObserver {
  public:
   static std::unique_ptr<SynchronousCompositorHost> Create(
       RenderWidgetHostViewAndroid* rwhva,
@@ -68,10 +70,6 @@
 
   ui::ViewAndroid::CopyViewCallback GetCopyViewCallback();
   void DidOverscroll(const ui::DidOverscrollParams& over_scroll_params);
-  void BeginFrame(ui::WindowAndroid* window_android,
-                  const viz::BeginFrameArgs& args,
-                  const viz::FrameTimingDetailsMap& timing_details);
-  void SetBeginFramePaused(bool paused);
 
   // Called by SynchronousCompositorSyncCallBridge.
   void UpdateFrameMetaData(uint32_t version,
@@ -84,14 +82,27 @@
 
   RenderProcessHost* GetRenderProcessHost();
 
+  void StartObservingRootWindow(ui::WindowAndroid* window);
+  void StopObservingRootWindow();
+  void RequestOneBeginFrame();
+
   // mojom::SynchronousCompositorHost overrides.
   void LayerTreeFrameSinkCreated() override;
   void UpdateState(const SyncCompositorCommonRendererParams& params) override;
   void SetNeedsBeginFrames(bool needs_begin_frames) override;
 
-  bool on_compute_scroll_called() { return on_compute_scroll_called_; }
+  // viz::BeginFrameObserver implementation.
+  void OnBeginFrame(const viz::BeginFrameArgs& args) override;
+  const viz::BeginFrameArgs& LastUsedBeginFrameArgs() const override;
+  void OnBeginFrameSourcePausedChanged(bool paused) override;
+  bool WantsAnimateOnlyBeginFrames() const override;
 
  private:
+  enum BeginFrameRequestType {
+    BEGIN_FRAME = 1 << 0,
+    PERSISTENT_BEGIN_FRAME = 1 << 1
+  };
+
   class ScopedSendZeroMemory;
   struct SharedMemoryWithSize;
   friend class ScopedSetZeroMemory;
@@ -114,6 +125,12 @@
   void UpdateRootLayerStateOnClient();
   void UpdatePresentedFrameToken(uint32_t frame_token);
 
+  void SendBeginFramePaused();
+  void SendBeginFrame(viz::BeginFrameArgs args);
+  void SetBeginFrameSource(viz::BeginFrameSource* begin_frame_source);
+  void AddBeginFrameRequest(BeginFrameRequestType request);
+  void ClearBeginFrameRequest(BeginFrameRequestType request);
+
   RenderWidgetHostViewAndroid* const rwhva_;
   SynchronousCompositorClient* const client_;
   const viz::FrameSinkId frame_sink_id_;
@@ -164,6 +181,16 @@
 
   scoped_refptr<SynchronousCompositorSyncCallBridge> bridge_;
 
+  // Indicates whether and for what reason a request for begin frames has been
+  // issued. Used to control action dispatch at the next |OnBeginFrame()| call.
+  uint32_t outstanding_begin_frame_requests_ = 0;
+
+  // The begin frame source being observed.  Null if none.
+  viz::BeginFrameSource* begin_frame_source_ = nullptr;
+  viz::BeginFrameArgs last_begin_frame_args_;
+  ui::WindowAndroid* observed_root_window_ = nullptr;
+  viz::FrameTimingDetailsMap timing_details_;
+
   DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorHost);
 };
 
diff --git a/content/browser/appcache/appcache_update_job.cc b/content/browser/appcache/appcache_update_job.cc
index 76b9e85..6bb456f 100644
--- a/content/browser/appcache/appcache_update_job.cc
+++ b/content/browser/appcache/appcache_update_job.cc
@@ -207,7 +207,7 @@
 }  // namespace
 
 const base::Feature kAppCacheManifestScopeChecksFeature{
-    "AppCacheManifestScopeChecks", base::FEATURE_DISABLED_BY_DEFAULT};
+    "AppCacheManifestScopeChecks", base::FEATURE_ENABLED_BY_DEFAULT};
 
 // Helper class for collecting hosts per frontend when sending notifications
 // so that only one notification is sent for all hosts using the same frontend.
diff --git a/content/browser/browsing_data/browsing_data_remover_impl.cc b/content/browser/browsing_data/browsing_data_remover_impl.cc
index 503ba73..7905bdb 100644
--- a/content/browser/browsing_data/browsing_data_remover_impl.cc
+++ b/content/browser/browsing_data/browsing_data_remover_impl.cc
@@ -423,8 +423,12 @@
     BrowsingDataRemoverDelegate::EmbedderOriginTypeMatcher embedder_matcher;
     if (embedder_delegate_)
       embedder_matcher = embedder_delegate_->GetOriginTypeMatcher();
+    // Rewrite leveldb instances to clean up data from disk if almost all data
+    // is deleted. Do not perform the cleanup for partial deletions or when only
+    // hosted app data is removed as this would be very slow.
     bool perform_storage_cleanup =
         delete_begin_.is_null() && delete_end_.is_max() &&
+        origin_type_mask_ & ORIGIN_TYPE_UNPROTECTED_WEB &&
         filter_builder->GetMode() == BrowsingDataFilterBuilder::BLACKLIST;
 
     storage_partition->ClearData(
diff --git a/content/browser/browsing_data/browsing_data_remover_impl_browsertest.cc b/content/browser/browsing_data/browsing_data_remover_impl_browsertest.cc
index c39d302..fd2eec9 100644
--- a/content/browser/browsing_data/browsing_data_remover_impl_browsertest.cc
+++ b/content/browser/browsing_data/browsing_data_remover_impl_browsertest.cc
@@ -10,6 +10,7 @@
 #include "base/files/file_path.h"
 #include "base/test/bind_test_util.h"
 #include "content/public/browser/browser_context.h"
+#include "content/public/browser/browsing_data_filter_builder.h"
 #include "content/public/browser/browsing_data_remover.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/storage_partition.h"
@@ -104,6 +105,20 @@
     completion_observer.BlockUntilCompletion();
   }
 
+  void RemoveWithFilterAndWait(
+      int remove_mask,
+      std::unique_ptr<BrowsingDataFilterBuilder> filter) {
+    content::BrowsingDataRemover* remover =
+        content::BrowserContext::GetBrowsingDataRemover(
+            shell()->web_contents()->GetBrowserContext());
+    content::BrowsingDataRemoverCompletionObserver completion_observer(remover);
+    remover->RemoveWithFilterAndReply(
+        base::Time(), base::Time::Max(), remove_mask,
+        content::BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB,
+        std::move(filter), &completion_observer);
+    completion_observer.BlockUntilCompletion();
+  }
+
   // Issues a request for kHstsPath on localhost, and expects it to enable HSTS
   // for the domain.
   void IssueRequestThatSetsHsts() {
@@ -214,13 +229,21 @@
 }
 
 // Verify that TransportSecurityState data is not cleared if REMOVE_CACHE is not
-// set.
+// set or there is a WHITELIST filter.
+// TODO(crbug.com/1040065): Add support for filtered deletions and update test.
 IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverImplBrowserTest,
                        PreserveTransportSecurityState) {
   IssueRequestThatSetsHsts();
 
   RemoveAndWait(BrowsingDataRemover::DATA_TYPE_DOWNLOADS);
   EXPECT_TRUE(IsHstsSet());
+
+  auto filter =
+      BrowsingDataFilterBuilder::Create(BrowsingDataFilterBuilder::WHITELIST);
+  filter->AddRegisterableDomain("foobar.com");
+  RemoveWithFilterAndWait(BrowsingDataRemover::DATA_TYPE_CACHE,
+                          std::move(filter));
+  EXPECT_TRUE(IsHstsSet());
 }
 
 IN_PROC_BROWSER_TEST_F(BrowsingDataRemoverImplBrowserTest, ClearHttpAuthCache) {
diff --git a/content/browser/download/save_item.cc b/content/browser/download/save_item.cc
index 2e3b4ca..cb2a418 100644
--- a/content/browser/download/save_item.cc
+++ b/content/browser/download/save_item.cc
@@ -16,9 +16,9 @@
 namespace {
 
 SaveItemId GetNextSaveItemId() {
-  static int g_next_save_item_id = 1;
+  static SaveItemId::Generator g_save_item_id_generator;
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  return SaveItemId::FromUnsafeValue(g_next_save_item_id++);
+  return g_save_item_id_generator.GenerateNextId();
 }
 
 }  // namespace
diff --git a/content/browser/download/save_package.cc b/content/browser/download/save_package.cc
index 769d840..42ed0e5 100644
--- a/content/browser/download/save_package.cc
+++ b/content/browser/download/save_package.cc
@@ -68,8 +68,8 @@
 
 // Generates unique ids for SavePackage::unique_id_ field.
 SavePackageId GetNextSavePackageId() {
-  static int g_save_package_id = 0;
-  return SavePackageId::FromUnsafeValue(g_save_package_id++);
+  static SavePackageId::Generator g_save_package_id_generator;
+  return g_save_package_id_generator.GenerateNextId();
 }
 
 // Default name which will be used when we can not get proper name from
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index ce96260..bc110d4 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -130,7 +130,6 @@
 #include "content/common/navigation_params_utils.h"
 #include "content/common/render_message_filter.mojom.h"
 #include "content/common/renderer.mojom.h"
-#include "content/common/swapped_out_messages.h"
 #include "content/common/unfreezable_frame_messages.h"
 #include "content/common/widget.mojom.h"
 #include "content/public/browser/ax_event_notification_details.h"
@@ -3044,13 +3043,6 @@
 
   ClearWebUI();
 
-  // If this is a main frame RFH that's about to be deleted, update its RVH's
-  // swapped-out state here. https://crbug.com/505887.  This should only be
-  // done if the RVH hasn't been already reused and marked as active by another
-  // navigation. See https://crbug.com/823567.
-  if (frame_tree_node_->IsMainFrame() && !render_view_host_->is_active())
-    render_view_host_->set_is_swapped_out(true);
-
   bool deleted =
       frame_tree_node_->render_manager()->DeleteFromPendingList(this);
   CHECK(deleted);
@@ -6481,10 +6473,12 @@
 
 void RenderFrameHostImpl::CreateDedicatedWorkerHostFactory(
     mojo::PendingReceiver<blink::mojom::DedicatedWorkerHostFactory> receiver) {
+  // When a dedicated worker is created from the frame script, the frame is both
+  // the creator and the ancestor.
   content::CreateDedicatedWorkerHostFactory(
-      process_->GetID(), /*ancestor_render_frame_id=*/routing_id_,
-      /*creator_render_frame_id=*/routing_id_, last_committed_origin_,
-      std::move(receiver));
+      /* creator_frame_routing_id = */ GetGlobalFrameRoutingId(),
+      /* ancestor_frame_routing_id = */ GetGlobalFrameRoutingId(),
+      last_committed_origin_, std::move(receiver));
 }
 
 void RenderFrameHostImpl::OnMediaInterfaceFactoryConnectionError() {
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
index 827f687..dd75a2f6 100644
--- a/content/browser/frame_host/render_frame_host_manager.cc
+++ b/content/browser/frame_host/render_frame_host_manager.cc
@@ -578,14 +578,12 @@
 
   // Doing this is important in the case where the replacement proxy is created
   // above, as the RenderViewHost will continue to exist and should be
-  // considered swapped out if it is ever reused.  When there's no replacement
-  // proxy, this doesn't really matter, as the RenderViewHost will be destroyed
-  // shortly, since |render_frame_host| is its last active frame and will be
-  // deleted below.  See https://crbug.com/627400.
-  if (frame_tree_node_->IsMainFrame()) {
+  // considered inactive.  When there's no replacement proxy, this doesn't
+  // really matter, as the RenderViewHost will be destroyed shortly, since
+  // |render_frame_host| is its last active frame and will be deleted below.
+  // See https://crbug.com/627400.
+  if (frame_tree_node_->IsMainFrame())
     rvh->SetMainFrameRoutingId(MSG_ROUTING_NONE);
-    rvh->set_is_swapped_out(true);
-  }
 
   render_frame_host.reset();
 
@@ -949,7 +947,7 @@
 
   // There will be no proxy to represent the pending or speculative RFHs in the
   // parent's SiteInstance until the navigation is committed, but the old RFH is
-  // not swapped out before that happens either, so we can talk to the
+  // not unloaded before that happens either, so we can talk to the
   // FrameOwner in the parent via the child's current RenderFrame at any time.
   DCHECK(current_frame_host());
   if (current_frame_host()->GetSiteInstance() == parent_site_instance) {
@@ -1852,7 +1850,7 @@
   // Start from opener's parent.  There's no need to create a proxy in the
   // opener's SiteInstance, since new windows are always first opened in the
   // same SiteInstance as their opener, and if the new window navigates
-  // cross-site, that proxy would be created as part of swapping out.
+  // cross-site, that proxy would be created as part of unloading.
   for (FrameTreeNode* ancestor = opener->parent(); ancestor;
        ancestor = ancestor->parent()) {
     RenderFrameHostImpl* ancestor_rfh = ancestor->current_frame_host();
@@ -2454,7 +2452,7 @@
   // routing id in the RenderViewHost associated with the old RenderFrameHost
   // to MSG_ROUTING_NONE.
   if (is_main_frame) {
-    // If the RenderViewHost is transitioning from swapped out to active state,
+    // If the RenderViewHost is transitioning from an inactive to active state,
     // it was reused, so dispatch a RenderViewReady event. For example, this is
     // necessary to hide the sad tab if one is currently displayed. See
     // https://crbug.com/591984.
@@ -2467,7 +2465,6 @@
     if (!new_rvh->is_active())
       new_rvh->PostRenderViewReady();
 
-    new_rvh->set_is_swapped_out(false);
     new_rvh->SetMainFrameRoutingId(render_frame_host_->routing_id());
     old_rvh->SetMainFrameRoutingId(MSG_ROUTING_NONE);
   }
@@ -2476,8 +2473,8 @@
   // to initialize the child RWHV.
   base::Optional<gfx::Size> old_size = old_render_frame_host->frame_size();
 
-  // Swap out the old frame now that the new one is visible.
-  // This will swap it out and schedule it for deletion when the swap out ack
+  // Unload the old frame now that the new one is visible.
+  // This will unload it and schedule it for deletion when the unload ack
   // arrives (or immediately if the process isn't live).
   UnloadOldFrame(std::move(old_render_frame_host));
 
@@ -2490,7 +2487,7 @@
   // belongs to the parent frame's SiteInstance. If this navigation causes
   // an out-of-process frame to return to the same process as its parent, the
   // proxy would have been removed from proxy_hosts_ above.
-  // Note: We do this after swapping out the old RFH because that may create
+  // Note: We do this after unloading the old RFH because that may create
   // the proxy we're looking for.
   RenderFrameProxyHost* proxy_to_parent = GetProxyToParent();
   if (proxy_to_parent)
diff --git a/content/browser/frame_host/render_frame_host_manager_unittest.cc b/content/browser/frame_host/render_frame_host_manager_unittest.cc
index 44c6a68..54ddf71 100644
--- a/content/browser/frame_host/render_frame_host_manager_unittest.cc
+++ b/content/browser/frame_host/render_frame_host_manager_unittest.cc
@@ -1409,7 +1409,6 @@
   RenderViewHostImpl* swapped_out_rvh =
       opener1_manager->GetSwappedOutRenderViewHost(rfh1->GetSiteInstance());
   EXPECT_TRUE(swapped_out_rvh);
-  EXPECT_TRUE(swapped_out_rvh->is_swapped_out_);
   EXPECT_FALSE(swapped_out_rvh->is_active());
 
   // Fake a process crash.
diff --git a/content/browser/permissions/permission_service_impl.cc b/content/browser/permissions/permission_service_impl.cc
index c4d217db..9a653bd 100644
--- a/content/browser/permissions/permission_service_impl.cc
+++ b/content/browser/permissions/permission_service_impl.cc
@@ -12,7 +12,6 @@
 
 #include "base/bind.h"
 #include "base/memory/ptr_util.h"
-#include "build/build_config.h"
 #include "content/browser/bad_message.h"
 #include "content/browser/permissions/permission_controller_impl.h"
 #include "content/public/browser/browser_context.h"
@@ -28,100 +27,6 @@
 
 namespace {
 
-bool PermissionDescriptorToPermissionType(
-    const PermissionDescriptorPtr& descriptor,
-    PermissionType* permission_type) {
-  switch (descriptor->name) {
-    case PermissionName::GEOLOCATION:
-      *permission_type = PermissionType::GEOLOCATION;
-      return true;
-    case PermissionName::NOTIFICATIONS:
-      *permission_type = PermissionType::NOTIFICATIONS;
-      return true;
-    case PermissionName::MIDI: {
-      if (descriptor->extension && descriptor->extension->is_midi() &&
-          descriptor->extension->get_midi()->sysex) {
-        *permission_type = PermissionType::MIDI_SYSEX;
-        return true;
-      }
-      *permission_type = PermissionType::MIDI;
-      return true;
-    }
-    case PermissionName::PROTECTED_MEDIA_IDENTIFIER:
-#if defined(ENABLE_PROTECTED_MEDIA_IDENTIFIER_PERMISSION)
-      *permission_type = PermissionType::PROTECTED_MEDIA_IDENTIFIER;
-      return true;
-#else
-      NOTIMPLEMENTED();
-      return false;
-#endif  // defined(ENABLE_PROTECTED_MEDIA_IDENTIFIER_PERMISSION)
-    case PermissionName::DURABLE_STORAGE:
-      *permission_type = PermissionType::DURABLE_STORAGE;
-      return true;
-    case PermissionName::AUDIO_CAPTURE:
-      *permission_type = PermissionType::AUDIO_CAPTURE;
-      return true;
-    case PermissionName::VIDEO_CAPTURE:
-      *permission_type = PermissionType::VIDEO_CAPTURE;
-      return true;
-    case PermissionName::BACKGROUND_SYNC:
-      *permission_type = PermissionType::BACKGROUND_SYNC;
-      return true;
-    case PermissionName::SENSORS:
-      *permission_type = PermissionType::SENSORS;
-      return true;
-    case PermissionName::ACCESSIBILITY_EVENTS:
-      *permission_type = PermissionType::ACCESSIBILITY_EVENTS;
-      return true;
-    case PermissionName::CLIPBOARD_READ:
-      *permission_type = PermissionType::CLIPBOARD_READ_WRITE;
-      return true;
-    case PermissionName::CLIPBOARD_WRITE: {
-      if (descriptor->extension && descriptor->extension->is_clipboard() &&
-          descriptor->extension->get_clipboard()->allowWithoutSanitization) {
-        *permission_type = PermissionType::CLIPBOARD_READ_WRITE;
-      } else {
-        *permission_type = PermissionType::CLIPBOARD_SANITIZED_WRITE;
-      }
-      return true;
-    }
-    case PermissionName::PAYMENT_HANDLER:
-      *permission_type = PermissionType::PAYMENT_HANDLER;
-      return true;
-    case PermissionName::BACKGROUND_FETCH:
-      *permission_type = PermissionType::BACKGROUND_FETCH;
-      return true;
-    case PermissionName::IDLE_DETECTION:
-      *permission_type = PermissionType::IDLE_DETECTION;
-      return true;
-    case PermissionName::PERIODIC_BACKGROUND_SYNC:
-      *permission_type = PermissionType::PERIODIC_BACKGROUND_SYNC;
-      return true;
-    case PermissionName::WAKE_LOCK:
-      if (descriptor->extension && descriptor->extension->is_wake_lock()) {
-        switch (descriptor->extension->get_wake_lock()->type) {
-          case blink::mojom::WakeLockType::kScreen:
-            *permission_type = PermissionType::WAKE_LOCK_SCREEN;
-            break;
-          case blink::mojom::WakeLockType::kSystem:
-            *permission_type = PermissionType::WAKE_LOCK_SYSTEM;
-            break;
-          default:
-            NOTREACHED();
-            return false;
-        }
-        return true;
-      }
-      break;
-    case PermissionName::NFC:
-      *permission_type = PermissionType::NFC;
-      return true;
-  }
-
-  NOTREACHED();
-  return false;
-}
-
 // This function allows the usage of the the multiple request map with single
 // requests.
 void PermissionRequestResponseCallbackWrapper(
@@ -204,10 +109,14 @@
   std::vector<PermissionType> types(permissions.size());
   std::set<PermissionType> duplicates_check;
   for (size_t i = 0; i < types.size(); ++i) {
-    if (!PermissionDescriptorToPermissionType(permissions[i], &types[i])) {
+    auto type = PermissionDescriptorToPermissionType(permissions[i]);
+    if (!type) {
       ReceivedBadMessage();
       return;
     }
+
+    types[i] = *type;
+
     // Each permission should appear at most once in the message.
     bool inserted = duplicates_check.insert(types[i]).second;
     if (!inserted) {
@@ -253,12 +162,12 @@
 void PermissionServiceImpl::RevokePermission(
     PermissionDescriptorPtr permission,
     PermissionStatusCallback callback) {
-  PermissionType permission_type;
-  if (!PermissionDescriptorToPermissionType(permission, &permission_type)) {
+  auto permission_type = PermissionDescriptorToPermissionType(permission);
+  if (!permission_type) {
     ReceivedBadMessage();
     return;
   }
-  PermissionStatus status = GetPermissionStatusFromType(permission_type);
+  PermissionStatus status = GetPermissionStatusFromType(*permission_type);
 
   // Resetting the permission should only be possible if the permission is
   // already granted.
@@ -267,33 +176,33 @@
     return;
   }
 
-  ResetPermissionStatus(permission_type);
+  ResetPermissionStatus(*permission_type);
 
-  std::move(callback).Run(GetPermissionStatusFromType(permission_type));
+  std::move(callback).Run(GetPermissionStatusFromType(*permission_type));
 }
 
 void PermissionServiceImpl::AddPermissionObserver(
     PermissionDescriptorPtr permission,
     PermissionStatus last_known_status,
     mojo::PendingRemote<blink::mojom::PermissionObserver> observer) {
-  PermissionType type;
-  if (!PermissionDescriptorToPermissionType(permission, &type)) {
+  auto type = PermissionDescriptorToPermissionType(permission);
+  if (!type) {
     ReceivedBadMessage();
     return;
   }
 
-  context_->CreateSubscription(type, origin_, GetPermissionStatus(permission),
+  context_->CreateSubscription(*type, origin_, GetPermissionStatus(permission),
                                last_known_status, std::move(observer));
 }
 
 PermissionStatus PermissionServiceImpl::GetPermissionStatus(
     const PermissionDescriptorPtr& permission) {
-  PermissionType type;
-  if (!PermissionDescriptorToPermissionType(permission, &type)) {
+  auto type = PermissionDescriptorToPermissionType(permission);
+  if (!type) {
     ReceivedBadMessage();
     return PermissionStatus::DENIED;
   }
-  return GetPermissionStatusFromType(type);
+  return GetPermissionStatusFromType(*type);
 }
 
 PermissionStatus PermissionServiceImpl::GetPermissionStatusFromType(
diff --git a/content/browser/renderer_host/input/fling_scheduler.cc b/content/browser/renderer_host/input/fling_scheduler.cc
index cf220cb..c7a4f1f 100644
--- a/content/browser/renderer_host/input/fling_scheduler.cc
+++ b/content/browser/renderer_host/input/fling_scheduler.cc
@@ -33,13 +33,10 @@
     return;
 
   ui::Compositor* compositor = GetCompositor();
-  // If a ui::Compositor can't be obtained, ask the host for BeginFrames.
-  if (!compositor) {
-    host_->SetNeedsBeginFrameForFlingProgress();
-    return;
+  if (compositor) {
+    compositor->AddAnimationObserver(this);
+    observed_compositor_ = compositor;
   }
-  compositor->AddAnimationObserver(this);
-  observed_compositor_ = compositor;
 }
 
 void FlingScheduler::DidStopFlingingOnBrowser(
diff --git a/content/browser/renderer_host/input/fling_scheduler_android.cc b/content/browser/renderer_host/input/fling_scheduler_android.cc
index db119df9..c801c9a3c 100644
--- a/content/browser/renderer_host/input/fling_scheduler_android.cc
+++ b/content/browser/renderer_host/input/fling_scheduler_android.cc
@@ -6,6 +6,7 @@
 
 #include "build/build_config.h"
 #include "content/browser/renderer_host/render_widget_host_impl.h"
+#include "content/browser/renderer_host/render_widget_host_view_android.h"
 #include "ui/compositor/compositor.h"
 
 namespace content {
@@ -30,7 +31,11 @@
     // WebView), we'll never receive an OnAnimate call. In this case fall back
     // to BeginFrames coming from the host.
     if (!window || !window->GetCompositor()) {
-      host_->SetNeedsBeginFrameForFlingProgress();
+      auto* view = host_->GetView();
+      if (view && !view->IsRenderWidgetHostViewChildFrame()) {
+        static_cast<RenderWidgetHostViewAndroid*>(view)
+            ->SetNeedsBeginFrameForFlingProgress();
+      }
       return;
     }
     window->AddObserver(this);
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index bae3acad..e90f36a 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -193,6 +193,7 @@
 #include "ipc/ipc_channel.h"
 #include "ipc/ipc_channel_mojo.h"
 #include "ipc/ipc_logging.h"
+#include "ipc/trace_ipc_message.h"
 #include "media/audio/audio_manager.h"
 #include "media/base/media_switches.h"
 #include "media/capture/capture_switches.h"
@@ -1297,8 +1298,6 @@
       return;
 
     receiver = mojo::GenericPendingReceiver(interface_name, std::move(pipe));
-    GetContentClient()->browser()->BindHostReceiverForRendererOnIOThread(
-        render_process_id_, &receiver);
     if (!receiver)
       return;
 
@@ -3370,9 +3369,7 @@
 }
 
 bool RenderProcessHostImpl::Send(IPC::Message* msg) {
-  TRACE_EVENT2("renderer_host", "RenderProcessHostImpl::Send", "class",
-               IPC_MESSAGE_ID_CLASS(msg->type()), "line",
-               IPC_MESSAGE_ID_LINE(msg->type()));
+  TRACE_IPC_MESSAGE_SEND("renderer_host", "RenderProcessHostImpl::Send", msg);
 
   std::unique_ptr<IPC::Message> message(msg);
 
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index de66a89e..25fb8b4e 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -53,7 +53,6 @@
 #include "content/common/page_messages.h"
 #include "content/common/render_message_filter.mojom.h"
 #include "content/common/renderer.mojom.h"
-#include "content/common/swapped_out_messages.h"
 #include "content/common/view_messages.h"
 #include "content/common/widget_messages.h"
 #include "content/public/browser/ax_event_notification_details.h"
@@ -224,7 +223,6 @@
     : render_widget_host_(std::move(widget)),
       delegate_(delegate),
       instance_(static_cast<SiteInstanceImpl*>(instance)),
-      is_swapped_out_(swapped_out),
       routing_id_(routing_id),
       main_frame_routing_id_(main_frame_routing_id) {
   DCHECK(instance_.get());
@@ -801,23 +799,6 @@
 // RenderViewHostImpl, IPC message handlers:
 
 bool RenderViewHostImpl::OnMessageReceived(const IPC::Message& msg) {
-  // Filter out most IPC messages if this renderer is swapped out.
-  // We still want to handle certain ACKs to keep our state consistent.
-  if (is_swapped_out_) {
-    if (!SwappedOutMessages::CanHandleWhileSwappedOut(msg)) {
-      // If this is a synchronous message and we decided not to handle it,
-      // we must send an error reply, or else the renderer will be stuck
-      // and won't respond to future requests.
-      if (msg.is_sync()) {
-        IPC::Message* reply = IPC::SyncMessage::GenerateReply(&msg);
-        reply->set_reply_error();
-        Send(reply);
-      }
-      // Don't continue looking for someone to handle it.
-      return true;
-    }
-  }
-
   // Crash reports trigerred by the IPC messages below should be associated
   // with URL of the main frame.
   ScopedActiveURL scoped_active_url(this);
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
index 70ea8a0..4311c340 100644
--- a/content/browser/renderer_host/render_view_host_impl.h
+++ b/content/browser/renderer_host/render_view_host_impl.h
@@ -125,7 +125,7 @@
   // (MSG_ROUTING_NONE if none).
   // |window_was_created_with_opener| is true if this top-level frame was
   // created with an opener. (The opener may have been closed since.)
-  // The |proxy_route_id| is only used when creating a RenderView in swapped out
+  // The |proxy_route_id| is only used when creating a RenderView in an inactive
   // state.
   // |devtools_frame_token| contains the devtools token for tagging requests and
   // attributing them to the context frame.
@@ -139,16 +139,10 @@
       bool window_was_created_with_opener);
 
   // Tracks whether this RenderViewHost is in an active state (rather than
-  // pending swap out or swapped out), according to its main frame
+  // pending unload or unloaded), according to its main frame
   // RenderFrameHost.
   bool is_active() const { return main_frame_routing_id_ != MSG_ROUTING_NONE; }
 
-  // Tracks whether this RenderViewHost is swapped out, according to its main
-  // frame RenderFrameHost.
-  void set_is_swapped_out(bool is_swapped_out) {
-    is_swapped_out_ = is_swapped_out;
-  }
-
   // TODO(creis): Remove as part of http://crbug.com/418265.
   bool is_waiting_for_close_ack() const { return is_waiting_for_close_ack_; }
 
@@ -307,11 +301,7 @@
   FRIEND_TEST_ALL_PREFIXES(RenderViewHostTest, BasicRenderFrameHost);
   FRIEND_TEST_ALL_PREFIXES(RenderViewHostTest, RoutingIdSane);
   FRIEND_TEST_ALL_PREFIXES(RenderFrameHostManagerTest,
-                           CleanUpSwappedOutRVHOnProcessCrash);
-  FRIEND_TEST_ALL_PREFIXES(RenderFrameHostManagerTest,
                            CloseWithPendingWhileUnresponsive);
-  FRIEND_TEST_ALL_PREFIXES(SitePerProcessBrowserTest,
-                           NavigateMainFrameToChildSite);
 
   // IPC::Listener implementation.
   bool OnMessageReceived(const IPC::Message& msg) override;
@@ -352,12 +342,6 @@
   // over time.
   scoped_refptr<SiteInstanceImpl> instance_;
 
-  // Tracks whether the main frame RenderFrameHost is swapped out.  Unlike
-  // is_active(), this is false when the frame is pending swap out or deletion.
-  // TODO(creis): Remove this when we no longer filter IPCs after swap out.
-  // See https://crbug.com/745091.
-  bool is_swapped_out_;
-
   // Routing ID for this RenderViewHost.
   const int routing_id_;
 
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 53a1ae45..c6df5dee 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -442,12 +442,6 @@
     view_ = view->GetWeakPtr();
     if (!create_frame_sink_callback_.is_null())
       std::move(create_frame_sink_callback_).Run(view_->GetFrameSinkId());
-
-    // Views start out not needing begin frames, so only update its state if the
-    // value has changed. |needs_begin_frames_| should only ever be true for
-    // Android WebView since begin frames are handled by viz everywhere else.
-    if (needs_begin_frames_)
-      view_->SetNeedsBeginFrames(needs_begin_frames_);
   } else {
     view_.reset();
   }
@@ -2611,10 +2605,6 @@
   if (view_)
     view_->set_is_currently_scrolling_viewport(true);
 }
-void RenderWidgetHostImpl::SetNeedsBeginFrameForFlingProgress() {
-  browser_fling_needs_begin_frame_ = true;
-  SetNeedsBeginFrame(true);
-}
 
 void RenderWidgetHostImpl::AddPendingUserActivation(
     const WebInputEvent& event) {
@@ -2921,15 +2911,6 @@
   return true;
 }
 
-void RenderWidgetHostImpl::SetNeedsBeginFrame(bool needs_begin_frames) {
-  if (needs_begin_frames_ == needs_begin_frames)
-    return;
-
-  needs_begin_frames_ = needs_begin_frames || browser_fling_needs_begin_frame_;
-  if (view_)
-    view_->SetNeedsBeginFrames(needs_begin_frames_);
-}
-
 void RenderWidgetHostImpl::DidProcessFrame(uint32_t frame_token) {
   // In this case the RenderWidgetHostImpl is still here because it's the top
   // level RenderWidgetHostImpl, but the renderer's RenderWidget no longer
@@ -3008,7 +2989,6 @@
 }
 
 void RenderWidgetHostImpl::ProgressFlingIfNeeded(TimeTicks current_time) {
-  browser_fling_needs_begin_frame_ = false;
   fling_scheduler_->ProgressFlingOnBeginFrameIfneeded(current_time);
 }
 
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index 80cdc18..f6cda3a 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -637,8 +637,6 @@
 
   bool renderer_initialized() const { return renderer_initialized_; }
 
-  bool needs_begin_frames() const { return needs_begin_frames_; }
-
   base::WeakPtr<RenderWidgetHostImpl> GetWeakPtr() {
     return weak_factory_.GetWeakPtr();
   }
@@ -672,9 +670,6 @@
 
   bool HasGestureStopped() override;
 
-  // Begin frames related functionality is only used by Android WebView.
-  void SetNeedsBeginFrame(bool needs_begin_frame);
-
   // Signals that a frame with token |frame_token| was finished processing. If
   // there are any queued messages belonging to it, they will be processed.
   void DidProcessFrame(uint32_t frame_token);
@@ -713,7 +708,6 @@
 
   void ProgressFlingIfNeeded(base::TimeTicks current_time);
   void StopFling();
-  void SetNeedsBeginFrameForFlingProgress();
 
   // The RenderWidgetHostImpl will keep showing the old page (for a while) after
   // navigation until the first frame of the new page arrives. This reduces
@@ -875,7 +869,6 @@
   void OnUnlockMouse();
   void OnSelectionBoundsChanged(
       const WidgetHostMsg_SelectionBounds_Params& params);
-  void OnSetNeedsBeginFrames(bool needs_begin_frames);
   void OnStartDragging(const DropData& drop_data,
                        blink::WebDragOperationsMask operations_allowed,
                        const SkBitmap& bitmap,
@@ -1200,15 +1193,6 @@
   // causing HasFocus to return false when is_focused_ is true.
   bool is_focused_ = false;
 
-  // Whether the view should send begin frame messages to its render widget.
-  // This is state that may arrive before the view has been set and that must be
-  // consistent with the state in the renderer, so this host handles it.
-  bool needs_begin_frames_ = false;
-
-  // This is used to make sure that when the fling controller sets
-  // needs_begin_frames_ it doesn't get overriden by the renderer.
-  bool browser_fling_needs_begin_frame_ = false;
-
   // This value indicates how long to wait before we consider a renderer hung.
   base::TimeDelta hung_renderer_delay_;
 
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index 0c9b436..82920c5 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -212,8 +212,6 @@
     RenderWidgetHostImpl* widget_host,
     gfx::NativeView parent_native_view)
     : RenderWidgetHostViewBase(widget_host),
-      begin_frame_source_(nullptr),
-      outstanding_begin_frame_requests_(0),
       is_showing_(!widget_host->is_hidden()),
       is_window_visible_(true),
       is_window_activity_started_(true),
@@ -757,15 +755,6 @@
       base::UTF16ToUTF8(selection.selected_text()));
 }
 
-void RenderWidgetHostViewAndroid::SetNeedsBeginFrames(bool needs_begin_frames) {
-  TRACE_EVENT1("cc", "RenderWidgetHostViewAndroid::SetNeedsBeginFrames",
-               "needs_begin_frames", needs_begin_frames);
-  if (needs_begin_frames)
-    AddBeginFrameRequest(PERSISTENT_BEGIN_FRAME);
-  else
-    ClearBeginFrameRequest(PERSISTENT_BEGIN_FRAME);
-}
-
 viz::FrameSinkId RenderWidgetHostViewAndroid::GetRootFrameSinkId() {
   if (view_.GetWindowAndroid() && view_.GetWindowAndroid()->GetCompositor())
     return view_.GetWindowAndroid()->GetCompositor()->GetFrameSinkId();
@@ -884,9 +873,10 @@
   // scroll-inducing touch events. Note that Android's Choreographer ensures
   // that BeginFrame requests made during Action::MOVE dispatch will be honored
   // in the same vsync phase.
-  if (observing_root_window_ && result.moved_beyond_slop_region)
-    AddBeginFrameRequest(BEGIN_FRAME);
-
+  if (observing_root_window_ && result.moved_beyond_slop_region) {
+    if (sync_compositor_)
+      sync_compositor_->RequestOneBeginFrame();
+  }
   return true;
 }
 
@@ -1051,13 +1041,6 @@
          host()->delegate()->GetInputEventRouter();
 }
 
-void RenderWidgetHostViewAndroid::DidPresentCompositorFrames(
-    const viz::FrameTimingDetailsMap& timing_details) {
-  timing_details_ = timing_details;
-  if (!timing_details_.empty())
-    AddBeginFrameRequest(BEGIN_FRAME);
-}
-
 void RenderWidgetHostViewAndroid::EvictFrameIfNecessary() {
   if (!host()->delegate()->IsFullscreenForCurrentTab() ||
       current_surface_size_ == view_.GetPhysicalBackingSize()) {
@@ -1407,7 +1390,8 @@
 
   if (view_.parent() && view_.GetWindowAndroid()) {
     StartObservingRootWindow();
-    AddBeginFrameRequest(BEGIN_FRAME);
+    if (sync_compositor_)
+      sync_compositor_->RequestOneBeginFrame();
   }
 }
 
@@ -1447,41 +1431,6 @@
   host()->WasHidden();
 }
 
-void RenderWidgetHostViewAndroid::SetBeginFrameSource(
-    viz::BeginFrameSource* begin_frame_source) {
-  if (begin_frame_source_ == begin_frame_source)
-    return;
-
-  if (begin_frame_source_ && outstanding_begin_frame_requests_)
-    begin_frame_source_->RemoveObserver(this);
-  begin_frame_source_ = begin_frame_source;
-  if (begin_frame_source_ && outstanding_begin_frame_requests_)
-    begin_frame_source_->AddObserver(this);
-}
-
-void RenderWidgetHostViewAndroid::AddBeginFrameRequest(
-    BeginFrameRequestType request) {
-  uint32_t prior_requests = outstanding_begin_frame_requests_;
-  outstanding_begin_frame_requests_ = prior_requests | request;
-
-  // Note that if we don't currently have a BeginFrameSource, outstanding begin
-  // frame requests will be pushed if/when we get one during
-  // |StartObservingRootWindow()| or when the DelegatedFrameHostAndroid sets it.
-  viz::BeginFrameSource* source = begin_frame_source_;
-  if (source && outstanding_begin_frame_requests_ && !prior_requests)
-    source->AddObserver(this);
-}
-
-void RenderWidgetHostViewAndroid::ClearBeginFrameRequest(
-    BeginFrameRequestType request) {
-  uint32_t prior_requests = outstanding_begin_frame_requests_;
-  outstanding_begin_frame_requests_ = prior_requests & ~request;
-
-  viz::BeginFrameSource* source = begin_frame_source_;
-  if (source && !outstanding_begin_frame_requests_ && prior_requests)
-    source->RemoveObserver(this);
-}
-
 void RenderWidgetHostViewAndroid::StartObservingRootWindow() {
   DCHECK(view_.parent());
   DCHECK(view_.GetWindowAndroid());
@@ -1490,11 +1439,10 @@
     return;
 
   observing_root_window_ = true;
-  SendBeginFramePaused();
   view_.GetWindowAndroid()->AddObserver(this);
   // When using browser compositor, DelegatedFrameHostAndroid provides the BFS.
-  if (!using_browser_compositor_ && !using_viz_for_webview_)
-    SetBeginFrameSource(view_.GetWindowAndroid()->GetBeginFrameSource());
+  if (!using_browser_compositor_ && sync_compositor_ && !using_viz_for_webview_)
+    sync_compositor_->StartObservingRootWindow(view_.GetWindowAndroid());
 
   ui::WindowAndroidCompositor* compositor =
       view_.GetWindowAndroid()->GetCompositor();
@@ -1519,32 +1467,13 @@
   is_window_visible_ = true;
   observing_root_window_ = false;
   OnUpdateScopedSelectionHandles();
-  SendBeginFramePaused();
   view_.GetWindowAndroid()->RemoveObserver(this);
-  if (!using_browser_compositor_)
-    SetBeginFrameSource(nullptr);
+  if (!using_browser_compositor_ && sync_compositor_ && !using_viz_for_webview_)
+    sync_compositor_->StopObservingRootWindow();
   // If the DFH has already been destroyed, it will have cleaned itself up.
   // This happens in some WebView cases.
   if (delegated_frame_host_)
     delegated_frame_host_->DetachFromCompositor();
-  DCHECK(!begin_frame_source_);
-}
-
-void RenderWidgetHostViewAndroid::SendBeginFrame(viz::BeginFrameArgs args) {
-  TRACE_EVENT2("cc", "RenderWidgetHostViewAndroid::SendBeginFrame",
-               "frame_number", args.frame_id.sequence_number, "frame_time_us",
-               args.frame_time.ToInternalValue());
-
-  // Synchronous compositor does not use deadline-based scheduling.
-  // TODO(brianderson): Replace this hardcoded deadline after Android
-  // switches to Surfaces and the Browser's commit isn't in the critical path.
-  args.deadline = sync_compositor_ ? base::TimeTicks()
-  : args.frame_time + (args.interval * 0.6);
-  if (sync_compositor_) {
-    sync_compositor_->BeginFrame(view_.GetWindowAndroid(), args,
-                                 timing_details_);
-  }
-  timing_details_.clear();
 }
 
 bool RenderWidgetHostViewAndroid::Animate(base::TimeTicks frame_time) {
@@ -2131,65 +2060,6 @@
     delegated_frame_host_->DetachFromCompositor();
 }
 
-void RenderWidgetHostViewAndroid::OnBeginFrame(
-    const viz::BeginFrameArgs& args) {
-  TRACE_EVENT0("cc,benchmark", "RenderWidgetHostViewAndroid::OnBeginFrame");
-  if (!host())
-    return;
-
-  // In sync mode, we disregard missed frame args to ensure that
-  // SynchronousCompositorBrowserFilter::SyncStateAfterVSync will be called
-  // during WindowAndroid::WindowBeginFrameSource::OnVSync() observer iteration.
-  if (sync_compositor_ && args.type == viz::BeginFrameArgs::MISSED)
-    return;
-
-  bool webview_fling = sync_compositor_ && is_currently_scrolling_viewport_;
-  if (!webview_fling) {
-    host_->ProgressFlingIfNeeded(args.frame_time);
-  } else if (sync_compositor_->on_compute_scroll_called()) {
-    // On Android webview progress the fling only when |OnComputeScroll| is
-    // called since in some cases Apps override |OnComputeScroll| to cancel
-    // fling animation.
-    host_->ProgressFlingIfNeeded(args.frame_time);
-  }
-
-  // Update |last_begin_frame_args_| before handling
-  // |outstanding_begin_frame_requests_| to prevent the BeginFrameSource from
-  // sending the same MISSED args in infinite recursion.
-  last_begin_frame_args_ = args;
-
-  if ((outstanding_begin_frame_requests_ & BEGIN_FRAME) ||
-      (outstanding_begin_frame_requests_ & PERSISTENT_BEGIN_FRAME)) {
-    ClearBeginFrameRequest(BEGIN_FRAME);
-    SendBeginFrame(args);
-  }
-}
-
-const viz::BeginFrameArgs& RenderWidgetHostViewAndroid::LastUsedBeginFrameArgs()
-    const {
-  return last_begin_frame_args_;
-}
-
-bool RenderWidgetHostViewAndroid::WantsAnimateOnlyBeginFrames() const {
-  return false;
-}
-
-void RenderWidgetHostViewAndroid::SendBeginFramePaused() {
-  bool paused = begin_frame_paused_ || !observing_root_window_;
-
-  if (!using_browser_compositor_ && !using_viz_for_webview_) {
-    if (sync_compositor_)
-      sync_compositor_->SetBeginFramePaused(paused);
-  }
-}
-
-void RenderWidgetHostViewAndroid::OnBeginFrameSourcePausedChanged(bool paused) {
-  if (paused != begin_frame_paused_) {
-    begin_frame_paused_ = paused;
-    SendBeginFramePaused();
-  }
-}
-
 void RenderWidgetHostViewAndroid::OnAnimate(base::TimeTicks begin_frame_time) {
   if (Animate(begin_frame_time))
     SetNeedsAnimate();
@@ -2478,4 +2348,9 @@
   }
 }
 
+void RenderWidgetHostViewAndroid::SetNeedsBeginFrameForFlingProgress() {
+  if (sync_compositor_)
+    sync_compositor_->RequestOneBeginFrame();
+}
+
 }  // namespace content
diff --git a/content/browser/renderer_host/render_widget_host_view_android.h b/content/browser/renderer_host/render_widget_host_view_android.h
index 8588a114..77f8215 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.h
+++ b/content/browser/renderer_host/render_widget_host_view_android.h
@@ -21,9 +21,6 @@
 #include "base/process/process.h"
 #include "base/time/time.h"
 #include "cc/trees/render_frame_metadata.h"
-#include "components/viz/common/frame_sinks/begin_frame_args.h"
-#include "components/viz/common/frame_sinks/begin_frame_source.h"
-#include "components/viz/common/frame_timing_details_map.h"
 #include "components/viz/common/quads/selection.h"
 #include "components/viz/common/surfaces/parent_local_surface_id_allocator.h"
 #include "content/browser/renderer_host/input/mouse_wheel_phase_handler.h"
@@ -31,7 +28,6 @@
 #include "content/browser/renderer_host/render_widget_host_view_base.h"
 #include "content/browser/renderer_host/text_input_manager.h"
 #include "content/common/content_export.h"
-#include "gpu/command_buffer/common/mailbox.h"
 #include "third_party/skia/include/core/SkColor.h"
 #include "ui/android/delegated_frame_host_android.h"
 #include "ui/android/view_android.h"
@@ -75,8 +71,7 @@
       public ui::GestureProviderClient,
       public ui::TouchSelectionControllerClient,
       public ui::ViewAndroidObserver,
-      public ui::WindowAndroidObserver,
-      public viz::BeginFrameObserver {
+      public ui::WindowAndroidObserver {
  public:
   RenderWidgetHostViewAndroid(RenderWidgetHostImpl* widget,
                               gfx::NativeView parent_native_view);
@@ -163,7 +158,6 @@
   std::unique_ptr<SyntheticGestureTarget> CreateSyntheticGestureTarget()
       override;
   void OnDidNavigateMainFrameToNewPage() override;
-  void SetNeedsBeginFrames(bool needs_begin_frames) override;
   const viz::FrameSinkId& GetFrameSinkId() const override;
   viz::FrameSinkId GetRootFrameSinkId() override;
   viz::SurfaceId GetCurrentSurfaceId() const override;
@@ -232,17 +226,6 @@
   std::unique_ptr<ui::TouchHandleDrawable> CreateDrawable() override;
   void DidScroll() override;
 
-  // Used by DelegatedFrameHostClientAndroid.
-  void SetBeginFrameSource(viz::BeginFrameSource* begin_frame_source);
-  void DidPresentCompositorFrames(
-      const viz::FrameTimingDetailsMap& timing_details);
-
-  // viz::BeginFrameObserver implementation.
-  void OnBeginFrame(const viz::BeginFrameArgs& args) override;
-  const viz::BeginFrameArgs& LastUsedBeginFrameArgs() const override;
-  void OnBeginFrameSourcePausedChanged(bool paused) override;
-  bool WantsAnimateOnlyBeginFrames() const override;
-
   // Non-virtual methods
   void UpdateNativeViewTree(gfx::NativeView parent_native_view);
 
@@ -378,6 +361,8 @@
     return delegated_frame_host_.get();
   }
 
+  void SetNeedsBeginFrameForFlingProgress();
+
  protected:
   // RenderWidgetHostViewBase:
   void UpdateBackgroundColor() override;
@@ -431,16 +416,8 @@
   void EvictDelegatedContent();
   void OnLostResources();
 
-  enum BeginFrameRequestType {
-    BEGIN_FRAME = 1 << 0,
-    PERSISTENT_BEGIN_FRAME = 1 << 1
-  };
-  void AddBeginFrameRequest(BeginFrameRequestType request);
-  void ClearBeginFrameRequest(BeginFrameRequestType request);
   void StartObservingRootWindow();
   void StopObservingRootWindow();
-  void SendBeginFramePaused();
-  void SendBeginFrame(viz::BeginFrameArgs args);
   bool Animate(base::TimeTicks frame_time);
   void RequestDisallowInterceptTouchEvent();
 
@@ -462,15 +439,6 @@
 
   void OnUpdateScopedSelectionHandles();
 
-  // The begin frame source being observed.  Null if none.
-  viz::BeginFrameSource* begin_frame_source_;
-  viz::BeginFrameArgs last_begin_frame_args_;
-  bool begin_frame_paused_ = false;
-
-  // Indicates whether and for what reason a request for begin frames has been
-  // issued. Used to control action dispatch at the next |OnBeginFrame()| call.
-  uint32_t outstanding_begin_frame_requests_;
-
   bool is_showing_;
 
   // Window-specific bits that affect widget visibility.
@@ -563,8 +531,6 @@
   // If true, then the next allocated surface should be embedded.
   bool navigation_while_hidden_ = false;
 
-  viz::FrameTimingDetailsMap timing_details_;
-
   // Tracks whether we are in SynchronousCopyContents to avoid repeated calls
   // into DevTools capture logic.
   // TODO(ericrk): Make this more robust.
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h
index 45c91f8..8d7acf87 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.h
+++ b/content/browser/renderer_host/render_widget_host_view_aura.h
@@ -107,7 +107,6 @@
   bool IsMouseLocked() override;
   gfx::Size GetVisibleViewportSize() override;
   void SetInsets(const gfx::Insets& insets) override;
-  void SetNeedsBeginFrames(bool needs_begin_frames) override {}
   TouchSelectionControllerClientManager*
   GetTouchSelectionControllerClientManager() override;
 
diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.h b/content/browser/renderer_host/render_widget_host_view_child_frame.h
index 103ddb8..4f5adb0 100644
--- a/content/browser/renderer_host/render_widget_host_view_child_frame.h
+++ b/content/browser/renderer_host/render_widget_host_view_child_frame.h
@@ -84,7 +84,6 @@
   gfx::NativeView GetNativeView() override;
   gfx::NativeViewAccessible GetNativeViewAccessible() override;
   bool IsMouseLocked() override;
-  void SetNeedsBeginFrames(bool needs_begin_frames) override {}
   void TakeFallbackContentFrom(RenderWidgetHostView* view) override;
 
   // RenderWidgetHostViewBase implementation.
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h
index b3cf7ca..1b1847c 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.h
+++ b/content/browser/renderer_host/render_widget_host_view_mac.h
@@ -115,7 +115,6 @@
   void ShowDefinitionForSelection() override;
   void SpeakSelection() override;
   void GetScreenInfo(ScreenInfo* screen_info) override;
-  void SetNeedsBeginFrames(bool needs_begin_frames) override {}
   void TakeFallbackContentFrom(RenderWidgetHostView* view) override;
 
   // Implementation of RenderWidgetHostViewBase.
diff --git a/content/browser/service_process_host_impl.cc b/content/browser/service_process_host_impl.cc
index 7275d26..4fc39a8 100644
--- a/content/browser/service_process_host_impl.cc
+++ b/content/browser/service_process_host_impl.cc
@@ -112,13 +112,11 @@
 
   ServiceProcessId GenerateNextId() {
     DCHECK_CURRENTLY_ON(BrowserThread::IO);
-    auto id = next_id_;
-    next_id_ = ServiceProcessId::FromUnsafeValue(next_id_.GetUnsafeValue() + 1);
-    return id;
+    return service_process_id_generator_.GenerateNextId();
   }
 
   const scoped_refptr<base::TaskRunner> ui_task_runner_;
-  ServiceProcessId next_id_{1};
+  ServiceProcessId::Generator service_process_id_generator_;
 
   base::Lock processes_lock_;
   std::map<ServiceProcessId, ServiceProcessInfo> processes_;
diff --git a/content/browser/site_per_process_browsertest.cc b/content/browser/site_per_process_browsertest.cc
index a3cf15c..7696405 100644
--- a/content/browser/site_per_process_browsertest.cc
+++ b/content/browser/site_per_process_browsertest.cc
@@ -7410,9 +7410,8 @@
   }
 }
 
-// Tests that the swapped out state on RenderViewHost is properly reset when
-// the main frame is navigated to the same SiteInstance as one of its child
-// frames.
+// Tests that the state of the RenderViewHost is properly reset when the main
+// frame is navigated to the same SiteInstance as one of its child frames.
 IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest,
                        NavigateMainFrameToChildSite) {
   GURL main_url(embedded_test_server()->GetURL(
@@ -7432,13 +7431,13 @@
   }
 
   // Ensure the RenderViewHost for the SiteInstance of the child is considered
-  // in swapped out state.
+  // inactive.
   RenderViewHostImpl* rvh =
       contents->GetFrameTree()
           ->GetRenderViewHost(
               root->child_at(0)->current_frame_host()->GetSiteInstance())
           .get();
-  EXPECT_TRUE(rvh->is_swapped_out_);
+  EXPECT_FALSE(rvh->is_active());
 
   // Have the child frame navigate its parent to its SiteInstance.
   GURL b_url(embedded_test_server()->GetURL("b.com", "/title1.html"));
@@ -7453,11 +7452,10 @@
   frame_observer.Wait();
   EXPECT_EQ(b_url, root->current_url());
 
-  // Verify that the same RenderViewHost is preserved and that it is no longer
-  // in swapped out state.
+  // Verify that the same RenderViewHost is preserved and that it is now active.
   EXPECT_EQ(rvh, contents->GetFrameTree()->GetRenderViewHost(
                      root->current_frame_host()->GetSiteInstance()));
-  EXPECT_FALSE(rvh->is_swapped_out_);
+  EXPECT_TRUE(rvh->is_active());
 }
 
 // Test for https://crbug.com/568836.  From an A-embed-B page, navigate the
diff --git a/content/browser/web_package/prefetched_signed_exchange_cache.cc b/content/browser/web_package/prefetched_signed_exchange_cache.cc
index 3b96456..51837344 100644
--- a/content/browser/web_package/prefetched_signed_exchange_cache.cc
+++ b/content/browser/web_package/prefetched_signed_exchange_cache.cc
@@ -162,7 +162,7 @@
     if (network::cors::ShouldCheckCors(request.url, request.request_initiator,
                                        request.mode)) {
       const auto error_status = network::cors::CheckAccess(
-          request.url, response_->headers->response_code(),
+          request.url,
           GetHeaderString(
               *response_,
               network::cors::header_names::kAccessControlAllowOrigin),
diff --git a/content/browser/worker_host/dedicated_worker_host.cc b/content/browser/worker_host/dedicated_worker_host.cc
index 0b0e64b..a78ba75 100644
--- a/content/browser/worker_host/dedicated_worker_host.cc
+++ b/content/browser/worker_host/dedicated_worker_host.cc
@@ -40,14 +40,14 @@
 
 DedicatedWorkerHost::DedicatedWorkerHost(
     RenderProcessHost* worker_process_host,
-    int ancestor_render_frame_id,
-    int creator_render_frame_id,
+    GlobalFrameRoutingId creator_render_frame_host_id,
+    GlobalFrameRoutingId ancestor_render_frame_host_id,
     const url::Origin& origin,
     mojo::PendingReceiver<blink::mojom::DedicatedWorkerHost> host)
     : worker_process_host_(worker_process_host),
       scoped_process_host_observer_(this),
-      ancestor_render_frame_id_(ancestor_render_frame_id),
-      creator_render_frame_id_(creator_render_frame_id),
+      creator_render_frame_host_id_(creator_render_frame_host_id),
+      ancestor_render_frame_host_id_(ancestor_render_frame_host_id),
       origin_(origin),
       host_receiver_(this, std::move(host)) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -117,7 +117,7 @@
   // Get nearest ancestor render frame host in order to determine the
   // top-frame origin to use for the network isolation key.
   RenderFrameHostImpl* nearest_ancestor_render_frame_host =
-      GetAncestorRenderFrameHost();
+      RenderFrameHostImpl::FromID(ancestor_render_frame_host_id_);
   if (!nearest_ancestor_render_frame_host) {
     client_->OnScriptLoadStartFailed();
     return;
@@ -157,11 +157,9 @@
 
   // If this is a nested worker, there is no creator frame.
   RenderFrameHostImpl* creator_render_frame_host = nullptr;
-  if (creator_render_frame_id_ != MSG_ROUTING_NONE) {
-    // Use |worker_process_host_->GetID()| as the creator render frame's process
-    // ID as the frame surely lives in the same process for dedicated workers.
-    creator_render_frame_host = RenderFrameHostImpl::FromID(
-        worker_process_host_->GetID(), creator_render_frame_id_);
+  if (creator_render_frame_host_id_.frame_routing_id != MSG_ROUTING_NONE) {
+    creator_render_frame_host =
+        RenderFrameHostImpl::FromID(creator_render_frame_host_id_);
     if (!creator_render_frame_host) {
       client_->OnScriptLoadStartFailed();
       return;
@@ -223,7 +221,7 @@
   // TODO(cammie): Change this approach when we support shared workers
   // creating dedicated workers, as there might be no ancestor frame.
   RenderFrameHostImpl* ancestor_render_frame_host =
-      GetAncestorRenderFrameHost();
+      RenderFrameHostImpl::FromID(ancestor_render_frame_host_id_);
   if (!ancestor_render_frame_host) {
     client_->OnScriptLoadStartFailed();
     return;
@@ -312,7 +310,7 @@
     mojo::PendingReceiver<blink::mojom::WebUsbService> receiver) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   RenderFrameHostImpl* ancestor_render_frame_host =
-      GetAncestorRenderFrameHost();
+      RenderFrameHostImpl::FromID(ancestor_render_frame_host_id_);
   // The ancestor frame may have already been closed. In that case, the worker
   // will soon be terminated too, so abort the connection.
   if (!ancestor_render_frame_host)
@@ -325,7 +323,7 @@
     mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   RenderFrameHostImpl* ancestor_render_frame_host =
-      GetAncestorRenderFrameHost();
+      RenderFrameHostImpl::FromID(ancestor_render_frame_host_id_);
   if (!ancestor_render_frame_host) {
     // The ancestor frame may have already been closed. In that case, the worker
     // will soon be terminated too, so abort the connection.
@@ -334,9 +332,10 @@
     return;
   }
   mojo::MakeSelfOwnedReceiver(
-      std::make_unique<WebSocketConnectorImpl>(worker_process_host_->GetID(),
-                                               ancestor_render_frame_id_,
-                                               origin_, network_isolation_key_),
+      std::make_unique<WebSocketConnectorImpl>(
+          ancestor_render_frame_host_id_.child_id,
+          ancestor_render_frame_host_id_.frame_routing_id, origin_,
+          network_isolation_key_),
       std::move(receiver));
 }
 
@@ -344,7 +343,7 @@
     mojo::PendingReceiver<blink::mojom::QuicTransportConnector> receiver) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   RenderFrameHostImpl* ancestor_render_frame_host =
-      GetAncestorRenderFrameHost();
+      RenderFrameHostImpl::FromID(ancestor_render_frame_host_id_);
   if (!ancestor_render_frame_host) {
     // The ancestor frame may have already been closed. In that case, the worker
     // will soon be terminated too, so abort the connection.
@@ -359,17 +358,18 @@
 void DedicatedWorkerHost::CreateNestedDedicatedWorker(
     mojo::PendingReceiver<blink::mojom::DedicatedWorkerHostFactory> receiver) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  CreateDedicatedWorkerHostFactory(worker_process_host_->GetID(),
-                                   ancestor_render_frame_id_,
-                                   /*creator_render_frame_id=*/MSG_ROUTING_NONE,
-                                   origin_, std::move(receiver));
+  GlobalFrameRoutingId new_creator_render_frame_host_id(
+      worker_process_host_->GetID(), MSG_ROUTING_NONE);
+  CreateDedicatedWorkerHostFactory(new_creator_render_frame_host_id,
+                                   ancestor_render_frame_host_id_, origin_,
+                                   std::move(receiver));
 }
 
 void DedicatedWorkerHost::CreateIdleManager(
     mojo::PendingReceiver<blink::mojom::IdleManager> receiver) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   RenderFrameHostImpl* ancestor_render_frame_host =
-      GetAncestorRenderFrameHost();
+      RenderFrameHostImpl::FromID(ancestor_render_frame_host_id_);
   if (!ancestor_render_frame_host) {
     // The ancestor frame may have already been closed. In that case, the worker
     // will soon be terminated too, so abort the connection.
@@ -389,7 +389,7 @@
 void DedicatedWorkerHost::BindSmsReceiverReceiver(
     mojo::PendingReceiver<blink::mojom::SmsReceiver> receiver) {
   RenderFrameHostImpl* ancestor_render_frame_host =
-      GetAncestorRenderFrameHost();
+      RenderFrameHostImpl::FromID(ancestor_render_frame_host_id_);
   if (!ancestor_render_frame_host) {
     // The ancestor frame may have already been closed. In that case, the worker
     // will soon be terminated too, so abort the connection.
@@ -404,7 +404,7 @@
     mojo::PendingReceiver<blink::mojom::SerialService> receiver) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   RenderFrameHostImpl* ancestor_render_frame_host =
-      GetAncestorRenderFrameHost();
+      RenderFrameHostImpl::FromID(ancestor_render_frame_host_id_);
   if (!ancestor_render_frame_host) {
     // The ancestor frame may have already been closed. In that case, the worker
     // will soon be terminated too, so abort the connection.
@@ -439,15 +439,20 @@
       worker_process_host_->GetStoragePartition());
 
   // Get a storage domain.
-  if (!GetAncestorRenderFrameHost() ||
-      !GetAncestorRenderFrameHost()->GetSiteInstance())
+  RenderFrameHostImpl* ancestor_render_frame_host =
+      RenderFrameHostImpl::FromID(ancestor_render_frame_host_id_);
+  if (!ancestor_render_frame_host)
     return;
+
+  SiteInstance* site_instance = ancestor_render_frame_host->GetSiteInstance();
+  if (!site_instance)
+    return;
+
   std::string storage_domain;
   std::string partition_name;
   bool in_memory;
   GetContentClient()->browser()->GetStoragePartitionConfigForSite(
-      storage_partition_impl->browser_context(),
-      GetAncestorRenderFrameHost()->GetSiteInstance()->GetSiteURL(),
+      storage_partition_impl->browser_context(), site_instance->GetSiteURL(),
       /*can_be_default=*/true, &storage_domain, &partition_name, &in_memory);
 
   // Start observing Network Service crash again.
@@ -465,7 +470,7 @@
 
   bool bypass_redirect_checks = false;
   subresource_loader_factories->pending_default_factory() =
-      CreateNetworkFactoryForSubresources(GetAncestorRenderFrameHost(),
+      CreateNetworkFactoryForSubresources(ancestor_render_frame_host,
                                           &bypass_redirect_checks);
   subresource_loader_factories->set_bypass_redirect_checks(
       bypass_redirect_checks);
@@ -474,28 +479,18 @@
       std::move(subresource_loader_factories));
 }
 
-// May return a nullptr.
-RenderFrameHostImpl* DedicatedWorkerHost::GetAncestorRenderFrameHost() {
-  // Use |worker_process_host_->GetID()| as the ancestor render frame's process
-  // ID as the frame surely lives in the same process for dedicated workers.
-  const int ancestor_render_frame_process_id = worker_process_host_->GetID();
-  return RenderFrameHostImpl::FromID(ancestor_render_frame_process_id,
-                                     ancestor_render_frame_id_);
-}
-
 namespace {
 // A factory for creating DedicatedWorkerHosts. Its lifetime is managed by the
 // renderer over mojo via SelfOwnedReceiver. It lives on the UI thread.
 class DedicatedWorkerHostFactoryImpl final
     : public blink::mojom::DedicatedWorkerHostFactory {
  public:
-  DedicatedWorkerHostFactoryImpl(int creator_process_id,
-                                 int ancestor_render_frame_id,
-                                 int creator_render_frame_id,
-                                 const url::Origin& parent_context_origin)
-      : creator_process_id_(creator_process_id),
-        ancestor_render_frame_id_(ancestor_render_frame_id),
-        creator_render_frame_id_(creator_render_frame_id),
+  DedicatedWorkerHostFactoryImpl(
+      GlobalFrameRoutingId creator_render_frame_host_id,
+      GlobalFrameRoutingId ancestor_render_frame_host_id,
+      const url::Origin& parent_context_origin)
+      : creator_render_frame_host_id_(creator_render_frame_host_id),
+        ancestor_render_frame_host_id_(ancestor_render_frame_host_id),
         parent_context_origin_(parent_context_origin) {
     DCHECK_CURRENTLY_ON(BrowserThread::UI);
   }
@@ -514,7 +509,8 @@
     }
 
     // Allocate the worker in the same process as the creator.
-    auto* worker_process_host = RenderProcessHost::FromID(creator_process_id_);
+    auto* worker_process_host =
+        RenderProcessHost::FromID(creator_render_frame_host_id_.child_id);
     if (!worker_process_host) {
       // Abort if the worker's process host is gone. This means that the calling
       // frame or worker is also either destroyed or in the process of being
@@ -528,8 +524,8 @@
     // (Document or DedicatedWorkerGlobalScope), or is unique.
     // Deletes itself on Mojo disconnection.
     auto* host = new DedicatedWorkerHost(
-        worker_process_host, ancestor_render_frame_id_,
-        creator_render_frame_id_, origin, std::move(host_receiver));
+        worker_process_host, creator_render_frame_host_id_,
+        ancestor_render_frame_host_id_, origin, std::move(host_receiver));
     host->BindBrowserInterfaceBrokerReceiver(std::move(broker_receiver));
   }
 
@@ -552,7 +548,8 @@
     }
 
     // Allocate the worker in the same process as the creator.
-    auto* worker_process_host = RenderProcessHost::FromID(creator_process_id_);
+    auto* worker_process_host =
+        RenderProcessHost::FromID(creator_render_frame_host_id_.child_id);
     if (!worker_process_host) {
       // Abort if the worker's process host is gone. This means that the calling
       // frame or worker is also either destroyed or in the process of being
@@ -566,8 +563,8 @@
     // (Document or DedicatedWorkerGlobalScope), or is unique.
     // Deletes itself on Mojo disconnection.
     auto* host = new DedicatedWorkerHost(
-        worker_process_host, ancestor_render_frame_id_,
-        creator_render_frame_id_, request_initiator_origin,
+        worker_process_host, creator_render_frame_host_id_,
+        ancestor_render_frame_host_id_, request_initiator_origin,
         std::move(host_receiver));
     mojo::PendingRemote<blink::mojom::BrowserInterfaceBroker> broker;
     host->BindBrowserInterfaceBrokerReceiver(
@@ -583,9 +580,8 @@
 
  private:
   // See comments on the corresponding members of DedicatedWorkerHost.
-  const int creator_process_id_;
-  const int ancestor_render_frame_id_;
-  const int creator_render_frame_id_;
+  const GlobalFrameRoutingId creator_render_frame_host_id_;
+  const GlobalFrameRoutingId ancestor_render_frame_host_id_;
 
   const url::Origin parent_context_origin_;
 
@@ -595,16 +591,15 @@
 }  // namespace
 
 void CreateDedicatedWorkerHostFactory(
-    int creator_process_id,
-    int ancestor_render_frame_id,
-    int creator_render_frame_id,
+    GlobalFrameRoutingId creator_render_frame_host_id,
+    GlobalFrameRoutingId ancestor_render_frame_host_id,
     const url::Origin& origin,
     mojo::PendingReceiver<blink::mojom::DedicatedWorkerHostFactory> receiver) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  mojo::MakeSelfOwnedReceiver(std::make_unique<DedicatedWorkerHostFactoryImpl>(
-                                  creator_process_id, ancestor_render_frame_id,
-                                  creator_render_frame_id, origin),
-                              std::move(receiver));
+  mojo::MakeSelfOwnedReceiver(
+      std::make_unique<DedicatedWorkerHostFactoryImpl>(
+          creator_render_frame_host_id, ancestor_render_frame_host_id, origin),
+      std::move(receiver));
 }
 
 }  // namespace content
diff --git a/content/browser/worker_host/dedicated_worker_host.h b/content/browser/worker_host/dedicated_worker_host.h
index 2d9a5e7..7d85c36 100644
--- a/content/browser/worker_host/dedicated_worker_host.h
+++ b/content/browser/worker_host/dedicated_worker_host.h
@@ -8,6 +8,7 @@
 #include "base/scoped_observer.h"
 #include "build/build_config.h"
 #include "content/browser/browser_interface_broker_impl.h"
+#include "content/public/browser/global_routing_id.h"
 #include "content/public/browser/render_process_host.h"
 #include "content/public/browser/render_process_host_observer.h"
 #include "media/mojo/mojom/video_decode_perf_history.mojom.h"
@@ -43,9 +44,8 @@
 // Creates a host factory for a dedicated worker. This must be called on the UI
 // thread.
 void CreateDedicatedWorkerHostFactory(
-    int creator_process_id,
-    int ancestor_render_frame_id,
-    int creator_render_frame_id,
+    GlobalFrameRoutingId creator_render_frame_host_id,
+    GlobalFrameRoutingId ancestor_render_frame_host_id,
     const url::Origin& origin,
     mojo::PendingReceiver<blink::mojom::DedicatedWorkerHostFactory> receiver);
 
@@ -57,8 +57,8 @@
  public:
   DedicatedWorkerHost(
       RenderProcessHost* worker_process_host,
-      int ancestor_render_frame_id,
-      int creator_render_frame_id,
+      GlobalFrameRoutingId creator_render_frame_host_id,
+      GlobalFrameRoutingId ancestor_render_frame_host_id,
       const url::Origin& origin,
       mojo::PendingReceiver<blink::mojom::DedicatedWorkerHost> host);
   ~DedicatedWorkerHost() final;
@@ -139,16 +139,14 @@
   // Creates a network factory for subresource requests from this worker. The
   // network factory is meant to be passed to the renderer.
   mojo::PendingRemote<network::mojom::URLLoaderFactory>
-  CreateNetworkFactoryForSubresources(RenderFrameHostImpl* render_frame_host,
-                                      bool* bypass_redirect_checks);
+  CreateNetworkFactoryForSubresources(
+      RenderFrameHostImpl* ancestor_render_frame_host,
+      bool* bypass_redirect_checks);
 
   // Updates subresource loader factories. This is supposed to be called when
   // out-of-process Network Service crashes.
   void UpdateSubresourceLoaderFactories();
 
-  // May return a nullptr.
-  RenderFrameHostImpl* GetAncestorRenderFrameHost();
-
   void OnMojoDisconnect();
 
   // The RenderProcessHost that hosts this worker.
@@ -157,13 +155,14 @@
   ScopedObserver<RenderProcessHost, RenderProcessHostObserver>
       scoped_process_host_observer_;
 
+  // The ID of the frame that directly starts this worker. This is
+  // {creator_render_process_host_id, MSG_ROUTING_NONE} when this worker is
+  // nested.
+  const GlobalFrameRoutingId creator_render_frame_host_id_;
+
   // The ID of the frame that owns this worker, either directly, or (in the case
   // of nested workers) indirectly via a tree of dedicated workers.
-  const int ancestor_render_frame_id_;
-
-  // The ID of the frame that directly starts this worker. This is
-  // MSG_ROUTING_NONE when this worker is nested.
-  const int creator_render_frame_id_;
+  const GlobalFrameRoutingId ancestor_render_frame_host_id_;
 
   const url::Origin origin_;
 
diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn
index 7b3a449..9b2fb0a 100644
--- a/content/common/BUILD.gn
+++ b/content/common/BUILD.gn
@@ -213,8 +213,6 @@
     "service_worker/service_worker_utils.h",
     "skia_utils.cc",
     "skia_utils.h",
-    "swapped_out_messages.cc",
-    "swapped_out_messages.h",
     "tab_switch_time_recorder.cc",
     "tab_switch_time_recorder.h",
     "text_input_client_messages.h",
diff --git a/content/common/swapped_out_messages.cc b/content/common/swapped_out_messages.cc
deleted file mode 100644
index 46d4da87..0000000
--- a/content/common/swapped_out_messages.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "content/common/swapped_out_messages.h"
-
-#include "content/common/accessibility_messages.h"
-#include "content/common/view_messages.h"
-#include "content/public/common/content_client.h"
-
-namespace content {
-
-bool SwappedOutMessages::CanSendWhileSwappedOut(const IPC::Message* msg) {
-  // We filter out most IPC messages when swapped out.  However, some are
-  // important (e.g., ACKs) for keeping the browser and renderer state
-  // consistent in case we later return to the same renderer.
-  switch (msg->type()) {
-    // Handled by RenderViewHost.
-    case ViewHostMsg_ClosePage_ACK::ID:
-    case ViewHostMsg_Focus::ID:
-    case ViewHostMsg_ShowFullscreenWidget::ID:
-    case ViewHostMsg_ShowWidget::ID:
-    case ViewHostMsg_UpdateTargetURL::ID:
-    case ViewHostMsg_RouteCloseEvent::ID:
-    // Send page scale factor reset notification upon cross-process navigations.
-    case ViewHostMsg_PageScaleFactorChanged::ID:
-      return true;
-    default:
-      break;
-  }
-
-  // Check with the embedder as well.
-  ContentClient* client = GetContentClient();
-  return client->CanSendWhileSwappedOut(msg);
-}
-
-bool SwappedOutMessages::CanHandleWhileSwappedOut(
-    const IPC::Message& msg) {
-  // Any message the renderer is allowed to send while swapped out should
-  // be handled by the browser.
-  if (CanSendWhileSwappedOut(&msg))
-    return true;
-
-  // We drop most other messages that arrive from a swapped out renderer.
-  // However, some are important (e.g., ACKs) for keeping the browser and
-  // renderer state consistent in case we later return to the renderer.
-  // Note that synchronous messages that are not handled will receive an
-  // error reply instead, to avoid leaving the renderer in a stuck state.
-  switch (msg.type()) {
-    // Sends an ACK.
-    case AccessibilityHostMsg_EventBundle::ID:
-      return true;
-    default:
-      break;
-  }
-
-  return false;
-}
-
-}  // namespace content
diff --git a/content/common/swapped_out_messages.h b/content/common/swapped_out_messages.h
deleted file mode 100644
index c4b0649..0000000
--- a/content/common/swapped_out_messages.h
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CONTENT_COMMON_SWAPPED_OUT_MESSAGES_H_
-#define CONTENT_COMMON_SWAPPED_OUT_MESSAGES_H_
-
-#include "ipc/ipc_message.h"
-
-namespace content {
-
-// Functions for filtering IPC messages sent from and received from a swapped
-// out renderer.
-class SwappedOutMessages {
- public:
-  static bool CanSendWhileSwappedOut(const IPC::Message* msg);
-  static bool CanHandleWhileSwappedOut(const IPC::Message& msg);
-};
-
-}  // namespace content
-
-#endif  // CONTENT_COMMON_SWAPPED_OUT_MESSAGES_H_
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index cbe040b6..5369a07 100644
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
@@ -1013,12 +1013,6 @@
       RenderProcessHost* render_process_host,
       mojo::GenericPendingReceiver receiver) {}
 
-  // Called on the IO thread to handle an unhandled interface receiver binding
-  // request from a render process. See |RenderThread::BindHostReceiver()|.
-  virtual void BindHostReceiverForRendererOnIOThread(
-      int render_process_id,
-      mojo::GenericPendingReceiver* receiver) {}
-
   // Called just before the Service Manager is initialized.
   virtual void WillStartServiceManager() {}
 
diff --git a/content/public/browser/permission_type.cc b/content/public/browser/permission_type.cc
index 77902ac3..05632368 100644
--- a/content/public/browser/permission_type.cc
+++ b/content/public/browser/permission_type.cc
@@ -6,6 +6,12 @@
 
 #include "base/no_destructor.h"
 #include "base/stl_util.h"
+#include "build/build_config.h"
+#include "third_party/blink/public/mojom/permissions/permission.mojom.h"
+
+using blink::mojom::PermissionDescriptorPtr;
+using blink::mojom::PermissionName;
+using blink::mojom::PermissionStatus;
 
 namespace content {
 
@@ -25,4 +31,78 @@
   return *kAllPermissionTypes;
 }
 
+base::Optional<PermissionType> PermissionDescriptorToPermissionType(
+    const PermissionDescriptorPtr& descriptor) {
+  switch (descriptor->name) {
+    case PermissionName::GEOLOCATION:
+      return PermissionType::GEOLOCATION;
+    case PermissionName::NOTIFICATIONS:
+      return PermissionType::NOTIFICATIONS;
+    case PermissionName::MIDI: {
+      if (descriptor->extension && descriptor->extension->is_midi() &&
+          descriptor->extension->get_midi()->sysex) {
+        return PermissionType::MIDI_SYSEX;
+      }
+      return PermissionType::MIDI;
+    }
+    case PermissionName::PROTECTED_MEDIA_IDENTIFIER:
+#if defined(ENABLE_PROTECTED_MEDIA_IDENTIFIER_PERMISSION)
+      return PermissionType::PROTECTED_MEDIA_IDENTIFIER;
+#else
+      NOTIMPLEMENTED();
+      return base::nullopt;
+#endif  // defined(ENABLE_PROTECTED_MEDIA_IDENTIFIER_PERMISSION)
+    case PermissionName::DURABLE_STORAGE:
+      return PermissionType::DURABLE_STORAGE;
+    case PermissionName::AUDIO_CAPTURE:
+      return PermissionType::AUDIO_CAPTURE;
+    case PermissionName::VIDEO_CAPTURE:
+      return PermissionType::VIDEO_CAPTURE;
+    case PermissionName::BACKGROUND_SYNC:
+      return PermissionType::BACKGROUND_SYNC;
+    case PermissionName::SENSORS:
+      return PermissionType::SENSORS;
+    case PermissionName::ACCESSIBILITY_EVENTS:
+      return PermissionType::ACCESSIBILITY_EVENTS;
+    case PermissionName::CLIPBOARD_READ:
+      return PermissionType::CLIPBOARD_READ_WRITE;
+    case PermissionName::CLIPBOARD_WRITE: {
+      if (descriptor->extension && descriptor->extension->is_clipboard() &&
+          descriptor->extension->get_clipboard()->allowWithoutSanitization) {
+        return PermissionType::CLIPBOARD_READ_WRITE;
+      } else {
+        return PermissionType::CLIPBOARD_SANITIZED_WRITE;
+      }
+    }
+    case PermissionName::PAYMENT_HANDLER:
+      return PermissionType::PAYMENT_HANDLER;
+    case PermissionName::BACKGROUND_FETCH:
+      return PermissionType::BACKGROUND_FETCH;
+    case PermissionName::IDLE_DETECTION:
+      return PermissionType::IDLE_DETECTION;
+    case PermissionName::PERIODIC_BACKGROUND_SYNC:
+      return PermissionType::PERIODIC_BACKGROUND_SYNC;
+    case PermissionName::WAKE_LOCK:
+      if (descriptor->extension && descriptor->extension->is_wake_lock()) {
+        switch (descriptor->extension->get_wake_lock()->type) {
+          case blink::mojom::WakeLockType::kScreen:
+            return PermissionType::WAKE_LOCK_SCREEN;
+            break;
+          case blink::mojom::WakeLockType::kSystem:
+            return PermissionType::WAKE_LOCK_SYSTEM;
+            break;
+          default:
+            NOTREACHED();
+            return base::nullopt;
+        }
+      }
+      break;
+    case PermissionName::NFC:
+      return PermissionType::NFC;
+  }
+
+  NOTREACHED();
+  return base::nullopt;
+}
+
 }  // namespace content
diff --git a/content/public/browser/permission_type.h b/content/public/browser/permission_type.h
index fb79c710..187712c 100644
--- a/content/public/browser/permission_type.h
+++ b/content/public/browser/permission_type.h
@@ -7,7 +7,9 @@
 
 #include <vector>
 
+#include "base/optional.h"
 #include "content/common/content_export.h"
+#include "third_party/blink/public/mojom/permissions/permission.mojom-forward.h"
 
 namespace content {
 
@@ -51,6 +53,11 @@
 
 CONTENT_EXPORT const std::vector<PermissionType>& GetAllPermissionTypes();
 
+// Given |descriptor|, set |permission_type| to a corresponding PermissionType.
+CONTENT_EXPORT base::Optional<PermissionType>
+PermissionDescriptorToPermissionType(
+    const blink::mojom::PermissionDescriptorPtr& descriptor);
+
 }  // namespace content
 
 #endif  // CONTENT_PUBLIC_BROWSER_PERMISSION_TYPE_H_
diff --git a/content/public/browser/render_widget_host_view.h b/content/public/browser/render_widget_host_view.h
index 8fe90d1..2064476 100644
--- a/content/public/browser/render_widget_host_view.h
+++ b/content/public/browser/render_widget_host_view.h
@@ -228,10 +228,6 @@
   virtual std::unique_ptr<viz::ClientFrameSinkVideoCapturer>
   CreateVideoCapturer() = 0;
 
-  // Informs the view that its associated render widget has frames to draw and
-  // wants to have BeginFrame messages sent to it.  This should only be called
-  // when the value has changed.  Views must initially default to false.
-  virtual void SetNeedsBeginFrames(bool needs_begin_frames) = 0;
   // This method returns the ScreenInfo used by the view to render. If the
   // information is not knowable (e.g, because the view is not attached to a
   // screen yet), then a default best-guess will be used.
diff --git a/content/public/child/child_thread.h b/content/public/child/child_thread.h
index 5317889..12df17c 100644
--- a/content/public/child/child_thread.h
+++ b/content/public/child/child_thread.h
@@ -63,10 +63,8 @@
   //
   //   For renderers:
   //       1. IO thread, IOThreadHostImpl::BindHostReceiver.
-  //       2. IO thread,
-  //          ContentBrowserClient::BindHostReceiverForRendererOnIOThread.
-  //       3. Main thread, RenderProcessHostImpl::BindHostReceiver.
-  //       4. Main thread, ContentBrowserClient::BindHostReceiverForRenderer.
+  //       2. Main thread, RenderProcessHostImpl::BindHostReceiver.
+  //       3. Main thread, ContentBrowserClient::BindHostReceiverForRenderer.
   //
   // TODO(crbug.com/977637): Document behavior for other process types when
   // their support is added.
diff --git a/content/public/common/content_client.cc b/content/public/common/content_client.cc
index f11035d..494f4ff3 100644
--- a/content/public/common/content_client.cc
+++ b/content/public/common/content_client.cc
@@ -67,10 +67,6 @@
 ContentClient::~ContentClient() {
 }
 
-bool ContentClient::CanSendWhileSwappedOut(const IPC::Message* message) {
-  return false;
-}
-
 base::string16 ContentClient::GetLocalizedString(int message_id) {
   return base::string16();
 }
diff --git a/content/public/common/content_client.h b/content/public/common/content_client.h
index 1b9729c..2b2ef66 100644
--- a/content/public/common/content_client.h
+++ b/content/public/common/content_client.h
@@ -30,10 +30,6 @@
 class OriginTrialPolicy;
 }
 
-namespace IPC {
-class Message;
-}
-
 namespace gfx {
 class Image;
 }
@@ -153,9 +149,6 @@
 
   virtual void AddAdditionalSchemes(Schemes* schemes) {}
 
-  // Returns whether the given message should be sent in a swapped out renderer.
-  virtual bool CanSendWhileSwappedOut(const IPC::Message* message);
-
   // Returns a string resource given its id.
   virtual base::string16 GetLocalizedString(int message_id);
 
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
index 9dd22cf5..4a64adb 100644
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -613,11 +613,15 @@
 const base::Feature kWebAssemblyCodeGC{"WebAssemblyCodeGC",
                                        base::FEATURE_ENABLED_BY_DEFAULT};
 
-// Enable WebAssembly SIMD
+// Enable WebAssembly SIMD.
 // https://github.com/WebAssembly/Simd
 const base::Feature kWebAssemblySimd{"WebAssemblySimd",
                                      base::FEATURE_DISABLED_BY_DEFAULT};
 
+// Enable WebAssembly tiering (Liftoff -> TurboFan).
+const base::Feature kWebAssemblyTiering{"WebAssemblyTiering",
+                                        base::FEATURE_ENABLED_BY_DEFAULT};
+
 // Enable WebAssembly threads.
 // https://github.com/WebAssembly/threads
 const base::Feature kWebAssemblyThreads {
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
index a37ad87..ab3a00f 100644
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -135,6 +135,7 @@
 CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeGC;
 CONTENT_EXPORT extern const base::Feature kWebAssemblySimd;
 CONTENT_EXPORT extern const base::Feature kWebAssemblyThreads;
+CONTENT_EXPORT extern const base::Feature kWebAssemblyTiering;
 CONTENT_EXPORT extern const base::Feature kWebAssemblyTrapHandler;
 CONTENT_EXPORT extern const base::Feature kWebAuth;
 CONTENT_EXPORT extern const base::Feature kWebAuthBle;
diff --git a/content/public/utility/content_utility_client.h b/content/public/utility/content_utility_client.h
index 793d821..e521fbd 100644
--- a/content/public/utility/content_utility_client.h
+++ b/content/public/utility/content_utility_client.h
@@ -16,6 +16,10 @@
 #include "services/service_manager/public/cpp/service.h"
 #include "services/service_manager/public/mojom/service.mojom.h"
 
+namespace IPC {
+class Message;
+}
+
 namespace mojo {
 class BinderMap;
 class ServiceFactory;
diff --git a/content/renderer/loader/web_url_loader_impl.cc b/content/renderer/loader/web_url_loader_impl.cc
index 24701d10..e3dd14a 100644
--- a/content/renderer/loader/web_url_loader_impl.cc
+++ b/content/renderer/loader/web_url_loader_impl.cc
@@ -1021,6 +1021,7 @@
       net::IsCertStatusError(head.cert_status));
   response->SetCTPolicyCompliance(head.ct_policy_compliance);
   response->SetIsLegacyTLSVersion(head.is_legacy_tls_version);
+  response->SetTimingAllowPassed(head.timing_allow_passed);
   response->SetAppCacheID(head.appcache_id);
   response->SetAppCacheManifestURL(head.appcache_manifest_url);
   response->SetWasCached(!head.load_timing.request_start_time.is_null() &&
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index bde0bdb..3f27c51 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -65,7 +65,6 @@
 #include "content/common/page_messages.h"
 #include "content/common/renderer_host.mojom.h"
 #include "content/common/savable_subframe.h"
-#include "content/common/swapped_out_messages.h"
 #include "content/common/unfreezable_frame_messages.h"
 #include "content/common/view_messages.h"
 #include "content/common/web_package/signed_exchange_utils.h"
diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc
index 186dd71..2c5bbe6 100644
--- a/content/renderer/render_frame_proxy.cc
+++ b/content/renderer/render_frame_proxy.cc
@@ -18,7 +18,6 @@
 #include "content/common/frame_replication_state.h"
 #include "content/common/input_messages.h"
 #include "content/common/page_messages.h"
-#include "content/common/swapped_out_messages.h"
 #include "content/common/unfreezable_frame_messages.h"
 #include "content/common/view_messages.h"
 #include "content/public/common/content_client.h"
diff --git a/content/renderer/render_process_impl.cc b/content/renderer/render_process_impl.cc
index a8fa1d5..81d5b96 100644
--- a/content/renderer/render_process_impl.cc
+++ b/content/renderer/render_process_impl.cc
@@ -128,10 +128,8 @@
   SetV8FlagIfFeature(features::kV8VmFuture, "--future");
   SetV8FlagIfNotFeature(features::kV8VmFuture, "--no-future");
 
-  SetV8FlagIfFeature(features::kWebAssemblyBaseline,
-                     "--liftoff --wasm-tier-up");
-  SetV8FlagIfNotFeature(features::kWebAssemblyBaseline,
-                        "--no-liftoff --no-wasm-tier-up");
+  SetV8FlagIfFeature(features::kWebAssemblyBaseline, "--liftoff");
+  SetV8FlagIfNotFeature(features::kWebAssemblyBaseline, "--no-liftoff");
 
   SetV8FlagIfFeature(features::kWebAssemblyCodeGC, "--wasm-code-gc");
   SetV8FlagIfNotFeature(features::kWebAssemblyCodeGC, "--no-wasm-code-gc");
@@ -156,6 +154,9 @@
                           "--no-harmony-sharedarraybuffer");
   }
 
+  SetV8FlagIfFeature(features::kWebAssemblyTiering, "--wasm-tier-up");
+  SetV8FlagIfNotFeature(features::kWebAssemblyTiering, "--no-wasm-tier-up");
+
   SetV8FlagIfNotFeature(features::kWebAssemblyTrapHandler,
                         "--no-wasm-trap-handler");
 #if defined(OS_LINUX) && defined(ARCH_CPU_X86_64)
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index af8dfe8..9f9dc72 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -148,6 +148,7 @@
 #include "third_party/icu/source/common/unicode/uchar.h"
 #include "third_party/icu/source/common/unicode/uscript.h"
 #include "third_party/skia/include/core/SkColor.h"
+#include "ui/base/ui_base_features.h"
 #include "ui/base/ui_base_switches_util.h"
 #include "ui/gfx/geometry/point.h"
 #include "ui/gfx/geometry/rect.h"
@@ -1922,6 +1923,11 @@
   }
 #endif
 
+  if (features::IsFormControlsRefreshEnabled() &&
+      renderer_prefs.use_custom_colors) {
+    blink::SetFocusRingColor(renderer_prefs.focus_ring_color);
+  }
+
   if (webview() &&
       old_accept_languages != renderer_preferences_.accept_languages) {
     webview()->AcceptLanguagesChanged();
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index b1c61a3..d05abec 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -43,7 +43,6 @@
 #include "content/common/drag_messages.h"
 #include "content/common/render_frame_metadata.mojom.h"
 #include "content/common/render_message_filter.mojom.h"
-#include "content/common/swapped_out_messages.h"
 #include "content/common/text_input_state.h"
 #include "content/common/widget_messages.h"
 #include "content/public/common/content_client.h"
diff --git a/content/shell/browser/web_test/web_test_content_browser_client.cc b/content/shell/browser/web_test/web_test_content_browser_client.cc
index 700996b..3f2d303 100644
--- a/content/shell/browser/web_test/web_test_content_browser_client.cc
+++ b/content/shell/browser/web_test/web_test_content_browser_client.cc
@@ -34,6 +34,7 @@
 #include "content/shell/browser/web_test/web_test_browser_context.h"
 #include "content/shell/browser/web_test/web_test_browser_main_parts.h"
 #include "content/shell/browser/web_test/web_test_message_filter.h"
+#include "content/shell/browser/web_test/web_test_permission_manager.h"
 #include "content/shell/browser/web_test/web_test_tts_controller_delegate.h"
 #include "content/shell/browser/web_test/web_test_tts_platform.h"
 #include "content/shell/common/web_test/web_test_switches.h"
@@ -178,6 +179,12 @@
           &WebTestContentBrowserClient::BindClientHintsControllerDelegate,
           base::Unretained(this)),
       ui_task_runner);
+
+  registry->AddInterface(
+      base::BindRepeating(
+          &WebTestContentBrowserClient::BindPermissionAutomation,
+          base::Unretained(this)),
+      ui_task_runner);
 }
 
 void WebTestContentBrowserClient::BindClipboardHostForRequest(
@@ -202,6 +209,12 @@
   delegate->Bind(std::move(receiver));
 }
 
+void WebTestContentBrowserClient::BindPermissionAutomation(
+    mojo::PendingReceiver<blink::test::mojom::PermissionAutomation> receiver) {
+  GetWebTestBrowserContext()->GetWebTestPermissionManager()->Bind(
+      std::move(receiver));
+}
+
 void WebTestContentBrowserClient::OverrideWebkitPrefs(
     RenderViewHost* render_view_host,
     WebPreferences* prefs) {
diff --git a/content/shell/browser/web_test/web_test_content_browser_client.h b/content/shell/browser/web_test/web_test_content_browser_client.h
index c5dd687..0c9e573 100644
--- a/content/shell/browser/web_test/web_test_content_browser_client.h
+++ b/content/shell/browser/web_test/web_test_content_browser_client.h
@@ -14,6 +14,7 @@
 #include "services/service_manager/public/cpp/binder_map.h"
 #include "services/service_manager/public/cpp/binder_registry.h"
 #include "third_party/blink/public/mojom/clipboard/clipboard.mojom.h"
+#include "third_party/blink/public/mojom/permissions/permission_automation.mojom-forward.h"
 
 namespace content {
 
@@ -102,6 +103,9 @@
   void BindClientHintsControllerDelegate(
       mojo::PendingReceiver<client_hints::mojom::ClientHints> receiver);
 
+  void BindPermissionAutomation(
+      mojo::PendingReceiver<blink::test::mojom::PermissionAutomation> receiver);
+
   std::unique_ptr<MockPlatformNotificationService>
       mock_platform_notification_service_;
   bool block_popups_ = false;
diff --git a/content/shell/browser/web_test/web_test_permission_manager.cc b/content/shell/browser/web_test/web_test_permission_manager.cc
index 1a00c6a..67f34de 100644
--- a/content/shell/browser/web_test/web_test_permission_manager.cc
+++ b/content/shell/browser/web_test/web_test_permission_manager.cc
@@ -207,6 +207,22 @@
   OnPermissionChanged(description, status);
 }
 
+void WebTestPermissionManager::SetPermission(
+    blink::mojom::PermissionDescriptorPtr descriptor,
+    blink::mojom::PermissionStatus status,
+    const GURL& url,
+    const GURL& embedding_url,
+    blink::test::mojom::PermissionAutomation::SetPermissionCallback callback) {
+  auto type = PermissionDescriptorToPermissionType(descriptor);
+  if (!type) {
+    std::move(callback).Run(false);
+    return;
+  }
+
+  SetPermission(*type, status, url, embedding_url);
+  std::move(callback).Run(true);
+}
+
 void WebTestPermissionManager::ResetPermissions() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
@@ -214,6 +230,11 @@
   permissions_.clear();
 }
 
+void WebTestPermissionManager::Bind(
+    mojo::PendingReceiver<blink::test::mojom::PermissionAutomation> receiver) {
+  receivers_.Add(this, std::move(receiver));
+}
+
 void WebTestPermissionManager::OnPermissionChanged(
     const PermissionDescription& permission,
     blink::mojom::PermissionStatus status) {
diff --git a/content/shell/browser/web_test/web_test_permission_manager.h b/content/shell/browser/web_test/web_test_permission_manager.h
index dfff29f9..1d15dbb 100644
--- a/content/shell/browser/web_test/web_test_permission_manager.h
+++ b/content/shell/browser/web_test/web_test_permission_manager.h
@@ -12,11 +12,16 @@
 #include "base/macros.h"
 #include "base/synchronization/lock.h"
 #include "content/public/browser/permission_controller_delegate.h"
+#include "mojo/public/cpp/bindings/receiver_set.h"
+#include "third_party/blink/public/mojom/permissions/permission.mojom.h"
+#include "third_party/blink/public/mojom/permissions/permission_automation.mojom.h"
 #include "url/gurl.h"
 
 namespace content {
 
-class WebTestPermissionManager : public PermissionControllerDelegate {
+class WebTestPermissionManager
+    : public PermissionControllerDelegate,
+      public blink::test::mojom::PermissionAutomation {
  public:
   WebTestPermissionManager();
   ~WebTestPermissionManager() override;
@@ -61,6 +66,17 @@
                      const GURL& embedding_url);
   void ResetPermissions();
 
+  // blink::test::mojom::PermissionAutomation
+  void SetPermission(
+      blink::mojom::PermissionDescriptorPtr descriptor,
+      blink::mojom::PermissionStatus status,
+      const GURL& url,
+      const GURL& embedding_url,
+      blink::test::mojom::PermissionAutomation::SetPermissionCallback) override;
+
+  void Bind(
+      mojo::PendingReceiver<blink::test::mojom::PermissionAutomation> receiver);
+
  private:
   // Representation of a permission for the WebTestPermissionManager.
   struct PermissionDescription {
@@ -101,6 +117,8 @@
   // List of subscribers currently listening to permission changes.
   SubscriptionsMap subscriptions_;
 
+  mojo::ReceiverSet<blink::test::mojom::PermissionAutomation> receivers_;
+
   DISALLOW_COPY_AND_ASSIGN(WebTestPermissionManager);
 };
 
diff --git a/content/shell/common/shell_content_client.cc b/content/shell/common/shell_content_client.cc
index febd34bf..91958b2 100644
--- a/content/shell/common/shell_content_client.cc
+++ b/content/shell/common/shell_content_client.cc
@@ -79,19 +79,6 @@
   return &origin_trial_policy_;
 }
 
-bool ShellContentClient::CanSendWhileSwappedOut(const IPC::Message* message) {
-  if (!in_web_test_)
-    return ContentClient::CanSendWhileSwappedOut(message);
-  switch (message->type()) {
-    // Used in web tests; handled in BlinkTestController.
-    case BlinkTestHostMsg_PrintMessage::ID:
-      return true;
-
-    default:
-      return false;
-  }
-}
-
 void ShellContentClient::SetInWebTest(bool in_web_test) {
   in_web_test_ = in_web_test;
 }
diff --git a/content/shell/common/shell_content_client.h b/content/shell/common/shell_content_client.h
index b6fcb118..bf8b686 100644
--- a/content/shell/common/shell_content_client.h
+++ b/content/shell/common/shell_content_client.h
@@ -26,7 +26,6 @@
   gfx::Image& GetNativeImageNamed(int resource_id) override;
   base::DictionaryValue GetNetLogConstants() override;
   blink::OriginTrialPolicy* GetOriginTrialPolicy() override;
-  bool CanSendWhileSwappedOut(const IPC::Message* message) override;
 
   void SetInWebTest(bool in_web_test);
 
diff --git a/content/shell/renderer/web_test/blink_test_runner.cc b/content/shell/renderer/web_test/blink_test_runner.cc
index 7d64ac10..215f3e8e6 100644
--- a/content/shell/renderer/web_test/blink_test_runner.cc
+++ b/content/shell/renderer/web_test/blink_test_runner.cc
@@ -61,6 +61,7 @@
 #include "services/service_manager/public/cpp/binder_registry.h"
 #include "skia/ext/platform_canvas.h"
 #include "third_party/blink/public/common/input/web_input_event.h"
+#include "third_party/blink/public/common/permissions/permission_utils.h"
 #include "third_party/blink/public/mojom/app_banner/app_banner.mojom.h"
 #include "third_party/blink/public/platform/file_path_conversion.h"
 #include "third_party/blink/public/platform/platform.h"
@@ -618,20 +619,9 @@
                                     const std::string& value,
                                     const GURL& origin,
                                     const GURL& embedding_origin) {
-  blink::mojom::PermissionStatus status;
-  if (value == "granted") {
-    status = blink::mojom::PermissionStatus::GRANTED;
-  } else if (value == "prompt") {
-    status = blink::mojom::PermissionStatus::ASK;
-  } else if (value == "denied") {
-    status = blink::mojom::PermissionStatus::DENIED;
-  } else {
-    NOTREACHED();
-    status = blink::mojom::PermissionStatus::DENIED;
-  }
-
-  Send(new WebTestHostMsg_SetPermission(routing_id(), name, status, origin,
-                                        embedding_origin));
+  Send(new WebTestHostMsg_SetPermission(routing_id(), name,
+                                        blink::ToPermissionStatus(value),
+                                        origin, embedding_origin));
 }
 
 void BlinkTestRunner::ResetPermissions() {
diff --git a/content/test/test_render_view_host.h b/content/test/test_render_view_host.h
index 8e6f815..6d73528 100644
--- a/content/test/test_render_view_host.h
+++ b/content/test/test_render_view_host.h
@@ -92,7 +92,6 @@
   // period of time.
   void ResetFallbackToFirstNavigationSurface() override {}
 
-  void SetNeedsBeginFrames(bool needs_begin_frames) override {}
   void TakeFallbackContentFrom(RenderWidgetHostView* view) override;
   void EnsureSurfaceSynchronizedForWebTest() override {}
 
diff --git a/extensions/browser/extension_function_histogram_value.h b/extensions/browser/extension_function_histogram_value.h
index ad9e69b4..45ad566 100644
--- a/extensions/browser/extension_function_histogram_value.h
+++ b/extensions/browser/extension_function_histogram_value.h
@@ -1492,6 +1492,8 @@
   AUTOTESTPRIVATE_ISARCPACKAGELISTINITIALREFRESHED = 1429,
   AUTOTESTPRIVATE_STARTTRACING = 1430,
   AUTOTESTPRIVATE_STOPTRACING = 1431,
+  LOGIN_LOCKMANAGEDGUESTSESSION = 1432,
+  LOGIN_UNLOCKMANAGEDGUESTSESSION = 1433,
   // Last entry: Add new entries above, then run:
   // python tools/metrics/histograms/update_extension_histograms.py
   ENUM_BOUNDARY
diff --git a/gpu/command_buffer/service/command_buffer_direct.cc b/gpu/command_buffer/service/command_buffer_direct.cc
index 5b9e2a7c..b5a604d9 100644
--- a/gpu/command_buffer/service/command_buffer_direct.cc
+++ b/gpu/command_buffer/service/command_buffer_direct.cc
@@ -10,16 +10,7 @@
 
 namespace gpu {
 
-namespace {
-
-uint64_t g_next_command_buffer_id = 1;
-
-}  // anonymous namespace
-
-CommandBufferDirect::CommandBufferDirect()
-    : service_(this, nullptr),
-      command_buffer_id_(
-          CommandBufferId::FromUnsafeValue(g_next_command_buffer_id++)) {}
+CommandBufferDirect::CommandBufferDirect() : service_(this, nullptr) {}
 
 CommandBufferDirect::~CommandBufferDirect() = default;
 
diff --git a/gpu/command_buffer/service/command_buffer_direct.h b/gpu/command_buffer/service/command_buffer_direct.h
index 52333650..44842ba 100644
--- a/gpu/command_buffer/service/command_buffer_direct.h
+++ b/gpu/command_buffer/service/command_buffer_direct.h
@@ -6,7 +6,6 @@
 #define GPU_COMMAND_BUFFER_SERVICE_COMMAND_BUFFER_DIRECT_H_
 
 #include "base/callback.h"
-#include "gpu/command_buffer/common/command_buffer_id.h"
 #include "gpu/command_buffer/common/constants.h"
 #include "gpu/command_buffer/service/command_buffer_service.h"
 #include "gpu/command_buffer/service/decoder_client.h"
@@ -62,7 +61,6 @@
  private:
   CommandBufferService service_;
   AsyncAPIInterface* handler_ = nullptr;
-  const CommandBufferId command_buffer_id_;
 };
 
 }  // namespace gpu
diff --git a/gpu/command_buffer/service/shared_context_state.cc b/gpu/command_buffer/service/shared_context_state.cc
index de4702f2..be28922 100644
--- a/gpu/command_buffer/service/shared_context_state.cc
+++ b/gpu/command_buffer/service/shared_context_state.cc
@@ -435,8 +435,8 @@
 
 void SharedContextState::UpdateSkiaOwnedMemorySize() {
   if (!gr_context_) {
-    memory_tracker_.OnMemoryAllocatedChange(
-        CommandBufferId::FromUnsafeValue(0u), skia_gr_cache_size_, 0u);
+    memory_tracker_.OnMemoryAllocatedChange(CommandBufferId(),
+                                            skia_gr_cache_size_, 0u);
     skia_gr_cache_size_ = 0u;
     return;
   }
@@ -445,9 +445,8 @@
   // Skia does not have a CommandBufferId. PeakMemoryMonitor currently does not
   // use CommandBufferId to identify source, so use zero here to separate
   // prevent confusion.
-  memory_tracker_.OnMemoryAllocatedChange(CommandBufferId::FromUnsafeValue(0u),
-                                          skia_gr_cache_size_,
-                                          static_cast<uint64_t>(new_size));
+  memory_tracker_.OnMemoryAllocatedChange(
+      CommandBufferId(), skia_gr_cache_size_, static_cast<uint64_t>(new_size));
   skia_gr_cache_size_ = static_cast<uint64_t>(new_size);
 }
 
diff --git a/gpu/command_buffer/service/sync_point_manager.cc b/gpu/command_buffer/service/sync_point_manager.cc
index 69856b5..cede4071 100644
--- a/gpu/command_buffer/service/sync_point_manager.cc
+++ b/gpu/command_buffer/service/sync_point_manager.cc
@@ -342,7 +342,7 @@
 
 scoped_refptr<SyncPointOrderData> SyncPointManager::CreateSyncPointOrderData() {
   base::AutoLock auto_lock(lock_);
-  SequenceId sequence_id = SequenceId::FromUnsafeValue(next_sequence_id_++);
+  SequenceId sequence_id = sequence_id_generator_.GenerateNextId();
   scoped_refptr<SyncPointOrderData> order_data =
       new SyncPointOrderData(this, sequence_id);
   DCHECK(!order_data_map_.count(sequence_id));
diff --git a/gpu/command_buffer/service/sync_point_manager.h b/gpu/command_buffer/service/sync_point_manager.h
index 8a44c18..c6fe88dc 100644
--- a/gpu/command_buffer/service/sync_point_manager.h
+++ b/gpu/command_buffer/service/sync_point_manager.h
@@ -338,7 +338,7 @@
   // Map of sequence id to order data.
   OrderDataMap order_data_map_;
 
-  uint32_t next_sequence_id_ = 1;
+  SequenceId::Generator sequence_id_generator_;
 
   mutable base::Lock lock_;
 
diff --git a/gpu/ipc/client/gpu_channel_host.cc b/gpu/ipc/client/gpu_channel_host.cc
index f269259..5f844cc 100644
--- a/gpu/ipc/client/gpu_channel_host.cc
+++ b/gpu/ipc/client/gpu_channel_host.cc
@@ -13,7 +13,6 @@
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread_restrictions.h"
 #include "base/threading/thread_task_runner_handle.h"
-#include "base/trace_event/trace_event.h"
 #include "build/build_config.h"
 #include "gpu/ipc/common/command_buffer_id.h"
 #include "gpu/ipc/common/gpu_messages.h"
@@ -21,6 +20,7 @@
 #include "gpu/ipc/common/gpu_watchdog_timeout.h"
 #include "ipc/ipc_channel_mojo.h"
 #include "ipc/ipc_sync_message.h"
+#include "ipc/trace_ipc_message.h"
 #include "mojo/public/cpp/bindings/lib/message_quota_checker.h"
 #include "url/gurl.h"
 
@@ -53,9 +53,7 @@
 }
 
 bool GpuChannelHost::Send(IPC::Message* msg) {
-  TRACE_EVENT2("ipc", "GpuChannelHost::Send", "class",
-               IPC_MESSAGE_ID_CLASS(msg->type()), "line",
-               IPC_MESSAGE_ID_LINE(msg->type()));
+  TRACE_IPC_MESSAGE_SEND("ipc", "GpuChannelHost::Send", msg);
 
   auto message = base::WrapUnique(msg);
 
diff --git a/infra/config/consoles/chromium.fyi.star b/infra/config/consoles/chromium.fyi.star
index 5b29e4f..35242128 100644
--- a/infra/config/consoles/chromium.fyi.star
+++ b/infra/config/consoles/chromium.fyi.star
@@ -156,6 +156,13 @@
             builder = 'ci/linux-wpt-fyi-rel',
             category = 'linux',
         ),
+        # Moved to the FYI console for being habitually flaky.
+        # https://crbug.com/1014673
+        luci.console_view_entry(
+            builder = 'ci/Leak Detection Linux',
+            category = 'linux',
+            short_name = 'lk',
+        ),
         luci.console_view_entry(
             builder = 'ci/Mojo Android',
             category = 'mojo',
diff --git a/infra/config/consoles/chromium.linux.star b/infra/config/consoles/chromium.linux.star
index cf5c2c0..fc4579b4 100644
--- a/infra/config/consoles/chromium.linux.star
+++ b/infra/config/consoles/chromium.linux.star
@@ -24,11 +24,6 @@
             short_name = 'det',
         ),
         luci.console_view_entry(
-            builder = 'ci/Leak Detection Linux',
-            category = 'release',
-            short_name = 'lk',
-        ),
-        luci.console_view_entry(
             builder = 'ci/linux-ozone-rel',
             category = 'release',
             short_name = 'ozo',
diff --git a/infra/config/consoles/main.star b/infra/config/consoles/main.star
index be89261..ce0123c 100644
--- a/infra/config/consoles/main.star
+++ b/infra/config/consoles/main.star
@@ -205,11 +205,6 @@
             short_name = 'det',
         ),
         luci.console_view_entry(
-            builder = 'ci/Leak Detection Linux',
-            category = 'chromium.linux|release',
-            short_name = 'lk',
-        ),
-        luci.console_view_entry(
             builder = 'ci/linux-ozone-rel',
             category = 'chromium.linux|release',
             short_name = 'ozo',
diff --git a/infra/config/generated/luci-milo.cfg b/infra/config/generated/luci-milo.cfg
index 7bfaab8..c62ab84 100644
--- a/infra/config/generated/luci-milo.cfg
+++ b/infra/config/generated/luci-milo.cfg
@@ -3050,6 +3050,11 @@
     category: "linux"
   >
   builders: <
+    name: "buildbucket/luci.chromium.ci/Leak Detection Linux"
+    category: "linux"
+    short_name: "lk"
+  >
+  builders: <
     name: "buildbucket/luci.chromium.ci/Mojo Android"
     category: "mojo"
     short_name: "and"
@@ -6833,11 +6838,6 @@
     short_name: "det"
   >
   builders: <
-    name: "buildbucket/luci.chromium.ci/Leak Detection Linux"
-    category: "release"
-    short_name: "lk"
-  >
-  builders: <
     name: "buildbucket/luci.chromium.ci/linux-ozone-rel"
     category: "release"
     short_name: "ozo"
@@ -10543,11 +10543,6 @@
     short_name: "det"
   >
   builders: <
-    name: "buildbucket/luci.chromium.ci/Leak Detection Linux"
-    category: "chromium.linux|release"
-    short_name: "lk"
-  >
-  builders: <
     name: "buildbucket/luci.chromium.ci/linux-ozone-rel"
     category: "chromium.linux|release"
     short_name: "ozo"
diff --git a/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm b/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm
index 24b74bb..fd48c2a 100644
--- a/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm
+++ b/ios/chrome/browser/browser_state/chrome_browser_state_impl_io_data.mm
@@ -220,7 +220,8 @@
   std::unique_ptr<net::HttpCache::BackendFactory> main_backend(
       new net::HttpCache::DefaultBackend(
           net::DISK_CACHE, net::CACHE_BACKEND_BLOCKFILE,
-          lazy_params_->cache_path, lazy_params_->cache_max_size));
+          lazy_params_->cache_path, lazy_params_->cache_max_size,
+          /*hard_reset=*/false));
   http_network_session_ = CreateHttpNetworkSession(*profile_params);
   main_http_factory_ = CreateMainHttpFactory(http_network_session_.get(),
                                              std::move(main_backend));
diff --git a/ios/chrome/browser/ui/activity_services/activity_service_controller_unittest.mm b/ios/chrome/browser/ui/activity_services/activity_service_controller_unittest.mm
index 1bf8000d..b24fbe0 100644
--- a/ios/chrome/browser/ui/activity_services/activity_service_controller_unittest.mm
+++ b/ios/chrome/browser/ui/activity_services/activity_service_controller_unittest.mm
@@ -6,6 +6,7 @@
 
 #import <MobileCoreServices/MobileCoreServices.h>
 
+#include "base/files/scoped_temp_dir.h"
 #include "base/strings/sys_string_conversions.h"
 #import "base/test/ios/wait_util.h"
 #include "base/test/scoped_feature_list.h"
@@ -181,6 +182,10 @@
   void SetUp() override {
     PlatformTest::SetUp();
     TestChromeBrowserState::Builder test_cbs_builder;
+
+    ASSERT_TRUE(state_dir_.CreateUniqueTempDir());
+    test_cbs_builder.SetPath(state_dir_.GetPath());
+
     chrome_browser_state_ = test_cbs_builder.Build();
     chrome_browser_state_->CreateBookmarkModel(false);
     bookmark_model_ = ios::BookmarkModelFactory::GetForBrowserState(
@@ -315,6 +320,11 @@
     EXPECT_FALSE(provider.fakePasswordFormFiller.methodCalled);
   }
 
+  // A state directory that outlives |task_environment_| is needed because
+  // CreateHistoryService/CreateBookmarkModel use the directory to host
+  // databases. See https://crbug.com/546640 for more details.
+  base::ScopedTempDir state_dir_;
+
   web::WebTaskEnvironment task_environment_;
   UIViewController* parentController_;
   ShareToData* shareData_;
diff --git a/ios/chrome/browser/ui/authentication/BUILD.gn b/ios/chrome/browser/ui/authentication/BUILD.gn
index dc2ae14..bf1e2c3 100644
--- a/ios/chrome/browser/ui/authentication/BUILD.gn
+++ b/ios/chrome/browser/ui/authentication/BUILD.gn
@@ -22,8 +22,6 @@
     "resized_avatar_cache.mm",
     "signed_in_accounts_view_controller.h",
     "signed_in_accounts_view_controller.mm",
-    "signin_account_selector_view_controller.h",
-    "signin_account_selector_view_controller.mm",
     "signin_promo_view_mediator.h",
     "signin_promo_view_mediator.mm",
   ]
@@ -33,7 +31,6 @@
     "unified_consent",
     "//base",
     "//components/consent_auditor",
-    "//components/google/core/common",
     "//components/infobars/core",
     "//components/prefs",
     "//components/signin/public/base",
@@ -46,17 +43,15 @@
     "//ios/chrome/browser",
     "//ios/chrome/browser/browser_state",
     "//ios/chrome/browser/infobars",
-    "//ios/chrome/browser/main",
+    "//ios/chrome/browser/main:public",
     "//ios/chrome/browser/metrics",
     "//ios/chrome/browser/signin",
     "//ios/chrome/browser/sync",
-    "//ios/chrome/browser/tabs",
     "//ios/chrome/browser/ui/alert_coordinator",
     "//ios/chrome/browser/ui/authentication/cells",
     "//ios/chrome/browser/ui/collection_view/cells",
     "//ios/chrome/browser/ui/colors",
     "//ios/chrome/browser/ui/commands",
-    "//ios/chrome/browser/ui/material_components",
     "//ios/chrome/browser/ui/settings:settings_root",
     "//ios/chrome/browser/ui/signin_interaction/public",
     "//ios/chrome/browser/ui/util",
@@ -66,11 +61,9 @@
     "//ios/chrome/common/colors",
     "//ios/chrome/common/ui_util",
     "//ios/public/provider/chrome/browser",
-    "//ios/public/provider/chrome/browser/images",
     "//ios/public/provider/chrome/browser/signin",
     "//ui/base",
     "//ui/gfx",
-    "//url",
   ]
   public_deps = [
     "//ios/chrome/browser/ui/collection_view",
@@ -119,8 +112,7 @@
     "//components/sync_preferences",
     "//components/sync_preferences:test_support",
     "//components/version_info",
-    "//ios/chrome/app/strings:ios_chromium_strings_grit",
-    "//ios/chrome/app/strings:ios_strings_grit",
+    "//ios/chrome/app/strings",
     "//ios/chrome/browser",
     "//ios/chrome/browser/browser_state:test_support",
     "//ios/chrome/browser/infobars",
@@ -166,7 +158,7 @@
     "//base/test:test_support",
     "//components/bookmarks/browser",
     "//components/signin/public/identity_manager",
-    "//ios/chrome/app/strings:ios_strings_grit",
+    "//ios/chrome/app/strings",
     "//ios/chrome/browser/bookmarks",
     "//ios/chrome/browser/browser_state",
     "//ios/chrome/browser/signin",
@@ -202,7 +194,7 @@
     "unified_consent",
     "//components/bookmarks/browser",
     "//components/signin/public/identity_manager",
-    "//ios/chrome/app/strings:ios_strings_grit",
+    "//ios/chrome/app/strings",
     "//ios/chrome/browser/bookmarks",
     "//ios/chrome/browser/browser_state",
     "//ios/chrome/browser/signin",
@@ -237,7 +229,7 @@
   deps = [
     "//base",
     "//base/test:test_support",
-    "//ios/chrome/app/strings:ios_strings_grit",
+    "//ios/chrome/app/strings",
     "//ios/chrome/browser/ui/authentication/cells:constants",
     "//ios/chrome/browser/ui/authentication/unified_consent:constants",
     "//ios/chrome/browser/ui/signin_interaction:eg_test_support+eg2",
diff --git a/ios/chrome/browser/ui/authentication/cells/BUILD.gn b/ios/chrome/browser/ui/authentication/cells/BUILD.gn
index a2c6b02..a6871c8 100644
--- a/ios/chrome/browser/ui/authentication/cells/BUILD.gn
+++ b/ios/chrome/browser/ui/authentication/cells/BUILD.gn
@@ -74,7 +74,6 @@
     "//ios/chrome/browser/ui/signin_interaction/public",
     "//ios/chrome/browser/ui/table_view:styler",
     "//ios/chrome/browser/ui/table_view/cells",
-    "//ios/chrome/browser/unified_consent",
     "//ios/chrome/common/colors",
     "//ios/chrome/test:test_support",
     "//ios/public/provider/chrome/browser/signin:test_support",
diff --git a/ios/chrome/browser/ui/authentication/chrome_signin_view_controller.mm b/ios/chrome/browser/ui/authentication/chrome_signin_view_controller.mm
index 982ff21..884b244 100644
--- a/ios/chrome/browser/ui/authentication/chrome_signin_view_controller.mm
+++ b/ios/chrome/browser/ui/authentication/chrome_signin_view_controller.mm
@@ -35,7 +35,6 @@
 #import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h"
 #import "ios/chrome/browser/ui/authentication/authentication_flow.h"
 #import "ios/chrome/browser/ui/authentication/authentication_ui_util.h"
-#include "ios/chrome/browser/ui/authentication/signin_account_selector_view_controller.h"
 #include "ios/chrome/browser/ui/authentication/unified_consent/unified_consent_coordinator.h"
 #import "ios/chrome/browser/ui/commands/application_commands.h"
 #import "ios/chrome/browser/ui/util/label_link_controller.h"
@@ -113,12 +112,9 @@
 enum AuthenticationState {
   // Initial state.
   NULL_STATE,
-  // Unified consent:
-  //   Shows UnifiedConsentUserController
-  // Non unified consent:
-  //   Shows SigninAccountSelectorViewController
   // Lets the user add an account and choose an identity. Once the dialog is
   // validated, the state transitions to SIGNIN_PENDING_STATE to sign in.
+  // The selection is done with UnifiedConsentUserController.
   IDENTITY_PICKER_STATE,
   // Signs in using AuthenticationFlow. If it fails, the state transitions back
   // to IDENTITY_PICKER_STATE.
@@ -133,7 +129,6 @@
     ChromeIdentityInteractionManagerDelegate,
     ChromeIdentityServiceObserver,
     MDCActivityIndicatorDelegate,
-    SigninAccountSelectorViewControllerDelegate,
     UIAdaptivePresentationControllerDelegate,
     UnifiedConsentCoordinatorDelegate>
 @property(nonatomic, strong) ChromeIdentity* selectedIdentity;
@@ -159,7 +154,6 @@
 
   // Basic state.
   AuthenticationState _currentState;
-  BOOL _ongoingStateChange;
   MDCActivityIndicator* _activityIndicator;
   MDCButton* _primaryButton;
   MDCButton* _secondaryButton;
@@ -168,7 +162,6 @@
   UIView* _embeddedView;
 
   // Identity picker state.
-  SigninAccountSelectorViewController* _accountSelectorVC;
   UnifiedConsentCoordinator* _unifiedConsentCoordinator;
 
   // Signin pending state.
@@ -286,7 +279,7 @@
 
 // Starts the sync engine only if the user tapped on "YES, I'm in", and closes
 // the sign-in view.
-- (void)signinCompletedWithUnity {
+- (void)signinCompleted {
   DCHECK(_didSignIn);
   // The consent has to be given as soon as the user is signed in. Even when
   // they open the settings through the link.
@@ -602,7 +595,7 @@
     DCHECK(!_didSignIn);
     _didSignIn = YES;
     [_delegate didSignIn:self];
-    [self signinCompletedWithUnity];
+    [self signinCompleted];
   } else {
     [self changeToState:IDENTITY_PICKER_STATE];
     [_unifiedConsentCoordinator resetSettingLinkTapped];
@@ -630,7 +623,6 @@
 #pragma mark - State machine
 
 - (void)enterState:(AuthenticationState)state {
-  _ongoingStateChange = NO;
   if (_didFinishSignIn) {
     // Stop the state machine when the sign-in is done.
     _currentState = DONE_STATE;
@@ -655,7 +647,6 @@
 - (void)changeToState:(AuthenticationState)nextState {
   if (_currentState == nextState)
     return;
-  _ongoingStateChange = YES;
   switch (_currentState) {
     case NULL_STATE:
       [self enterState:nextState];
@@ -1091,17 +1082,6 @@
   [self dismissViewControllerAnimated:animated completion:completion];
 }
 
-#pragma mark - SigninAccountSelectorViewControllerDelegate
-
-- (void)accountSelectorControllerDidSelectAddAccount:
-    (SigninAccountSelectorViewController*)accountSelectorController {
-  DCHECK_EQ(_accountSelectorVC, accountSelectorController);
-  if (_ongoingStateChange) {
-    return;
-  }
-  [self openAuthenticationDialogAddIdentity];
-}
-
 #pragma mark - UnifiedConsentCoordinatorDelegate
 
 - (void)unifiedConsentCoordinatorDidTapSettingsLink:
diff --git a/ios/chrome/browser/ui/authentication/signin_account_selector_view_controller.h b/ios/chrome/browser/ui/authentication/signin_account_selector_view_controller.h
deleted file mode 100644
index 5da4f4e..0000000
--- a/ios/chrome/browser/ui/authentication/signin_account_selector_view_controller.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_AUTHENTICATION_SIGNIN_ACCOUNT_SELECTOR_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_AUTHENTICATION_SIGNIN_ACCOUNT_SELECTOR_VIEW_CONTROLLER_H_
-
-#import <UIKit/UIKit.h>
-
-#import "ios/chrome/browser/ui/collection_view/collection_view_controller.h"
-
-@class ChromeIdentity;
-@class SigninAccountSelectorViewController;
-
-@protocol SigninAccountSelectorViewControllerDelegate
-
-// Informs the delegate that the user has tapped on the add account button.
-- (void)accountSelectorControllerDidSelectAddAccount:
-    (SigninAccountSelectorViewController*)accountSelectorController;
-
-@end
-
-// A collection view controller that allows the user to select the account to be
-// signed in.
-@interface SigninAccountSelectorViewController : CollectionViewController
-
-- (instancetype)init NS_DESIGNATED_INITIALIZER;
-
-- (instancetype)initWithLayout:(UICollectionViewLayout*)layout
-                         style:(CollectionViewControllerStyle)style
-    NS_UNAVAILABLE;
-
-@property(nonatomic, weak) id<SigninAccountSelectorViewControllerDelegate>
-    delegate;
-
-// Returns the identity that is selected or nil.
-- (ChromeIdentity*)selectedIdentity;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_AUTHENTICATION_SIGNIN_ACCOUNT_SELECTOR_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/authentication/signin_account_selector_view_controller.mm b/ios/chrome/browser/ui/authentication/signin_account_selector_view_controller.mm
deleted file mode 100644
index 760bf629..0000000
--- a/ios/chrome/browser/ui/authentication/signin_account_selector_view_controller.mm
+++ /dev/null
@@ -1,329 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ios/chrome/browser/ui/authentication/signin_account_selector_view_controller.h"
-
-#include <memory>
-
-#import "base/mac/foundation_util.h"
-#import "ios/chrome/browser/signin/chrome_identity_service_observer_bridge.h"
-#import "ios/chrome/browser/ui/authentication/resized_avatar_cache.h"
-#import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h"
-#import "ios/chrome/browser/ui/collection_view/cells/collection_view_account_item.h"
-#import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item.h"
-#import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
-#import "ios/chrome/browser/ui/material_components/chrome_app_bar_view_controller.h"
-#import "ios/chrome/common/ui_util/constraints_ui_util.h"
-#include "ios/chrome/grit/ios_chromium_strings.h"
-#include "ios/chrome/grit/ios_strings.h"
-#include "ios/public/provider/chrome/browser/chrome_browser_provider.h"
-#import "ios/public/provider/chrome/browser/signin/chrome_identity.h"
-#include "ios/public/provider/chrome/browser/signin/chrome_identity_service.h"
-#import "ios/third_party/material_components_ios/src/components/Palettes/src/MaterialPalettes.h"
-#import "ios/third_party/material_components_ios/src/components/Typography/src/MaterialTypography.h"
-#import "ui/base/l10n/l10n_util.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-namespace {
-const CGFloat kHeaderViewMinHeight = 100.;
-const CGFloat kHeaderViewHeightMultiplier = 0.33;
-const CGFloat kContentViewBottomInset = 40.;
-
-typedef NS_ENUM(NSInteger, SectionIdentifier) {
-  SectionIdentifierTitle = kSectionIdentifierEnumZero,
-  SectionIdentifierAccounts,
-  SectionIdentifierAddAccount,
-};
-
-typedef NS_ENUM(NSInteger, ItemType) {
-  ItemTypeTitle = kItemTypeEnumZero,
-  ItemTypeAccount,
-  ItemTypeAddAccount,
-};
-}  // namespace
-
-@interface SigninAccountSelectorViewController ()<
-    ChromeIdentityServiceObserver> {
-  std::unique_ptr<ChromeIdentityServiceObserverBridge> _identityServiceObserver;
-  // Cache for account avatar images.
-  ResizedAvatarCache* _avatarCache;
-}
-@end
-
-@implementation SigninAccountSelectorViewController
-
-@synthesize delegate = _delegate;
-
-- (instancetype)init {
-  UICollectionViewLayout* layout = [[MDCCollectionViewFlowLayout alloc] init];
-  self =
-      [super initWithLayout:layout style:CollectionViewControllerStyleAppBar];
-  if (self) {
-    _identityServiceObserver.reset(
-        new ChromeIdentityServiceObserverBridge(self));
-    _avatarCache = [[ResizedAvatarCache alloc] init];
-  }
-  return self;
-}
-
-#pragma mark - UIViewController
-
-- (void)viewDidLoad {
-  [super viewDidLoad];
-
-  // Configure the header.
-  MDCFlexibleHeaderView* headerView = self.appBarViewController.headerView;
-  headerView.canOverExtend = YES;
-  headerView.maximumHeight = 200;
-  headerView.backgroundColor = [UIColor whiteColor];
-  headerView.shiftBehavior = MDCFlexibleHeaderShiftBehaviorEnabled;
-  [headerView addSubview:[self contentViewWithFrame:headerView.bounds]];
-  self.appBarViewController.navigationBar.hidesBackButton = YES;
-  self.collectionView.backgroundColor = [UIColor clearColor];
-  [headerView changeContentInsets:^{
-    UIEdgeInsets contentInset = self.collectionView.contentInset;
-    contentInset.bottom += kContentViewBottomInset;
-    self.collectionView.contentInset = contentInset;
-  }];
-
-  // Load the contents of the collection view.
-  [self loadModel];
-}
-
-- (UIView*)contentViewWithFrame:(CGRect)frame {
-  UIView* contentView = [[UIView alloc] initWithFrame:frame];
-  contentView.autoresizingMask =
-      (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
-  contentView.clipsToBounds = YES;
-
-  UILabel* titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
-  titleLabel.text =
-      l10n_util::GetNSString(IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_TITLE);
-  titleLabel.textColor = [[MDCPalette greyPalette] tint900];
-  titleLabel.font = [MDCTypography headlineFont];
-  titleLabel.translatesAutoresizingMaskIntoConstraints = NO;
-
-  UIView* divider = [[UIView alloc] initWithFrame:CGRectZero];
-  divider.backgroundColor = [[MDCPalette greyPalette] tint300];
-  divider.translatesAutoresizingMaskIntoConstraints = NO;
-
-  UILayoutGuide* layoutGuide1 = [[UILayoutGuide alloc] init];
-  UILayoutGuide* layoutGuide2 = [[UILayoutGuide alloc] init];
-
-  [contentView addSubview:titleLabel];
-  [contentView addSubview:divider];
-  [contentView addLayoutGuide:layoutGuide1];
-  [contentView addLayoutGuide:layoutGuide2];
-
-  NSDictionary* views = @{
-    @"title" : titleLabel,
-    @"divider" : divider,
-    @"v1" : layoutGuide1,
-    @"v2" : layoutGuide2
-  };
-  NSArray* constraints = @[
-    @"V:[title]-(16)-[divider(==1)]|",
-    @"H:|[v1(16)][title(<=440)][v2(>=v1)]|",
-    @"H:|[divider]|",
-  ];
-  ApplyVisualConstraints(constraints, views);
-  return contentView;
-}
-
-- (void)viewWillLayoutSubviews {
-  CGSize viewSize = self.view.bounds.size;
-  MDCFlexibleHeaderView* headerView = self.appBarViewController.headerView;
-  headerView.maximumHeight =
-      MAX(kHeaderViewMinHeight, kHeaderViewHeightMultiplier * viewSize.height);
-}
-
-#pragma mark - Model
-
-- (void)loadModel {
-  [super loadModel];
-  CollectionViewModel* model = self.collectionViewModel;
-  [model addSectionWithIdentifier:SectionIdentifierTitle];
-  [model addItem:[self titleItem]
-      toSectionWithIdentifier:SectionIdentifierTitle];
-
-  [model addSectionWithIdentifier:SectionIdentifierAccounts];
-  NSArray* identities = ios::GetChromeBrowserProvider()
-                            ->GetChromeIdentityService()
-                            ->GetAllIdentitiesSortedForDisplay();
-  if ([identities count]) {
-    for (NSUInteger i = 0; i < [identities count]; ++i) {
-      [model addItem:[self accountItemForIdentity:identities[i]
-                                          checked:(i == 0)]
-          toSectionWithIdentifier:SectionIdentifierAccounts];
-    }
-    [model addSectionWithIdentifier:SectionIdentifierAddAccount];
-    [model addItem:[self addAccountItem]
-        toSectionWithIdentifier:SectionIdentifierAddAccount];
-  }
-}
-
-- (CollectionViewItem*)titleItem {
-  // TODO(crbug.com/662549) : Rename FooterItem to be used as regular item.
-  CollectionViewFooterItem* item =
-      [[CollectionViewFooterItem alloc] initWithType:ItemTypeTitle];
-  item.text =
-      l10n_util::GetNSString(IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_DESCRIPTION);
-  return item;
-}
-
-- (CollectionViewItem*)accountItemForIdentity:(ChromeIdentity*)identity
-                                      checked:(BOOL)isChecked {
-  CollectionViewAccountItem* item =
-      [[CollectionViewAccountItem alloc] initWithType:ItemTypeAccount];
-  [self updateAccountItem:item withIdentity:identity];
-  if (isChecked) {
-    item.accessoryType = MDCCollectionViewCellAccessoryCheckmark;
-  }
-  return item;
-}
-
-- (void)updateAccountItem:(CollectionViewAccountItem*)item
-             withIdentity:(ChromeIdentity*)identity {
-  item.image = [_avatarCache resizedAvatarForIdentity:identity];
-  item.text = identity.userEmail;
-  item.chromeIdentity = identity;
-}
-
-- (CollectionViewItem*)addAccountItem {
-  CollectionViewAccountItem* item =
-      [[CollectionViewAccountItem alloc] initWithType:ItemTypeAddAccount];
-  item.text = l10n_util::GetNSString(
-      IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_ADD_ACCOUNT_BUTTON);
-  item.image = [UIImage imageNamed:@"settings_accounts_add_account"];
-  return item;
-}
-
-- (ChromeIdentity*)selectedIdentity {
-  NSArray* accountItems = [self.collectionViewModel
-      itemsInSectionWithIdentifier:SectionIdentifierAccounts];
-  for (CollectionViewAccountItem* accountItem in accountItems) {
-    if (accountItem.accessoryType == MDCCollectionViewCellAccessoryCheckmark) {
-      return accountItem.chromeIdentity;
-    }
-  }
-  return nil;
-}
-
-#pragma mark - UICollectionViewDelegate
-
-- (void)collectionView:(UICollectionView*)collectionView
-    didSelectItemAtIndexPath:(NSIndexPath*)indexPath {
-  [super collectionView:collectionView didSelectItemAtIndexPath:indexPath];
-  CollectionViewItem* item =
-      [self.collectionViewModel itemAtIndexPath:indexPath];
-  if (item.type == ItemTypeAccount) {
-    CollectionViewAccountItem* selectedAccountItem =
-        base::mac::ObjCCastStrict<CollectionViewAccountItem>(item);
-    // TODO(crbug.com/631486) : Checkmark animation.
-    selectedAccountItem.accessoryType = MDCCollectionViewCellAccessoryCheckmark;
-
-    NSMutableArray<CollectionViewItem*>* reloadItems =
-        [[NSMutableArray alloc] init];
-    [reloadItems addObject:selectedAccountItem];
-
-    // Uncheck all the other account items.
-    NSArray* accountItems = [self.collectionViewModel
-        itemsInSectionWithIdentifier:SectionIdentifierAccounts];
-    for (CollectionViewAccountItem* accountItem in accountItems) {
-      if (accountItem != selectedAccountItem &&
-          accountItem.accessoryType != MDCCollectionViewCellAccessoryNone) {
-        // TODO(crbug.com/631486) : Checkmark animation.
-        accountItem.accessoryType = MDCCollectionViewCellAccessoryNone;
-        [reloadItems addObject:accountItem];
-      }
-    }
-    [self reconfigureCellsForItems:reloadItems];
-  } else if (item.type == ItemTypeAddAccount) {
-    [self.delegate accountSelectorControllerDidSelectAddAccount:self];
-  }
-}
-
-#pragma mark - ChromeIdentityServiceObserver
-
-- (void)identityListChanged {
-  ChromeIdentity* selectedIdentity = [self selectedIdentity];
-  [self loadModel];
-  [self.collectionView reloadData];
-
-  // Reselect the identity.
-  if (!selectedIdentity) {
-    return;
-  }
-  NSArray* accountItems = [self.collectionViewModel
-      itemsInSectionWithIdentifier:SectionIdentifierAccounts];
-  for (CollectionViewAccountItem* accountItem in accountItems) {
-    if ([accountItem.chromeIdentity.gaiaID
-            isEqualToString:selectedIdentity.gaiaID]) {
-      accountItem.accessoryType = MDCCollectionViewCellAccessoryCheckmark;
-    } else {
-      accountItem.accessoryType = MDCCollectionViewCellAccessoryNone;
-    }
-  }
-}
-
-- (void)chromeIdentityServiceWillBeDestroyed {
-  _identityServiceObserver.reset();
-}
-
-#pragma mark UICollectionViewDataSource
-
-- (UICollectionViewCell*)collectionView:(UICollectionView*)collectionView
-                 cellForItemAtIndexPath:(NSIndexPath*)indexPath {
-  MDCCollectionViewCell* cell =
-      [super collectionView:collectionView cellForItemAtIndexPath:indexPath];
-  CollectionViewItem* item =
-      [self.collectionViewModel itemAtIndexPath:indexPath];
-
-  if (item.type == ItemTypeAccount || item.type == ItemTypeAddAccount) {
-    CollectionViewAccountCell* accountCell =
-        base::mac::ObjCCastStrict<CollectionViewAccountCell>(cell);
-    accountCell.textLabel.font = [MDCTypography body1Font];
-    accountCell.textLabel.textColor = [[MDCPalette greyPalette] tint900];
-  } else if (item.type == ItemTypeTitle) {
-    CollectionViewFooterCell* titleCell =
-        base::mac::ObjCCastStrict<CollectionViewFooterCell>(cell);
-    titleCell.textLabel.font = [MDCTypography body1Font];
-    titleCell.textLabel.textColor = [[MDCPalette greyPalette] tint900];
-    titleCell.horizontalPadding = 16;
-  }
-  cell.shouldHideSeparator = YES;
-  return cell;
-}
-
-#pragma mark - MDCCollectionViewStylingDelegate
-
-- (CGFloat)collectionView:(UICollectionView*)collectionView
-    cellHeightAtIndexPath:(NSIndexPath*)indexPath {
-  CollectionViewItem* item =
-      [self.collectionViewModel itemAtIndexPath:indexPath];
-
-  if (item.type == ItemTypeTitle) {
-    return [MDCCollectionViewCell
-        cr_preferredHeightForWidth:CGRectGetWidth(collectionView.bounds)
-                           forItem:item];
-  }
-  return MDCCellDefaultTwoLineHeight;
-}
-
-- (BOOL)collectionView:(UICollectionView*)collectionView
-    hidesInkViewAtIndexPath:(NSIndexPath*)indexPath {
-  NSInteger itemType =
-      [self.collectionViewModel itemTypeForIndexPath:indexPath];
-  return (itemType == ItemTypeTitle);
-}
-
-- (BOOL)collectionView:(nonnull UICollectionView*)collectionView
-    shouldHideItemBackgroundAtIndexPath:(nonnull NSIndexPath*)indexPath {
-  return YES;
-}
-
-@end
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.h b/ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.h
index 94c66c2..9955265 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.h
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.h
@@ -17,6 +17,10 @@
 class ManagedBookmarkService;
 }  // namespace bookmarks
 
+namespace base {
+class ScopedTempDir;
+}  // namespace base
+
 class TestChromeBrowserState;
 
 // Provides common bookmark testing infrastructure.
@@ -35,6 +39,11 @@
       NSString* title);
   void ChangeTitle(NSString* title, const bookmarks::BookmarkNode* node);
 
+  // A state directory that outlives |task_environment_| is needed because
+  // CreateHistoryService/CreateBookmarkModel use the directory to host
+  // databases. See https://crbug.com/546640 for more details.
+  std::unique_ptr<base::ScopedTempDir> state_dir_;
+
   web::WebTaskEnvironment task_environment_;
   std::unique_ptr<TestChromeBrowserState> chrome_browser_state_;
   bookmarks::BookmarkModel* _bookmarkModel;
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.mm b/ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.mm
index 541b604..746a55d 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.mm
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.mm
@@ -3,7 +3,9 @@
 // found in the LICENSE file.
 
 #include "ios/chrome/browser/ui/bookmarks/bookmark_ios_unittest.h"
+#include <memory>
 
+#include "base/files/scoped_temp_dir.h"
 #include "base/strings/sys_string_conversions.h"
 #include "components/bookmarks/browser/bookmark_model.h"
 #include "components/bookmarks/test/bookmark_test_helpers.h"
@@ -23,6 +25,11 @@
 void BookmarkIOSUnitTest::SetUp() {
   // Get a BookmarkModel from the test ChromeBrowserState.
   TestChromeBrowserState::Builder test_cbs_builder;
+
+  state_dir_ = std::make_unique<base::ScopedTempDir>();
+  ASSERT_TRUE(state_dir_->CreateUniqueTempDir());
+  test_cbs_builder.SetPath(state_dir_->GetPath());
+
   chrome_browser_state_ = test_cbs_builder.Build();
   chrome_browser_state_->CreateBookmarkModel(true);
 
diff --git a/ios/chrome/browser/ui/browser_view/BUILD.gn b/ios/chrome/browser/ui/browser_view/BUILD.gn
index 835e9e12..4b74879 100644
--- a/ios/chrome/browser/ui/browser_view/BUILD.gn
+++ b/ios/chrome/browser/ui/browser_view/BUILD.gn
@@ -139,6 +139,8 @@
     "//ios/chrome/browser/ui/tabs",
     "//ios/chrome/browser/ui/tabs:coordinator",
     "//ios/chrome/browser/ui/tabs/requirements",
+    "//ios/chrome/browser/ui/text_zoom",
+    "//ios/chrome/browser/ui/text_zoom:text_zoom_ui",
     "//ios/chrome/browser/ui/toolbar",
     "//ios/chrome/browser/ui/toolbar:toolbar_ui",
     "//ios/chrome/browser/ui/toolbar/accessory",
diff --git a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
index 03abeaaad..aa0decb 100644
--- a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
@@ -129,6 +129,8 @@
 #import "ios/chrome/browser/ui/tabs/requirements/tab_strip_presentation.h"
 #import "ios/chrome/browser/ui/tabs/switch_to_tab_animation_view.h"
 #import "ios/chrome/browser/ui/tabs/tab_strip_legacy_coordinator.h"
+#import "ios/chrome/browser/ui/text_zoom/text_zoom_coordinator.h"
+#import "ios/chrome/browser/ui/text_zoom/text_zoom_view_controller.h"
 #import "ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_coordinator_delegate.h"
 #import "ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_presenter.h"
 #import "ios/chrome/browser/ui/toolbar/adaptive_toolbar_coordinator.h"
@@ -558,6 +560,11 @@
 // Coordinator for find in page.
 @property(nonatomic, strong) FindBarCoordinator* findBarCoordinator;
 
+// Coordinator for text zoom.
+@property(nonatomic, strong) TextZoomCoordinator* textZoomCoordinator;
+
+@property(nonatomic, weak) ChromeCoordinator* nextToolbarCoordinator;
+
 @property(nonatomic, strong) BubblePresenter* bubblePresenter;
 
 // Primary toolbar.
@@ -1011,7 +1018,7 @@
                                                     .viewController.view
                                 headerBehaviour:Hideable]];
     }
-    if (self.toolbarAccessoryPresenter.backgroundView) {
+    if (self.toolbarAccessoryPresenter.isPresenting) {
       [results addObject:[HeaderDefinition
                              definitionWithView:self.toolbarAccessoryPresenter
                                                     .backgroundView
@@ -1269,7 +1276,7 @@
     auto* findHelper = FindTabHelper::FromWebState(webState);
     if (findHelper) {
       findHelper->StopFinding(^{
-        [self.findBarCoordinator hideFindBarWithAnimation:YES];
+        [self.findBarCoordinator stop];
       });
     }
   }
@@ -1667,7 +1674,7 @@
   // updateToobar];
   if (ShouldShowCompactToolbar(previousTraitCollection) !=
       ShouldShowCompactToolbar()) {
-    [self.findBarCoordinator hideFindBarWithAnimation:NO];
+    [self.findBarCoordinator stop];
   }
 
   // Update the toolbar visibility.
@@ -2360,7 +2367,7 @@
 
   if (!self.inNewTabAnimation) {
     // Hide findbar.  |updateToolbar| will restore the findbar later.
-    [self.findBarCoordinator hideFindBarWithAnimation:NO];
+    [self.findBarCoordinator stop];
 
     // Make new content visible, resizing it first as the orientation may
     // have changed from the last time it was displayed.
@@ -2452,7 +2459,7 @@
 
   auto* findHelper = FindTabHelper::FromWebState(webState);
   if (findHelper && findHelper->IsFindUIActive()) {
-    [self.findBarCoordinator showFindBarAnimated:NO];
+    [self.findBarCoordinator start];
   }
 
   BOOL hideToolbar = NO;
@@ -4045,30 +4052,27 @@
   if (!self.canShowFindBar)
     return;
 
-  if (!self.toolbarAccessoryPresenter) {
-    self.toolbarAccessoryPresenter =
-        [[ToolbarAccessoryPresenter alloc] initWithIsIncognito:_isOffTheRecord];
-    self.toolbarAccessoryPresenter.baseViewController = self;
+  if (self.toolbarAccessoryPresenter.isPresenting) {
+    self.nextToolbarCoordinator = self.findBarCoordinator;
+    [self hideTextZoom];
+    return;
   }
 
-  if (!self.findBarCoordinator) {
-    self.findBarCoordinator =
-        [[FindBarCoordinator alloc] initWithBaseViewController:self
-                                                       browser:self.browser];
-    self.findBarCoordinator.presenter = self.toolbarAccessoryPresenter;
-    self.findBarCoordinator.delegate = self;
-
-    [self.findBarCoordinator start];
-  }
-  [self.findBarCoordinator startFindInPage];
+  [self.findBarCoordinator start];
 }
 
 - (void)closeFindInPage {
   __weak BrowserViewController* weakSelf = self;
   if (self.currentWebState) {
-    FindTabHelper::FromWebState(self.currentWebState)->StopFinding(^{
-      [weakSelf.findBarCoordinator hideFindBarWithAnimation:YES];
-    });
+    FindTabHelper* findTabHelper =
+        FindTabHelper::FromWebState(self.currentWebState);
+    if (findTabHelper->IsFindUIActive()) {
+      findTabHelper->StopFinding(^{
+        [weakSelf.findBarCoordinator stop];
+      });
+    } else {
+      [self.findBarCoordinator stop];
+    }
   }
 }
 
@@ -4206,6 +4210,20 @@
   }
 }
 
+- (void)showTextZoom {
+  if (self.toolbarAccessoryPresenter.isPresenting) {
+    self.nextToolbarCoordinator = self.textZoomCoordinator;
+    [self closeFindInPage];
+    return;
+  }
+
+  [self.textZoomCoordinator start];
+}
+
+- (void)hideTextZoom {
+  [self.textZoomCoordinator stop];
+}
+
 #pragma mark - BrowserCommands helpers
 
 // Reloads the original url of the last non-redirect item (including non-history
@@ -4261,7 +4279,7 @@
     return;
 
   // Remove the find bar for now.
-  [self.findBarCoordinator hideFindBarWithAnimation:NO];
+  [self.findBarCoordinator stop];
 }
 
 - (void)webStateList:(WebStateList*)webStateList
@@ -4538,7 +4556,7 @@
   } else {
     // Hide UI accessories such as find bar and first visit overlays
     // for welcome page.
-    [self.findBarCoordinator hideFindBarWithAnimation:NO];
+    [self.findBarCoordinator stop];
     [self.infobarContainerCoordinator hideContainer:YES];
   }
 }
@@ -4719,6 +4737,59 @@
                    atOffset:[self currentHeaderOffset]];
 }
 
+- (void)toolbarAccessoryCoordinatorDidDismissUI:
+    (ChromeCoordinator*)coordinator {
+  if (self.nextToolbarCoordinator == self.findBarCoordinator) {
+    dispatch_async(dispatch_get_main_queue(), ^{
+      [self showFindInPage];
+    });
+    self.nextToolbarCoordinator = nil;
+  } else if (self.nextToolbarCoordinator == self.textZoomCoordinator) {
+    dispatch_async(dispatch_get_main_queue(), ^{
+      [self showTextZoom];
+    });
+    self.nextToolbarCoordinator = nil;
+  }
+}
+
+#pragma mark - Toolbar Accessory Methods
+
+- (ToolbarAccessoryPresenter*)toolbarAccessoryPresenter {
+  if (_toolbarAccessoryPresenter) {
+    return _toolbarAccessoryPresenter;
+  }
+
+  _toolbarAccessoryPresenter =
+      [[ToolbarAccessoryPresenter alloc] initWithIsIncognito:_isOffTheRecord];
+  _toolbarAccessoryPresenter.baseViewController = self;
+  return _toolbarAccessoryPresenter;
+}
+
+- (FindBarCoordinator*)findBarCoordinator {
+  if (_findBarCoordinator) {
+    return _findBarCoordinator;
+  }
+  _findBarCoordinator =
+      [[FindBarCoordinator alloc] initWithBaseViewController:self
+                                                     browser:self.browser];
+  _findBarCoordinator.presenter = self.toolbarAccessoryPresenter;
+  _findBarCoordinator.delegate = self;
+
+  return _findBarCoordinator;
+}
+
+- (TextZoomCoordinator*)textZoomCoordinator {
+  if (_textZoomCoordinator) {
+    return _textZoomCoordinator;
+  }
+  _textZoomCoordinator =
+      [[TextZoomCoordinator alloc] initWithBaseViewController:self
+                                                      browser:self.browser];
+  _textZoomCoordinator.presenter = self.toolbarAccessoryPresenter;
+  _textZoomCoordinator.delegate = self;
+  return _textZoomCoordinator;
+}
+
 #pragma mark - ManageAccountsDelegate
 
 - (void)onManageAccounts {
diff --git a/ios/chrome/browser/ui/commands/browser_commands.h b/ios/chrome/browser/ui/commands/browser_commands.h
index a1aeffe2..cfb41c36 100644
--- a/ios/chrome/browser/ui/commands/browser_commands.h
+++ b/ios/chrome/browser/ui/commands/browser_commands.h
@@ -116,6 +116,12 @@
 // prevent interaction with the web page.
 - (void)showActivityOverlay:(BOOL)show;
 
+// Shows the Text Zoom UI.
+- (void)showTextZoom;
+
+// Dismisses the Text Zoom UI.
+- (void)hideTextZoom;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_COMMANDS_BROWSER_COMMANDS_H_
diff --git a/ios/chrome/browser/ui/find_bar/find_bar_controller_ios.h b/ios/chrome/browser/ui/find_bar/find_bar_controller_ios.h
index 9c248b85..85edd86 100644
--- a/ios/chrome/browser/ui/find_bar/find_bar_controller_ios.h
+++ b/ios/chrome/browser/ui/find_bar/find_bar_controller_ios.h
@@ -13,8 +13,8 @@
 
 @interface FindBarControllerIOS : NSObject
 
-// The dispatcher for sending browser commands.
-@property(nonatomic, weak) id<BrowserCommands> dispatcher;
+// The command handler for browser commands.
+@property(nonatomic, weak) id<BrowserCommands> commandHandler;
 // The view controller containing all the buttons and textfields that is common
 // between iPhone and iPad.
 @property(nonatomic, strong, readonly)
diff --git a/ios/chrome/browser/ui/find_bar/find_bar_controller_ios.mm b/ios/chrome/browser/ui/find_bar/find_bar_controller_ios.mm
index 5ebb92bc..2267b2c 100644
--- a/ios/chrome/browser/ui/find_bar/find_bar_controller_ios.mm
+++ b/ios/chrome/browser/ui/find_bar/find_bar_controller_ios.mm
@@ -89,7 +89,7 @@
                 action:@selector(editingChanged)
       forControlEvents:UIControlEventEditingChanged];
   [_findBarViewController.findBarView.nextButton
-             addTarget:self.dispatcher
+             addTarget:self.commandHandler
                 action:@selector(findNextStringInPage)
       forControlEvents:UIControlEventTouchUpInside];
   [_findBarViewController.findBarView.nextButton
@@ -97,7 +97,7 @@
                 action:@selector(hideKeyboard:)
       forControlEvents:UIControlEventTouchUpInside];
   [_findBarViewController.findBarView.previousButton
-             addTarget:self.dispatcher
+             addTarget:self.commandHandler
                 action:@selector(findPreviousStringInPage)
       forControlEvents:UIControlEventTouchUpInside];
   [_findBarViewController.findBarView.previousButton
@@ -105,7 +105,7 @@
                 action:@selector(hideKeyboard:)
       forControlEvents:UIControlEventTouchUpInside];
   [_findBarViewController.findBarView.closeButton
-             addTarget:self.dispatcher
+             addTarget:self.commandHandler
                 action:@selector(closeFindInPage)
       forControlEvents:UIControlEventTouchUpInside];
 
@@ -203,7 +203,7 @@
   [self.delayTimer invalidate];
   NSUInteger length = [[self searchTerm] length];
   if (length == 0) {
-    [self.dispatcher searchFindInPage];
+    [self.commandHandler searchFindInPage];
     return;
   }
 
@@ -214,7 +214,7 @@
       (length > kSearchDelayChars) ? kSearchShortDelay : kSearchLongDelay;
   self.delayTimer =
       [NSTimer scheduledTimerWithTimeInterval:delay
-                                       target:self.dispatcher
+                                       target:self.commandHandler
                                      selector:@selector(searchFindInPage)
                                      userInfo:nil
                                       repeats:NO];
diff --git a/ios/chrome/browser/ui/find_bar/find_bar_coordinator.h b/ios/chrome/browser/ui/find_bar/find_bar_coordinator.h
index 4d25d76..7fa4d21 100644
--- a/ios/chrome/browser/ui/find_bar/find_bar_coordinator.h
+++ b/ios/chrome/browser/ui/find_bar/find_bar_coordinator.h
@@ -25,15 +25,6 @@
 // make the transition easier.
 @property(nonatomic, strong) FindBarControllerIOS* findBarController;
 
-// Starts the Find In Page process.
-- (void)startFindInPage;
-
-// Shows the Find Bar UI.
-- (void)showFindBarAnimated:(BOOL)animated;
-
-// Hides the Find Bar UI.
-- (void)hideFindBarWithAnimation:(BOOL)animated;
-
 // Defocuses the Find Bar text field.
 - (void)defocusFindBar;
 
diff --git a/ios/chrome/browser/ui/find_bar/find_bar_coordinator.mm b/ios/chrome/browser/ui/find_bar/find_bar_coordinator.mm
index 6329294b..42133b0 100644
--- a/ios/chrome/browser/ui/find_bar/find_bar_coordinator.mm
+++ b/ios/chrome/browser/ui/find_bar/find_bar_coordinator.mm
@@ -24,36 +24,48 @@
 @interface FindBarCoordinator () <FindInPageResponseDelegate,
                                   ContainedPresenterDelegate>
 
+// Command handler for |BrowserCommand|s.
+@property(nonatomic, readonly) id<BrowserCommands> browserCommandHandler;
+
 @end
 
 @implementation FindBarCoordinator
 
 - (void)start {
-  self.findBarController = [[FindBarControllerIOS alloc]
-      initWithIncognito:self.browserState->IsOffTheRecord()];
+  if (!self.findBarController) {
+    self.findBarController = [[FindBarControllerIOS alloc]
+        initWithIncognito:self.browserState->IsOffTheRecord()];
 
+    self.findBarController.commandHandler = self.browserCommandHandler;
+  }
   self.presenter.delegate = self;
 
-  self.findBarController.dispatcher =
-      static_cast<id<BrowserCommands>>(self.browser->GetCommandDispatcher());
-}
-
-- (void)startFindInPage {
   DCHECK(self.currentWebState);
   FindTabHelper* helper = FindTabHelper::FromWebState(self.currentWebState);
-  DCHECK(!helper->IsFindUIActive());
-  helper->SetResponseDelegate(self);
-  helper->SetFindUIActive(true);
-
-  [self showFindBarAnimated:YES shouldFocus:YES];
+  // If the FindUI is already active, just reshow it.
+  if (helper->IsFindUIActive()) {
+    [self showAnimated:NO shouldFocus:[self.findBarController isFocused]];
+  } else {
+    DCHECK(!helper->IsFindUIActive());
+    helper->SetResponseDelegate(self);
+    helper->SetFindUIActive(true);
+    [self showAnimated:YES shouldFocus:YES];
+  }
 }
 
-- (void)showFindBarAnimated:(BOOL)animated {
-  [self showFindBarAnimated:animated
-                shouldFocus:[self.findBarController isFocused]];
+- (void)stop {
+  if (!self.presenter.isPresenting) {
+    return;
+  }
+  FindTabHelper* helper = FindTabHelper::FromWebState(self.currentWebState);
+  // If the FindUI is still active, the dismiss should be unanimated, because
+  // the UI will be brought back later.
+  BOOL animated = helper && !helper->IsFindUIActive();
+  [self.findBarController findBarViewWillHide];
+  [self.presenter dismissAnimated:animated];
 }
 
-- (void)showFindBarAnimated:(BOOL)animated shouldFocus:(BOOL)shouldFocus {
+- (void)showAnimated:(BOOL)animated shouldFocus:(BOOL)shouldFocus {
   self.presenter.presentedViewController =
       self.findBarController.findBarViewController;
 
@@ -77,11 +89,6 @@
                       focusTextfield:shouldFocus];
 }
 
-- (void)hideFindBarWithAnimation:(BOOL)animated {
-  [self.findBarController findBarViewWillHide];
-  [self.presenter dismissAnimated:animated];
-}
-
 - (void)defocusFindBar {
   FindTabHelper* helper = FindTabHelper::FromWebState(self.currentWebState);
   if (helper && helper->IsFindUIActive()) {
@@ -98,7 +105,7 @@
 }
 
 - (void)findDidStop {
-  [self hideFindBarWithAnimation:YES];
+  [self.browserCommandHandler closeFindInPage];
 }
 
 #pragma mark - ContainedPresenterDelegate
@@ -109,6 +116,7 @@
 
 - (void)containedPresenterDidDismiss:(id<ContainedPresenter>)presenter {
   [self.findBarController findBarViewDidHide];
+  [self.delegate toolbarAccessoryCoordinatorDidDismissUI:self];
 }
 
 #pragma mark - Private
@@ -119,4 +127,9 @@
              : nullptr;
 }
 
+- (id<BrowserCommands>)browserCommandHandler {
+  return HandlerForProtocol(self.browser->GetCommandDispatcher(),
+                            BrowserCommands);
+}
+
 @end
diff --git a/ios/chrome/browser/ui/location_bar/location_bar_coordinator_unittest.mm b/ios/chrome/browser/ui/location_bar/location_bar_coordinator_unittest.mm
index 7cdc8e8..3c6cff3 100644
--- a/ios/chrome/browser/ui/location_bar/location_bar_coordinator_unittest.mm
+++ b/ios/chrome/browser/ui/location_bar/location_bar_coordinator_unittest.mm
@@ -8,6 +8,7 @@
 #include <string>
 #include <vector>
 
+#include "base/files/scoped_temp_dir.h"
 #include "components/omnibox/browser/test_location_bar_model.h"
 #include "components/variations/variations_http_header_provider.h"
 #include "ios/chrome/browser/autocomplete/autocomplete_classifier_factory.h"
@@ -70,6 +71,10 @@
     PlatformTest::SetUp();
 
     TestChromeBrowserState::Builder test_cbs_builder;
+
+    ASSERT_TRUE(state_dir_.CreateUniqueTempDir());
+    test_cbs_builder.SetPath(state_dir_.GetPath());
+
     test_cbs_builder.AddTestingFactory(
         ios::TemplateURLServiceFactory::GetInstance(),
         ios::TemplateURLServiceFactory::GetDefaultFactory());
@@ -119,6 +124,11 @@
     PlatformTest::TearDown();
   }
 
+  // A state directory that outlives |task_environment_| is needed because
+  // CreateHistoryService/CreateBookmarkModel use the directory to host
+  // databases. See https://crbug.com/546640 for more details.
+  base::ScopedTempDir state_dir_;
+
   web::WebTaskEnvironment task_environment_;
   LocationBarCoordinator* coordinator_;
   std::unique_ptr<TestChromeBrowserState> browser_state_;
diff --git a/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.mm b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.mm
index 93690b8..779ab9eb 100644
--- a/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.mm
+++ b/ios/chrome/browser/ui/omnibox/popup/omnibox_popup_row.mm
@@ -23,8 +23,8 @@
 
 namespace {
 // Side (w or h) length for the leading image view.
-const CGFloat kImageViewSizeUIRefresh = 28.0;
-const CGFloat kImageViewCornerRadiusUIRefresh = 7.0;
+const CGFloat kImageViewSize = 28.0;
+const CGFloat kImageViewCornerRadius = 7.0;
 const CGFloat kTrailingButtonTrailingMargin = 4;
 const CGFloat kTrailingButtonSize = 48.0;
 const CGFloat kLeadingPaddingIpad = 183;
@@ -94,7 +94,7 @@
     _imageView.userInteractionEnabled = NO;
     _imageView.contentMode = UIViewContentModeCenter;
 
-    _imageView.layer.cornerRadius = kImageViewCornerRadiusUIRefresh;
+    _imageView.layer.cornerRadius = kImageViewCornerRadius;
     _imageView.backgroundColor = UIColor.clearColor;
     _imageView.tintColor = color::DarkModeDynamicColor(
         [UIColor colorNamed:@"omnibox_suggestion_icon_color"], _incognito,
@@ -119,7 +119,7 @@
 }
 
 - (void)layoutAccessoryViews {
-  CGFloat imageViewSize = kImageViewSizeUIRefresh;
+  CGFloat imageViewSize = kImageViewSize;
   LayoutRect imageViewLayout = LayoutRectMake(
       ([self showsLeadingIcons] && IsCompactTablet())
           ? kLeadingPaddingIpadCompact
@@ -141,7 +141,7 @@
   _imageView.image = image;
 
   // Adjust the vertical position based on the current size of the row.
-  CGFloat imageViewSize = kImageViewSizeUIRefresh;
+  CGFloat imageViewSize = kImageViewSize;
   CGRect frame = _imageView.frame;
   frame.origin.y = floor((_rowHeight - imageViewSize) / 2);
   _imageView.frame = frame;
diff --git a/ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.mm b/ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.mm
index 5a22aac..2bb3031 100644
--- a/ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.mm
+++ b/ios/chrome/browser/ui/popup_menu/popup_menu_action_handler.mm
@@ -110,6 +110,7 @@
       break;
     case PopupMenuActionTextZoom:
       RecordAction(UserMetricsAction("MobileMenuTextZoom"));
+      [self.dispatcher showTextZoom];
       break;
 #if !defined(NDEBUG)
     case PopupMenuActionViewSource:
diff --git a/ios/chrome/browser/ui/settings/cells/search_engine_item.mm b/ios/chrome/browser/ui/settings/cells/search_engine_item.mm
index 0743f71..7b7f7af 100644
--- a/ios/chrome/browser/ui/settings/cells/search_engine_item.mm
+++ b/ios/chrome/browser/ui/settings/cells/search_engine_item.mm
@@ -54,9 +54,11 @@
   if (self.enabled) {
     cell.contentView.alpha = 1.0;
     cell.userInteractionEnabled = YES;
+    cell.accessibilityTraits &= ~UIAccessibilityTraitNotEnabled;
   } else {
     cell.contentView.alpha = 0.4;
     cell.userInteractionEnabled = NO;
+    cell.accessibilityTraits |= UIAccessibilityTraitNotEnabled;
   }
 
   if (styler.cellTitleColor) {
diff --git a/ios/chrome/browser/ui/text_zoom/BUILD.gn b/ios/chrome/browser/ui/text_zoom/BUILD.gn
new file mode 100644
index 0000000..ac5f02e7
--- /dev/null
+++ b/ios/chrome/browser/ui/text_zoom/BUILD.gn
@@ -0,0 +1,35 @@
+# Copyright 2019 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+source_set("text_zoom") {
+  sources = [
+    "text_zoom_coordinator.h",
+    "text_zoom_coordinator.mm",
+  ]
+  deps = [
+    ":text_zoom_ui",
+    "//ios/chrome/browser/browser_state",
+    "//ios/chrome/browser/main",
+    "//ios/chrome/browser/ui/commands",
+    "//ios/chrome/browser/ui/coordinators:chrome_coordinators",
+    "//ios/chrome/browser/ui/presenters",
+    "//ios/chrome/browser/ui/toolbar/accessory",
+    "//ios/chrome/browser/ui/toolbar/public:constants",
+    "//ios/chrome/common/colors",
+  ]
+  configs += [ "//build/config/compiler:enable_arc" ]
+}
+
+source_set("text_zoom_ui") {
+  sources = [
+    "text_zoom_view_controller.h",
+    "text_zoom_view_controller.mm",
+  ]
+  deps = [
+    "//components/strings:components_strings",
+    "//ios/chrome/browser/ui/commands",
+    "//ui/base",
+  ]
+  configs += [ "//build/config/compiler:enable_arc" ]
+}
diff --git a/ios/chrome/browser/ui/text_zoom/text_zoom_coordinator.h b/ios/chrome/browser/ui/text_zoom/text_zoom_coordinator.h
new file mode 100644
index 0000000..8e30de5
--- /dev/null
+++ b/ios/chrome/browser/ui/text_zoom/text_zoom_coordinator.h
@@ -0,0 +1,28 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_TEXT_ZOOM_TEXT_ZOOM_COORDINATOR_H_
+#define IOS_CHROME_BROWSER_UI_TEXT_ZOOM_TEXT_ZOOM_COORDINATOR_H_
+
+#import <UIKit/UIKit.h>
+
+#import "ios/chrome/browser/ui/coordinators/chrome_coordinator.h"
+
+@class TextZoomViewController;
+@class ToolbarAccessoryPresenter;
+@protocol ToolbarAccessoryCoordinatorDelegate;
+
+// Coordinator for the UI of the text zoom feature, which allows adjusting the
+// zoom level of the text of a webpage.
+@interface TextZoomCoordinator : ChromeCoordinator
+
+// Presenter used by this coordinator to present itself.
+@property(nonatomic, strong) ToolbarAccessoryPresenter* presenter;
+
+// Delegate to inform when this coordinator's UI is dismissed.
+@property(nonatomic, weak) id<ToolbarAccessoryCoordinatorDelegate> delegate;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_TEXT_ZOOM_TEXT_ZOOM_COORDINATOR_H_
diff --git a/ios/chrome/browser/ui/text_zoom/text_zoom_coordinator.mm b/ios/chrome/browser/ui/text_zoom/text_zoom_coordinator.mm
new file mode 100644
index 0000000..24e1006
--- /dev/null
+++ b/ios/chrome/browser/ui/text_zoom/text_zoom_coordinator.mm
@@ -0,0 +1,62 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/ui/text_zoom/text_zoom_coordinator.h"
+
+#include "ios/chrome/browser/browser_state/chrome_browser_state.h"
+#import "ios/chrome/browser/main/browser.h"
+#import "ios/chrome/browser/ui/commands/browser_commands.h"
+#import "ios/chrome/browser/ui/commands/command_dispatcher.h"
+#include "ios/chrome/browser/ui/presenters/contained_presenter_delegate.h"
+#import "ios/chrome/browser/ui/text_zoom/text_zoom_view_controller.h"
+#import "ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_coordinator_delegate.h"
+#import "ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_presenter.h"
+#import "ios/chrome/browser/ui/toolbar/public/toolbar_constants.h"
+#import "ios/chrome/common/colors/dynamic_color_util.h"
+#import "ios/chrome/common/colors/semantic_color_names.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+@interface TextZoomCoordinator () <ContainedPresenterDelegate>
+
+// The view controller managed by this coordinator.
+@property(nonatomic, strong, readwrite)
+    TextZoomViewController* textZoomViewController;
+
+@end
+
+@implementation TextZoomCoordinator
+
+#pragma mark - ChromeCoordinator
+
+- (void)start {
+  self.textZoomViewController = [[TextZoomViewController alloc] init];
+  self.textZoomViewController.commandHandler =
+      HandlerForProtocol(self.browser->GetCommandDispatcher(), BrowserCommands);
+
+  [self showAnimated:YES];
+}
+
+- (void)stop {
+  [self.presenter dismissAnimated:YES];
+  self.textZoomViewController = nil;
+}
+
+- (void)showAnimated:(BOOL)animated {
+  self.presenter.presentedViewController = self.textZoomViewController;
+  self.presenter.delegate = self;
+
+  [self.presenter prepareForPresentation];
+  [self.presenter presentAnimated:animated];
+}
+
+#pragma mark - ContainedPresenterDelegate
+
+- (void)containedPresenterDidDismiss:(id<ContainedPresenter>)presenter {
+  [self.delegate toolbarAccessoryCoordinatorDidDismissUI:self];
+}
+
+@end
diff --git a/ios/chrome/browser/ui/text_zoom/text_zoom_view_controller.h b/ios/chrome/browser/ui/text_zoom/text_zoom_view_controller.h
new file mode 100644
index 0000000..191e79c
--- /dev/null
+++ b/ios/chrome/browser/ui/text_zoom/text_zoom_view_controller.h
@@ -0,0 +1,18 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_UI_TEXT_ZOOM_TEXT_ZOOM_VIEW_CONTROLLER_H_
+#define IOS_CHROME_BROWSER_UI_TEXT_ZOOM_TEXT_ZOOM_VIEW_CONTROLLER_H_
+
+#import <UIKit/UIKit.h>
+
+@protocol BrowserCommands;
+
+@interface TextZoomViewController : UIViewController
+
+@property(nonatomic, weak) id<BrowserCommands> commandHandler;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_UI_TEXT_ZOOM_TEXT_ZOOM_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/text_zoom/text_zoom_view_controller.mm b/ios/chrome/browser/ui/text_zoom/text_zoom_view_controller.mm
new file mode 100644
index 0000000..d26ccc5
--- /dev/null
+++ b/ios/chrome/browser/ui/text_zoom/text_zoom_view_controller.mm
@@ -0,0 +1,78 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/ui/text_zoom/text_zoom_view_controller.h"
+
+#include "components/strings/grit/components_strings.h"
+#import "ios/chrome/browser/ui/commands/browser_commands.h"
+#include "ui/base/l10n/l10n_util_mac.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+namespace {
+// Horizontal padding between all elements (except the previous/next buttons).
+const CGFloat kPadding = 8;
+const CGFloat kButtonFontSize = 17;
+}
+
+@interface TextZoomViewController ()
+
+@property(nonatomic, strong) UIButton* closeButton;
+
+@end
+
+@implementation TextZoomViewController
+
+#pragma mark - UIViewController
+
+- (void)viewDidLoad {
+  [super viewDidLoad];
+
+  self.view.translatesAutoresizingMaskIntoConstraints = NO;
+
+  [self.view addSubview:self.closeButton];
+
+  [NSLayoutConstraint activateConstraints:@[
+    // Close Button.
+    [self.closeButton.centerYAnchor
+        constraintEqualToAnchor:self.view.centerYAnchor],
+    //  [self.closeButton.heightAnchor constraintEqualToConstant:kButtonLength],
+    // Use button intrinsic width.
+    [self.closeButton.trailingAnchor
+        constraintEqualToAnchor:self.view.safeAreaLayoutGuide.trailingAnchor
+                       constant:-kPadding],
+  ]];
+
+  [self.closeButton
+      setContentCompressionResistancePriority:UILayoutPriorityDefaultHigh + 1
+                                      forAxis:UILayoutConstraintAxisHorizontal];
+}
+
+#pragma mark - Private methods (control actions)
+
+- (void)closeButtonWasTapped:(id)sender {
+  [self.commandHandler hideTextZoom];
+}
+
+#pragma mark - Private property Accessors
+
+// Creates and returns the close button.
+- (UIButton*)closeButton {
+  if (!_closeButton) {
+    _closeButton = [UIButton buttonWithType:UIButtonTypeSystem];
+    [_closeButton setTitle:l10n_util::GetNSString(IDS_DONE)
+                  forState:UIControlStateNormal];
+    _closeButton.translatesAutoresizingMaskIntoConstraints = NO;
+    //  _closeButton.accessibilityIdentifier = kFindInPageCloseButtonId;
+    _closeButton.titleLabel.font = [UIFont systemFontOfSize:kButtonFontSize];
+    [_closeButton addTarget:self
+                     action:@selector(closeButtonWasTapped:)
+           forControlEvents:UIControlEventTouchUpInside];
+  }
+  return _closeButton;
+}
+
+@end
diff --git a/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_coordinator_delegate.h b/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_coordinator_delegate.h
index 3d51b793..57c3c73 100644
--- a/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_coordinator_delegate.h
+++ b/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_coordinator_delegate.h
@@ -12,6 +12,9 @@
 - (void)setHeadersForToolbarAccessoryCoordinator:
     (ChromeCoordinator*)toolbarAccessoryCoordinator;
 
+- (void)toolbarAccessoryCoordinatorDidDismissUI:
+    (ChromeCoordinator*)toolbarAccessoryCoordinator;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_TOOLBAR_ACCESSORY_TOOLBAR_ACCESSORY_COORDINATOR_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_presenter.h b/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_presenter.h
index 2912872d..29f4126 100644
--- a/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_presenter.h
+++ b/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_presenter.h
@@ -18,6 +18,9 @@
 
 - (instancetype)init NS_UNAVAILABLE;
 
+// Whether the presenter is currently presenting a view
+@property(nonatomic, readonly, getter=isPresenting) BOOL presenting;
+
 // The main presented view.
 @property(nonatomic, strong, readonly) UIView* backgroundView;
 
diff --git a/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_presenter.mm b/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_presenter.mm
index 6e007d5..558470c 100644
--- a/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_presenter.mm
+++ b/ios/chrome/browser/ui/toolbar/accessory/toolbar_accessory_presenter.mm
@@ -36,6 +36,9 @@
 
 @interface ToolbarAccessoryPresenter ()
 
+// The |presenting| public property redefined as readwrite.
+@property(nonatomic, assign, readwrite, getter=isPresenting) BOOL presenting;
+
 // The view that acts as the background for |presentedView|, redefined as
 // readwrite. This is especially important on iPhone, as this view that holds
 // everything around the safe area.
@@ -66,6 +69,7 @@
 }
 
 - (void)prepareForPresentation {
+  self.presenting = YES;
   self.backgroundView = [self createBackgroundView];
   [self.baseViewController addChildViewController:self.presentedViewController];
   [self.baseViewController.view addSubview:self.backgroundView];
@@ -75,32 +79,39 @@
   } else {
     [self prepareForPresentationOnIPad];
   }
-
-  // Force initial layout before the animation.
-  [self.baseViewController.view layoutIfNeeded];
 }
 
 - (void)presentAnimated:(BOOL)animated {
+  if (animated) {
+    // Force initial layout before the animation.
+    [self.baseViewController.view layoutIfNeeded];
+  }
+
   if (ShouldShowCompactToolbar()) {
     [self setupFinalConstraintsOnIPhone];
   } else {
     [self setupFinalConstraintsOnIPad];
   }
 
-  CGFloat duration = animated ? kAnimationDuration : 0;
   __weak __typeof(self) weakSelf = self;
-  [UIView animateWithDuration:duration
-      animations:^() {
-        [self.backgroundView layoutIfNeeded];
-      }
-      completion:^(BOOL finished) {
-        [weakSelf.presentedViewController
-            didMoveToParentViewController:weakSelf.baseViewController];
-        if ([weakSelf.delegate
-                respondsToSelector:@selector(containedPresenterDidPresent:)]) {
-          [weakSelf.delegate containedPresenterDidPresent:weakSelf];
-        }
-      }];
+  auto completion = ^void(BOOL) {
+    [weakSelf.presentedViewController
+        didMoveToParentViewController:weakSelf.baseViewController];
+    if ([weakSelf.delegate
+            respondsToSelector:@selector(containedPresenterDidPresent:)]) {
+      [weakSelf.delegate containedPresenterDidPresent:weakSelf];
+    }
+  };
+
+  if (animated) {
+    [UIView animateWithDuration:kAnimationDuration
+                     animations:^() {
+                       [self.baseViewController.view layoutIfNeeded];
+                     }
+                     completion:completion];
+  } else {
+    completion(YES);
+  }
 }
 
 - (void)dismissAnimated:(BOOL)animated {
@@ -116,6 +127,8 @@
       [weakSelf.delegate containedPresenterDidDismiss:weakSelf];
     }
     weakSelf.backgroundView = nil;
+    weakSelf.presenting = NO;
+    [weakSelf.delegate containedPresenterDidDismiss:weakSelf];
   };
   if (animated) {
     void (^animation)();
diff --git a/ios/web/shell/shell_url_request_context_getter.mm b/ios/web/shell/shell_url_request_context_getter.mm
index cfd7a79..b6c4ad6 100644
--- a/ios/web/shell/shell_url_request_context_getter.mm
+++ b/ios/web/shell/shell_url_request_context_getter.mm
@@ -135,7 +135,8 @@
     base::FilePath cache_path = base_path_.Append(FILE_PATH_LITERAL("Cache"));
     std::unique_ptr<net::HttpCache::DefaultBackend> main_backend(
         new net::HttpCache::DefaultBackend(
-            net::DISK_CACHE, net::CACHE_BACKEND_DEFAULT, cache_path, 0));
+            net::DISK_CACHE, net::CACHE_BACKEND_DEFAULT, cache_path,
+            /*max_bytes=*/0, /*hard_reset=*/false));
 
     storage_->set_http_network_session(
         std::make_unique<net::HttpNetworkSession>(
diff --git a/ios/web_view/internal/web_view_url_request_context_getter.mm b/ios/web_view/internal/web_view_url_request_context_getter.mm
index 06510c5..19f01ce 100644
--- a/ios/web_view/internal/web_view_url_request_context_getter.mm
+++ b/ios/web_view/internal/web_view_url_request_context_getter.mm
@@ -146,7 +146,8 @@
         base_path_.Append(FILE_PATH_LITERAL("ChromeWebViewCache"));
     std::unique_ptr<net::HttpCache::DefaultBackend> main_backend(
         new net::HttpCache::DefaultBackend(
-            net::DISK_CACHE, net::CACHE_BACKEND_DEFAULT, cache_path, 0));
+            net::DISK_CACHE, net::CACHE_BACKEND_DEFAULT, cache_path,
+            /*max_bytes=*/0, /*hard_reset=*/false));
 
     storage_->set_http_network_session(
         std::make_unique<net::HttpNetworkSession>(
diff --git a/ipc/BUILD.gn b/ipc/BUILD.gn
index fb51631e..b62217c 100644
--- a/ipc/BUILD.gn
+++ b/ipc/BUILD.gn
@@ -107,6 +107,14 @@
   if (enable_ipc_fuzzer) {
     public_configs = [ "//tools/ipc_fuzzer:ipc_fuzzer_config" ]
   }
+
+  if (!is_nacl && !is_ios) {
+    sources += [
+      "trace_ipc_message.cc",
+      "trace_ipc_message.h",
+    ]
+    public_deps += [ "//services/tracing/public/cpp" ]
+  }
 }
 
 component("message_support") {
diff --git a/ipc/DEPS b/ipc/DEPS
index fbc977b..ed7cd79f 100644
--- a/ipc/DEPS
+++ b/ipc/DEPS
@@ -4,6 +4,8 @@
   # For ipc_channel_nacl.cc:
   "+native_client/src/public",
   "+sandbox/mac/seatbelt.h",
+  "+services/tracing/public/cpp",
+  "+third_party/perfetto/protos/perfetto/trace/track_event",
 ]
 
 specific_include_rules = {
diff --git a/ipc/ipc_channel_nacl.cc b/ipc/ipc_channel_nacl.cc
index 1db4acb..fd0eeb4 100644
--- a/ipc/ipc_channel_nacl.cc
+++ b/ipc/ipc_channel_nacl.cc
@@ -212,9 +212,8 @@
   Logging::GetInstance()->OnSendMessage(message_ptr.get());
 #endif  // BUILDFLAG(IPC_MESSAGE_LOG_ENABLED)
 
-  TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
-                         "ChannelNacl::Send",
-                         message->header()->flags,
+  TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
+                         "ChannelNacl::Send", message->header()->flags,
                          TRACE_EVENT_FLAG_FLOW_OUT);
   output_queue_.push_back(std::move(message_ptr));
   if (!waiting_connect_)
diff --git a/ipc/ipc_message_pipe_reader.cc b/ipc/ipc_message_pipe_reader.cc
index 323c86c..ec0f1d4 100644
--- a/ipc/ipc_message_pipe_reader.cc
+++ b/ipc/ipc_message_pipe_reader.cc
@@ -51,7 +51,7 @@
 
 bool MessagePipeReader::Send(std::unique_ptr<Message> message) {
   CHECK(message->IsValid());
-  TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
+  TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
                          "MessagePipeReader::Send", message->flags(),
                          TRACE_EVENT_FLAG_FLOW_OUT);
   base::Optional<std::vector<mojo::native::SerializedHandlePtr>> handles;
@@ -101,9 +101,8 @@
     return;
   }
 
-  TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
-                         "MessagePipeReader::Receive",
-                         message.flags(),
+  TRACE_EVENT_WITH_FLOW0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
+                         "MessagePipeReader::Receive", message.flags(),
                          TRACE_EVENT_FLAG_FLOW_IN);
   delegate_->OnMessageReceived(message);
 }
diff --git a/ipc/ipc_sync_channel.cc b/ipc/ipc_sync_channel.cc
index 1180f56..823ec8d 100644
--- a/ipc/ipc_sync_channel.cc
+++ b/ipc/ipc_sync_channel.cc
@@ -21,12 +21,17 @@
 #include "base/threading/thread_local.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/trace_event/trace_event.h"
+#include "build/build_config.h"
 #include "ipc/ipc_channel_factory.h"
 #include "ipc/ipc_logging.h"
 #include "ipc/ipc_message_macros.h"
 #include "ipc/ipc_sync_message.h"
 #include "mojo/public/cpp/bindings/sync_event_watcher.h"
 
+#if !defined(OS_NACL) && !BUILDFLAG(IPC_MESSAGE_LOG_ENABLED)
+#include "ipc/trace_ipc_message.h"
+#endif
+
 using base::WaitableEvent;
 
 namespace IPC {
@@ -452,9 +457,9 @@
   }
 
   base::WaitableEvent* done_event = deserializers_.back().done_event;
-  TRACE_EVENT_FLOW_BEGIN0(
-      TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
-      "SyncChannel::SyncContext::TryToUnblockListener", done_event);
+  TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
+                          "SyncChannel::SyncContext::TryToUnblockListener",
+                          done_event);
 
   done_event->Signal();
 
@@ -517,7 +522,7 @@
   PendingSyncMessageQueue::iterator iter;
   DVLOG(1) << "Canceling pending sends";
   for (iter = deserializers_.begin(); iter != deserializers_.end(); iter++) {
-    TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
+    TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
                             "SyncChannel::SyncContext::CancelPendingSends",
                             iter->done_event);
     iter->done_event->Signal();
@@ -609,6 +614,8 @@
   Logging::GetInstance()->GetMessageText(
       message->type(), &name, message, nullptr);
   TRACE_EVENT1("ipc", "SyncChannel::Send", "name", name);
+#elif !defined(OS_NACL)
+  TRACE_IPC_MESSAGE_SEND("ipc", "SyncChannel::Send", message);
 #else
   TRACE_EVENT2("ipc", "SyncChannel::Send",
                "class", IPC_MESSAGE_ID_CLASS(message->type()),
@@ -637,7 +644,7 @@
   scoped_refptr<mojo::SyncHandleRegistry> registry = sync_handle_registry_;
   WaitForReply(registry.get(), context.get(), pump_messages);
 
-  TRACE_EVENT_FLOW_END0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
+  TRACE_EVENT_FLOW_END0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
                         "SyncChannel::Send", context->GetSendDoneEvent());
 
   return context->Pop();
diff --git a/ipc/ipc_sync_message_filter.cc b/ipc/ipc_sync_message_filter.cc
index 018ed83d4..4ceb3f3 100644
--- a/ipc/ipc_sync_message_filter.cc
+++ b/ipc/ipc_sync_message_filter.cc
@@ -81,7 +81,7 @@
   const bool* stop_flags[] = { &done, &shutdown };
   registry->Wait(stop_flags, 2);
   if (done) {
-    TRACE_EVENT_FLOW_END0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
+    TRACE_EVENT_FLOW_END0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
                           "SyncMessageFilter::Send", &done_event);
   }
 
@@ -131,7 +131,7 @@
         (*iter)->send_result =
             (*iter)->deserializer->SerializeOutputParameters(message);
       }
-      TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
+      TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
                               "SyncMessageFilter::OnMessageReceived",
                               (*iter)->done_event);
       (*iter)->done_event->Signal();
@@ -169,7 +169,7 @@
   lock_.AssertAcquired();
   for (PendingSyncMessages::iterator iter = pending_sync_messages_.begin();
        iter != pending_sync_messages_.end(); ++iter) {
-    TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("ipc.flow"),
+    TRACE_EVENT_FLOW_BEGIN0(TRACE_DISABLED_BY_DEFAULT("toplevel.flow"),
                             "SyncMessageFilter::SignalAllEvents",
                             (*iter)->done_event);
     (*iter)->done_event->Signal();
diff --git a/ipc/trace_ipc_message.cc b/ipc/trace_ipc_message.cc
new file mode 100644
index 0000000..eba6c63
--- /dev/null
+++ b/ipc/trace_ipc_message.cc
@@ -0,0 +1,129 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ipc/trace_ipc_message.h"
+
+#include <stdint.h>
+
+#include "ipc/ipc_message_macros.h"
+#include "ipc/ipc_message_start.h"
+#include "third_party/perfetto/protos/perfetto/trace/track_event/chrome_legacy_ipc.pbzero.h"
+
+namespace IPC {
+
+using perfetto::protos::pbzero::ChromeLegacyIpc;
+
+void WriteIpcMessageIdAsProtozero(uint32_t message_id,
+                                  ChromeLegacyIpc* legacy_ipc) {
+  ChromeLegacyIpc::MessageClass message_class =
+      ChromeLegacyIpc::CLASS_UNSPECIFIED;
+  switch (IPC_MESSAGE_ID_CLASS(message_id)) {
+    case AutomationMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_AUTOMATION;
+      break;
+    case FrameMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_FRAME;
+      break;
+    case PageMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_PAGE;
+      break;
+    case ViewMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_VIEW;
+      break;
+    case WidgetMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_WIDGET;
+      break;
+    case InputMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_INPUT;
+      break;
+    case TestMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_TEST;
+      break;
+    case WorkerMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_WORKER;
+      break;
+    case NaClMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_NACL;
+      break;
+    case GpuChannelMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_GPU_CHANNEL;
+      break;
+    case MediaMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_MEDIA;
+      break;
+    case PpapiMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_PPAPI;
+      break;
+    case ChromeMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_CHROME;
+      break;
+    case DragMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_DRAG;
+      break;
+    case PrintMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_PRINT;
+      break;
+    case ExtensionMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_EXTENSION;
+      break;
+    case TextInputClientMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_TEXT_INPUT_CLIENT;
+      break;
+    case BlinkTestMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_BLINK_TEST;
+      break;
+    case AccessibilityMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_ACCESSIBILITY;
+      break;
+    case PrerenderMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_PRERENDER;
+      break;
+    case ChromotingMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_CHROMOTING;
+      break;
+    case AndroidWebViewMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_ANDROID_WEB_VIEW;
+      break;
+    case NaClHostMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_NACL_HOST;
+      break;
+    case EncryptedMediaMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_ENCRYPTED_MEDIA;
+      break;
+    case CastMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_CAST;
+      break;
+    case GinJavaBridgeMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_GIN_JAVA_BRIDGE;
+      break;
+    case ChromeUtilityPrintingMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_CHROME_UTILITY_PRINTING;
+      break;
+    case OzoneGpuMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_OZONE_GPU;
+      break;
+    case WebTestMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_WEB_TEST;
+      break;
+    case ExtensionsGuestViewMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_EXTENSIONS_GUEST_VIEW;
+      break;
+    case GuestViewMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_GUEST_VIEW;
+      break;
+    case MediaPlayerDelegateMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_MEDIA_PLAYER_DELEGATE;
+      break;
+    case ExtensionWorkerMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_EXTENSION_WORKER;
+      break;
+    case UnfreezableFrameMsgStart:
+      message_class = ChromeLegacyIpc::CLASS_UNFREEZABLE_FRAME;
+      break;
+  }
+  legacy_ipc->set_message_class(message_class);
+  legacy_ipc->set_message_line(IPC_MESSAGE_ID_LINE(message_id));
+}
+
+}  // namespace IPC
\ No newline at end of file
diff --git a/ipc/trace_ipc_message.h b/ipc/trace_ipc_message.h
new file mode 100644
index 0000000..44d4792c
--- /dev/null
+++ b/ipc/trace_ipc_message.h
@@ -0,0 +1,33 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IPC_TRACE_IPC_MESSAGE_H_
+#define IPC_TRACE_IPC_MESSAGE_H_
+
+#include <stdint.h>
+
+#include "base/component_export.h"
+#include "services/tracing/public/cpp/perfetto/macros.h"
+#include "third_party/perfetto/protos/perfetto/trace/track_event/chrome_legacy_ipc.pbzero.h"
+
+// When tracing is enabled, emits a trace event with the given category and
+// event name and typed arguments for the message's type (message class and line
+// number).
+#define TRACE_IPC_MESSAGE_SEND(category, name, msg)                          \
+  TRACE_EVENT(category, name, [msg](perfetto::EventContext ctx) {            \
+    IPC::WriteIpcMessageIdAsProtozero(msg->type(),                           \
+                                      ctx.event()->set_chrome_legacy_ipc()); \
+  });
+
+namespace IPC {
+
+// Converts |message_id| into its message class and line number parts and writes
+// them to the protozero message |ChromeLegacyIpc| for trace events.
+void COMPONENT_EXPORT(IPC)
+    WriteIpcMessageIdAsProtozero(uint32_t message_id,
+                                 perfetto::protos::pbzero::ChromeLegacyIpc*);
+
+}  // namespace IPC
+
+#endif  // IPC_TRACE_IPC_MESSAGE_H_
diff --git a/media/gpu/windows/dxva_video_decode_accelerator_win.cc b/media/gpu/windows/dxva_video_decode_accelerator_win.cc
index bff45e3..b06648e 100644
--- a/media/gpu/windows/dxva_video_decode_accelerator_win.cc
+++ b/media/gpu/windows/dxva_video_decode_accelerator_win.cc
@@ -574,13 +574,13 @@
       config.profile == VP9PROFILE_PROFILE3 ||
       config.profile == H264PROFILE_HIGH10PROFILE) {
     // Input file has more than 8 bits per channel.
-    want_fp16_ = true;
+    use_fp16_ = true;
   }
 
   // Unfortunately, the profile is currently unreliable for
   // VP9 (https://crbug.com/592074) so also try to use fp16 if HDR is on.
   if (config.target_color_space.IsHDR()) {
-    want_fp16_ = true;
+    use_fp16_ = true;
   }
 
   // Not all versions of Windows 7 and later include Media Foundation DLLs.
@@ -823,7 +823,7 @@
     RETURN_ON_FAILURE(angle_device_.Get(), "Failed to get d3d11 device", false);
 
     using_angle_device_ = true;
-    DCHECK(!want_fp16_);
+    DCHECK(!use_fp16_);
     angle_device_->GetImmediateContext(&d3d11_device_context_);
 
     hr = angle_device_.As(&video_device_);
@@ -892,8 +892,8 @@
   if (!checker.CheckOutputFormatSupport(DXGI_FORMAT_NV12))
     support_copy_nv12_textures_ = false;
 
-  support_fp16_ =
-      checker.CheckOutputFormatSupport(DXGI_FORMAT_R16G16B16A16_FLOAT);
+  if (!checker.CheckOutputFormatSupport(DXGI_FORMAT_R16G16B16A16_FLOAT))
+    use_fp16_ = false;
 
   // Enable multithreaded mode on the device. This ensures that accesses to
   // context are synchronized across threads. We have multiple threads
@@ -1388,19 +1388,18 @@
   }
 
   if (!gl::GLSurfaceEGL::IsPixelFormatFloatSupported())
-    want_fp16_ = false;
+    use_fp16_ = false;
 
   EGLDisplay egl_display = gl::GLSurfaceEGL::GetHardwareDisplay();
 
   while (true) {
-    std::vector<EGLint> config_attribs = {
-        EGL_BUFFER_SIZE,  32,
-        EGL_RED_SIZE,     ShouldUseFp16() ? 16 : 8,
-        EGL_GREEN_SIZE,   ShouldUseFp16() ? 16 : 8,
-        EGL_BLUE_SIZE,    ShouldUseFp16() ? 16 : 8,
-        EGL_SURFACE_TYPE, EGL_PBUFFER_BIT,
-        EGL_ALPHA_SIZE,   0};
-    if (ShouldUseFp16()) {
+    std::vector<EGLint> config_attribs = {EGL_BUFFER_SIZE,  32,
+                                          EGL_RED_SIZE,     use_fp16_ ? 16 : 8,
+                                          EGL_GREEN_SIZE,   use_fp16_ ? 16 : 8,
+                                          EGL_BLUE_SIZE,    use_fp16_ ? 16 : 8,
+                                          EGL_SURFACE_TYPE, EGL_PBUFFER_BIT,
+                                          EGL_ALPHA_SIZE,   0};
+    if (use_fp16_) {
       config_attribs.push_back(EGL_COLOR_COMPONENT_TYPE_EXT);
       config_attribs.push_back(EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT);
     }
@@ -1420,7 +1419,7 @@
           eglGetConfigAttrib(egl_display, configs[i], EGL_RED_SIZE, &red_bits);
           // Try to pick a configuration with the right number of bits rather
           // than one that just has enough bits.
-          if (red_bits == (ShouldUseFp16() ? 16 : 8)) {
+          if (red_bits == (use_fp16_ ? 16 : 8)) {
             egl_config_ = configs[i];
             break;
           }
@@ -1428,9 +1427,9 @@
       }
 
       if (!num_configs) {
-        if (ShouldUseFp16()) {
-          // Try again, but without want_fp16_
-          want_fp16_ = false;
+        if (use_fp16_) {
+          // Try again, but without use_fp16_
+          use_fp16_ = false;
           continue;
         }
         return false;
@@ -1440,7 +1439,7 @@
     break;
   }
 
-  if (ShouldUseFp16()) {
+  if (use_fp16_) {
     // TODO(hubbe): Share/copy P010/P016 textures.
     DisableSharedTextureSupport();
     support_copy_nv12_textures_ = false;
@@ -2761,7 +2760,7 @@
 
   // If we're copying textures or just not using color space information, set
   // the same color space on input and output.
-  if ((!use_color_info_ && !ShouldUseFp16()) ||
+  if ((!use_color_info_ && !use_fp16_) ||
       GetPictureBufferMechanism() == PictureBufferMechanism::COPY_TO_NV12 ||
       GetPictureBufferMechanism() ==
           PictureBufferMechanism::DELAYED_COPY_TO_NV12) {
@@ -2812,8 +2811,7 @@
     return true;
   }
 
-  if (ShouldUseFp16() && config_.target_color_space.IsHDR() &&
-      color_space.IsHDR()) {
+  if (use_fp16_ && config_.target_color_space.IsHDR() && color_space.IsHDR()) {
     // Note, we only use the SCRGBLinear output color space when the input is
     // PQ, because nvidia drivers will not convert G22 to G10 for some reason.
     dx11_converter_output_color_space_ = gfx::ColorSpace::CreateSCRGBLinear();
@@ -2986,7 +2984,7 @@
 
 DXVAVideoDecodeAccelerator::PictureBufferMechanism
 DXVAVideoDecodeAccelerator::GetPictureBufferMechanism() const {
-  if (ShouldUseFp16())
+  if (use_fp16_)
     return PictureBufferMechanism::COPY_TO_RGB;
   if (support_share_nv12_textures_)
     return PictureBufferMechanism::BIND;
@@ -3013,8 +3011,4 @@
   return ShouldUseANGLEDevice() ? angle_device_.Get() : d3d11_device_.Get();
 }
 
-bool DXVAVideoDecodeAccelerator::ShouldUseFp16() const {
-  return want_fp16_ && support_fp16_;
-}
-
 }  // namespace media
diff --git a/media/gpu/windows/dxva_video_decode_accelerator_win.h b/media/gpu/windows/dxva_video_decode_accelerator_win.h
index f894bba..af9da6e 100644
--- a/media/gpu/windows/dxva_video_decode_accelerator_win.h
+++ b/media/gpu/windows/dxva_video_decode_accelerator_win.h
@@ -397,8 +397,6 @@
   bool ShouldUseANGLEDevice() const;
   ID3D11Device* D3D11Device() const;
 
-  bool ShouldUseFp16() const;
-
   // To expose client callbacks from VideoDecodeAccelerator.
   VideoDecodeAccelerator::Client* client_;
 
@@ -558,11 +556,8 @@
   // Supports copying NV12 textures on the main thread to use in ANGLE.
   bool support_delayed_copy_nv12_textures_;
 
-  // Supports copying video to FP16 scRGB textures.
-  bool support_fp16_ = false;
-
-  // Copy video to FP16 scRGB textures if supported.
-  bool want_fp16_ = false;
+  // Copy video to FP16 scRGB textures.
+  bool use_fp16_ = false;
 
   // When converting YUV to RGB, make sure we tell the blitter about the input
   // color space so that it can convert it correctly.
diff --git a/mojo/public/cpp/bindings/remote_set.h b/mojo/public/cpp/bindings/remote_set.h
index d463fe2..fd6f9bbd 100644
--- a/mojo/public/cpp/bindings/remote_set.h
+++ b/mojo/public/cpp/bindings/remote_set.h
@@ -136,7 +136,7 @@
 
  private:
   RemoteSetElementId GenerateNextElementId() {
-    return RemoteSetElementId::FromUnsafeValue(next_element_id_++);
+    return remote_set_element_id_generator_.GenerateNextId();
   }
 
   void OnDisconnect(RemoteSetElementId id) {
@@ -145,7 +145,7 @@
       disconnect_handler_.Run(id);
   }
 
-  uint32_t next_element_id_ = 1;
+  RemoteSetElementId::Generator remote_set_element_id_generator_;
   Storage storage_;
   DisconnectHandler disconnect_handler_;
 
diff --git a/net/disk_cache/cache_util.cc b/net/disk_cache/cache_util.cc
index 1f95642..3224f73 100644
--- a/net/disk_cache/cache_util.cc
+++ b/net/disk_cache/cache_util.cc
@@ -110,10 +110,13 @@
 // rename the cache directory (for instance due to a sharing violation), and in
 // that case a cache for this profile (on the desired path) cannot be created.
 bool DelayedCacheCleanup(const base::FilePath& full_path) {
-  // GetTempCacheName() and MoveCache() use synchronous file
-  // operations.
+  // GetTempCacheName() and MoveCache() use synchronous file operations.
   base::ThreadRestrictions::ScopedAllowIO allow_io;
 
+  // We can exit early if nothing was done/the directory is empty.
+  if (base::IsDirectoryEmpty(full_path))
+    return true;
+
   base::FilePath current_path = full_path.StripTrailingSeparators();
 
   base::FilePath path = current_path.DirName();
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
index ba99d7c..be28d4e 100644
--- a/net/http/http_cache.cc
+++ b/net/http/http_cache.cc
@@ -62,11 +62,13 @@
 HttpCache::DefaultBackend::DefaultBackend(CacheType type,
                                           BackendType backend_type,
                                           const base::FilePath& path,
-                                          int max_bytes)
+                                          int max_bytes,
+                                          bool hard_reset)
     : type_(type),
       backend_type_(backend_type),
       path_(path),
-      max_bytes_(max_bytes) {}
+      max_bytes_(max_bytes),
+      hard_reset_(hard_reset) {}
 
 HttpCache::DefaultBackend::~DefaultBackend() = default;
 
@@ -74,7 +76,7 @@
 std::unique_ptr<HttpCache::BackendFactory> HttpCache::DefaultBackend::InMemory(
     int max_bytes) {
   return std::make_unique<DefaultBackend>(MEMORY_CACHE, CACHE_BACKEND_DEFAULT,
-                                          base::FilePath(), max_bytes);
+                                          base::FilePath(), max_bytes, false);
 }
 
 int HttpCache::DefaultBackend::CreateBackend(
@@ -82,20 +84,20 @@
     std::unique_ptr<disk_cache::Backend>* backend,
     CompletionOnceCallback callback) {
   DCHECK_GE(max_bytes_, 0);
-  // TODO(crbug.com/1002220): Implement a forced reset for the http_cache when
-  // the Finch experiment status changes the cache configuration.
+  disk_cache::ResetHandling reset_handling =
+      hard_reset_ ? disk_cache::ResetHandling::kReset
+                  : disk_cache::ResetHandling::kResetOnError;
+  UMA_HISTOGRAM_BOOLEAN("HttpCache.HardReset", hard_reset_);
 #if defined(OS_ANDROID)
   if (app_status_listener_) {
     return disk_cache::CreateCacheBackend(
-        type_, backend_type_, path_, max_bytes_,
-        disk_cache::ResetHandling::kResetOnError, net_log, backend,
-        std::move(callback), app_status_listener_);
+        type_, backend_type_, path_, max_bytes_, reset_handling, net_log,
+        backend, std::move(callback), app_status_listener_);
   }
 #endif
-  return disk_cache::CreateCacheBackend(
-      type_, backend_type_, path_, max_bytes_,
-      disk_cache::ResetHandling::kResetOnError, net_log, backend,
-      std::move(callback));
+  return disk_cache::CreateCacheBackend(type_, backend_type_, path_, max_bytes_,
+                                        reset_handling, net_log, backend,
+                                        std::move(callback));
 }
 
 #if defined(OS_ANDROID)
diff --git a/net/http/http_cache.h b/net/http/http_cache.h
index a0bbaba..59cf665 100644
--- a/net/http/http_cache.h
+++ b/net/http/http_cache.h
@@ -100,7 +100,8 @@
     DefaultBackend(CacheType type,
                    BackendType backend_type,
                    const base::FilePath& path,
-                   int max_bytes);
+                   int max_bytes,
+                   bool hard_reset);
     ~DefaultBackend() override;
 
     // Returns a factory for an in-memory cache.
@@ -121,6 +122,7 @@
     BackendType backend_type_;
     const base::FilePath path_;
     int max_bytes_;
+    bool hard_reset_;
 #if defined(OS_ANDROID)
     base::android::ApplicationStatusListener* app_status_listener_ = nullptr;
 #endif
diff --git a/net/http/http_cache_unittest.cc b/net/http/http_cache_unittest.cc
index 67f625d..fea2d8c 100644
--- a/net/http/http_cache_unittest.cc
+++ b/net/http/http_cache_unittest.cc
@@ -3019,7 +3019,8 @@
   ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
 
   auto backend_factory = std::make_unique<HttpCache::DefaultBackend>(
-      DISK_CACHE, CACHE_BACKEND_BLOCKFILE, temp_dir.GetPath(), 1024 * 1024);
+      DISK_CACHE, CACHE_BACKEND_BLOCKFILE, temp_dir.GetPath(), 1024 * 1024,
+      false);
   MockHttpCache cache(std::move(backend_factory));
 
   RangeTransactionServer handler;
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
index 0094841..8ad449a 100644
--- a/net/url_request/url_request_context_builder.cc
+++ b/net/url_request/url_request_context_builder.cc
@@ -175,7 +175,7 @@
 }  // namespace
 
 URLRequestContextBuilder::HttpCacheParams::HttpCacheParams()
-    : type(IN_MEMORY), max_size(0) {}
+    : type(IN_MEMORY), max_size(0), reset_cache(false) {}
 URLRequestContextBuilder::HttpCacheParams::~HttpCacheParams() = default;
 
 URLRequestContextBuilder::URLRequestContextBuilder() = default;
@@ -603,7 +603,7 @@
       }
       http_cache_backend.reset(new HttpCache::DefaultBackend(
           DISK_CACHE, backend_type, http_cache_params_.path,
-          http_cache_params_.max_size));
+          http_cache_params_.max_size, http_cache_params_.reset_cache));
     } else {
       http_cache_backend =
           HttpCache::DefaultBackend::InMemory(http_cache_params_.max_size);
diff --git a/net/url_request/url_request_context_builder.h b/net/url_request/url_request_context_builder.h
index 8434c67..880b23f 100644
--- a/net/url_request/url_request_context_builder.h
+++ b/net/url_request/url_request_context_builder.h
@@ -119,6 +119,9 @@
     // based off available disk space.
     int max_size;
 
+    // Whether or not we need to reset the cache due to an experiment change.
+    bool reset_cache;
+
     // The cache path (when type is DISK).
     base::FilePath path;
 
diff --git a/services/network/cors/cors_url_loader.cc b/services/network/cors/cors_url_loader.cc
index 2da1a9e..23f76c34 100644
--- a/services/network/cors/cors_url_loader.cc
+++ b/services/network/cors/cors_url_loader.cc
@@ -252,14 +252,13 @@
   DCHECK(forwarding_client_);
   DCHECK(!deferred_redirect_url_);
 
-  int response_status_code =
-      response_head->headers ? response_head->headers->response_code() : 0;
-
+  // See 10.7.4 of https://fetch.spec.whatwg.org/#http-network-or-cache-fetch
   const bool is_304_for_revalidation =
-      request_.is_revalidating && response_status_code == 304;
+      request_.is_revalidating && response_head->headers &&
+      response_head->headers->response_code() == 304;
   if (fetch_cors_flag_ && !is_304_for_revalidation) {
     const auto error_status = CheckAccess(
-        request_.url, response_status_code,
+        request_.url,
         GetHeaderString(*response_head,
                         header_names::kAccessControlAllowOrigin),
         GetHeaderString(*response_head,
@@ -296,7 +295,7 @@
   // failure, then return a network error.
   if (fetch_cors_flag_ && IsCorsEnabledRequestMode(request_.mode)) {
     const auto error_status = CheckAccess(
-        request_.url, response_head->headers->response_code(),
+        request_.url,
         GetHeaderString(*response_head,
                         header_names::kAccessControlAllowOrigin),
         GetHeaderString(*response_head,
diff --git a/services/network/cors/preflight_controller.cc b/services/network/cors/preflight_controller.cc
index a6b0bae..2d50cdb 100644
--- a/services/network/cors/preflight_controller.cc
+++ b/services/network/cors/preflight_controller.cc
@@ -134,9 +134,8 @@
     base::Optional<CorsErrorStatus>* detected_error_status) {
   DCHECK(detected_error_status);
 
-  const int response_code = head.headers ? head.headers->response_code() : 0;
   *detected_error_status = CheckPreflightAccess(
-      final_url, response_code,
+      final_url, head.headers ? head.headers->response_code() : 0,
       GetHeaderString(head.headers, header_names::kAccessControlAllowOrigin),
       GetHeaderString(head.headers,
                       header_names::kAccessControlAllowCredentials),
@@ -145,13 +144,6 @@
   if (*detected_error_status)
     return nullptr;
 
-  base::Optional<mojom::CorsError> error;
-  error = CheckPreflight(response_code);
-  if (error) {
-    *detected_error_status = CorsErrorStatus(*error);
-    return nullptr;
-  }
-
   if (original_request.is_external_request) {
     *detected_error_status = CheckExternalPreflight(GetHeaderString(
         head.headers, header_names::kAccessControlAllowExternal));
@@ -159,6 +151,7 @@
       return nullptr;
   }
 
+  base::Optional<mojom::CorsError> error;
   auto result = PreflightResult::Create(
       original_request.credentials_mode,
       GetHeaderString(head.headers, header_names::kAccessControlAllowMethods),
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index e18aa74..e5dfb9c6f 100644
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1838,6 +1838,7 @@
       cache_params.path = *params_->http_cache_path;
       cache_params.type = network_session_configurator::ChooseCacheType();
     }
+    cache_params.reset_cache = params_->reset_http_cache_backend;
 
 #if defined(OS_ANDROID)
     cache_params.app_status_listener = app_status_listener();
diff --git a/services/network/p2p/socket_manager.cc b/services/network/p2p/socket_manager.cc
index fd14058..78c3a2b8 100644
--- a/services/network/p2p/socket_manager.cc
+++ b/services/network/p2p/socket_manager.cc
@@ -167,6 +167,9 @@
 }
 
 P2PSocketManager::~P2PSocketManager() {
+  // Reset the P2PSocketManager receiver before dropping pending dns requests.
+  socket_manager_receiver_.reset();
+
   sockets_.clear();
   dns_requests_.clear();
 
diff --git a/services/network/public/cpp/cors/cors.cc b/services/network/public/cpp/cors/cors.cc
index f20d665..932c5f3 100644
--- a/services/network/public/cpp/cors/cors.cc
+++ b/services/network/public/cpp/cors/cors.cc
@@ -123,16 +123,10 @@
 
 base::Optional<CorsErrorStatus> CheckAccessInternal(
     const GURL& response_url,
-    const int response_status_code,
     const base::Optional<std::string>& allow_origin_header,
     const base::Optional<std::string>& allow_credentials_header,
     mojom::CredentialsMode credentials_mode,
     const url::Origin& origin) {
-  // TODO(toyoshim): This response status code check should not be needed. We
-  // have another status code check after a CheckAccess() call if it is needed.
-  if (!response_status_code)
-    return CorsErrorStatus(mojom::CorsError::kInvalidResponse);
-
   if (allow_origin_header == kAsterisk) {
     // A wildcard Access-Control-Allow-Origin can not be used if credentials are
     // to be sent, even with Access-Control-Allow-Credentials set to true.
@@ -240,14 +234,13 @@
 // See https://fetch.spec.whatwg.org/#cors-check.
 base::Optional<CorsErrorStatus> CheckAccess(
     const GURL& response_url,
-    const int response_status_code,
     const base::Optional<std::string>& allow_origin_header,
     const base::Optional<std::string>& allow_credentials_header,
     mojom::CredentialsMode credentials_mode,
     const url::Origin& origin) {
-  base::Optional<CorsErrorStatus> error_status = CheckAccessInternal(
-      response_url, response_status_code, allow_origin_header,
-      allow_credentials_header, credentials_mode, origin);
+  const auto error_status =
+      CheckAccessInternal(response_url, allow_origin_header,
+                          allow_credentials_header, credentials_mode, origin);
   ReportAccessCheckResultMetric(error_status ? AccessCheckResult::kNotPermitted
                                              : AccessCheckResult::kPermitted);
   if (error_status) {
@@ -285,47 +278,58 @@
     const base::Optional<std::string>& allow_credentials_header,
     mojom::CredentialsMode actual_credentials_mode,
     const url::Origin& origin) {
-  const auto error_status = CheckAccessInternal(
-      response_url, response_status_code, allow_origin_header,
-      allow_credentials_header, actual_credentials_mode, origin);
+  // Step 7 of https://fetch.spec.whatwg.org/#cors-preflight-fetch
+  auto error_status = CheckAccessInternal(response_url, allow_origin_header,
+                                          allow_credentials_header,
+                                          actual_credentials_mode, origin);
+  const bool has_ok_status = IsOkStatus(response_status_code);
+
   ReportAccessCheckResultMetric(
-      error_status ? AccessCheckResult::kNotPermittedInPreflight
-                   : AccessCheckResult::kPermittedInPreflight);
-  if (!error_status)
+      (error_status || !has_ok_status)
+          ? AccessCheckResult::kNotPermittedInPreflight
+          : AccessCheckResult::kPermittedInPreflight);
+
+  // Prefer using a preflight specific error code.
+  if (error_status) {
+    switch (error_status->cors_error) {
+      case mojom::CorsError::kWildcardOriginNotAllowed:
+        error_status->cors_error =
+            mojom::CorsError::kPreflightWildcardOriginNotAllowed;
+        break;
+      case mojom::CorsError::kMissingAllowOriginHeader:
+        error_status->cors_error =
+            mojom::CorsError::kPreflightMissingAllowOriginHeader;
+        break;
+      case mojom::CorsError::kMultipleAllowOriginValues:
+        error_status->cors_error =
+            mojom::CorsError::kPreflightMultipleAllowOriginValues;
+        break;
+      case mojom::CorsError::kInvalidAllowOriginValue:
+        error_status->cors_error =
+            mojom::CorsError::kPreflightInvalidAllowOriginValue;
+        break;
+      case mojom::CorsError::kAllowOriginMismatch:
+        error_status->cors_error =
+            mojom::CorsError::kPreflightAllowOriginMismatch;
+        break;
+      case mojom::CorsError::kInvalidAllowCredentials:
+        error_status->cors_error =
+            mojom::CorsError::kPreflightInvalidAllowCredentials;
+        break;
+      default:
+        NOTREACHED();
+        break;
+    }
+  } else if (!has_ok_status) {
+    error_status = base::make_optional<CorsErrorStatus>(
+        mojom::CorsError::kPreflightInvalidStatus);
+  } else {
     return base::nullopt;
-
-  // TODO(toyoshim): Remove following two lines when the status code check is
-  // removed from CheckAccess().
-  if (error_status->cors_error == mojom::CorsError::kInvalidResponse)
-    return error_status;
-
-  mojom::CorsError error = error_status->cors_error;
-  switch (error_status->cors_error) {
-    case mojom::CorsError::kWildcardOriginNotAllowed:
-      error = mojom::CorsError::kPreflightWildcardOriginNotAllowed;
-      break;
-    case mojom::CorsError::kMissingAllowOriginHeader:
-      error = mojom::CorsError::kPreflightMissingAllowOriginHeader;
-      break;
-    case mojom::CorsError::kMultipleAllowOriginValues:
-      error = mojom::CorsError::kPreflightMultipleAllowOriginValues;
-      break;
-    case mojom::CorsError::kInvalidAllowOriginValue:
-      error = mojom::CorsError::kPreflightInvalidAllowOriginValue;
-      break;
-    case mojom::CorsError::kAllowOriginMismatch:
-      error = mojom::CorsError::kPreflightAllowOriginMismatch;
-      break;
-    case mojom::CorsError::kInvalidAllowCredentials:
-      error = mojom::CorsError::kPreflightInvalidAllowCredentials;
-      break;
-    default:
-      NOTREACHED();
-      break;
   }
-  UMA_HISTOGRAM_ENUMERATION("Net.Cors.PreflightCheckError", error);
 
-  return CorsErrorStatus(error, error_status->failed_parameter);
+  UMA_HISTOGRAM_ENUMERATION("Net.Cors.PreflightCheckError",
+                            error_status->cors_error);
+  return error_status;
 }
 
 base::Optional<CorsErrorStatus> CheckRedirectLocation(
@@ -359,16 +363,6 @@
   return base::nullopt;
 }
 
-base::Optional<mojom::CorsError> CheckPreflight(const int status_code) {
-  // CORS preflight with 3XX is considered network error in
-  // Fetch API Spec: https://fetch.spec.whatwg.org/#cors-preflight-fetch
-  // CORS Spec: http://www.w3.org/TR/cors/#cross-origin-request-with-preflight-0
-  // https://crbug.com/452394
-  if (IsOkStatus(status_code))
-    return base::nullopt;
-  return mojom::CorsError::kPreflightInvalidStatus;
-}
-
 // https://wicg.github.io/cors-rfc1918/#http-headerdef-access-control-allow-external
 base::Optional<CorsErrorStatus> CheckExternalPreflight(
     const base::Optional<std::string>& allow_external) {
diff --git a/services/network/public/cpp/cors/cors.h b/services/network/public/cpp/cors/cors.h
index 231421f..736a01d 100644
--- a/services/network/public/cpp/cors/cors.h
+++ b/services/network/public/cpp/cors/cors.h
@@ -53,7 +53,6 @@
 COMPONENT_EXPORT(NETWORK_CPP)
 base::Optional<CorsErrorStatus> CheckAccess(
     const GURL& response_url,
-    const int response_status_code,
     const base::Optional<std::string>& allow_origin_header,
     const base::Optional<std::string>& allow_credentials_header,
     mojom::CredentialsMode credentials_mode,
@@ -93,12 +92,6 @@
     bool cors_flag,
     bool tainted);
 
-// Performs the required CORS checks on the response to a preflight request.
-// Returns |kPreflightSuccess| if preflight response was successful.
-// TODO(toyoshim): Rename to CheckPreflightStatus.
-COMPONENT_EXPORT(NETWORK_CPP)
-base::Optional<mojom::CorsError> CheckPreflight(const int status_code);
-
 // Checks errors for the currently experimental "Access-Control-Allow-External:"
 // header. Shares error conditions with standard preflight checking.
 // See https://crbug.com/590714.
diff --git a/services/network/public/cpp/cors/cors_unittest.cc b/services/network/public/cpp/cors/cors_unittest.cc
index 111bd343..2d23129 100644
--- a/services/network/public/cpp/cors/cors_unittest.cc
+++ b/services/network/public/cpp/cors/cors_unittest.cc
@@ -16,27 +16,15 @@
 
 using CorsTest = testing::Test;
 
-TEST_F(CorsTest, CheckAccessDetectsInvalidResponse) {
-  base::Optional<CorsErrorStatus> error_status =
-      CheckAccess(GURL(), 0 /* response_status_code */,
-                  base::nullopt /* allow_origin_header */,
-                  base::nullopt /* allow_credentials_header */,
-                  network::mojom::CredentialsMode::kOmit, url::Origin());
-  ASSERT_TRUE(error_status);
-  EXPECT_EQ(mojom::CorsError::kInvalidResponse, error_status->cors_error);
-}
-
 // Tests if CheckAccess detects kWildcardOriginNotAllowed error correctly.
 TEST_F(CorsTest, CheckAccessDetectsWildcardOriginNotAllowed) {
   const GURL response_url("http://example.com/data");
   const url::Origin origin = url::Origin::Create(GURL("http://google.com"));
-  const int response_status_code = 200;
   const std::string allow_all_header("*");
 
   // Access-Control-Allow-Origin '*' works.
   base::Optional<CorsErrorStatus> error1 =
-      CheckAccess(response_url, response_status_code,
-                  allow_all_header /* allow_origin_header */,
+      CheckAccess(response_url, allow_all_header /* allow_origin_header */,
                   base::nullopt /* allow_credentials_header */,
                   network::mojom::CredentialsMode::kOmit, origin);
   EXPECT_FALSE(error1);
@@ -44,8 +32,7 @@
   // Access-Control-Allow-Origin '*' should not be allowed if credentials mode
   // is kInclude.
   base::Optional<CorsErrorStatus> error2 =
-      CheckAccess(response_url, response_status_code,
-                  allow_all_header /* allow_origin_header */,
+      CheckAccess(response_url, allow_all_header /* allow_origin_header */,
                   base::nullopt /* allow_credentials_header */,
                   network::mojom::CredentialsMode::kInclude, origin);
   ASSERT_TRUE(error2);
@@ -56,12 +43,10 @@
 TEST_F(CorsTest, CheckAccessDetectsMissingAllowOriginHeader) {
   const GURL response_url("http://example.com/data");
   const url::Origin origin = url::Origin::Create(GURL("http://google.com"));
-  const int response_status_code = 200;
 
   // Access-Control-Allow-Origin is missed.
   base::Optional<CorsErrorStatus> error =
-      CheckAccess(response_url, response_status_code,
-                  base::nullopt /* allow_origin_header */,
+      CheckAccess(response_url, base::nullopt /* allow_origin_header */,
                   base::nullopt /* allow_credentials_header */,
                   network::mojom::CredentialsMode::kOmit, origin);
   ASSERT_TRUE(error);
@@ -73,25 +58,22 @@
 TEST_F(CorsTest, CheckAccessDetectsMultipleAllowOriginValues) {
   const GURL response_url("http://example.com/data");
   const url::Origin origin = url::Origin::Create(GURL("http://google.com"));
-  const int response_status_code = 200;
 
   const std::string space_separated_multiple_origins(
       "http://example.com http://another.example.com");
-  base::Optional<CorsErrorStatus> error1 =
-      CheckAccess(response_url, response_status_code,
-                  space_separated_multiple_origins /* allow_origin_header */,
-                  base::nullopt /* allow_credentials_header */,
-                  network::mojom::CredentialsMode::kOmit, origin);
+  base::Optional<CorsErrorStatus> error1 = CheckAccess(
+      response_url, space_separated_multiple_origins /* allow_origin_header */,
+      base::nullopt /* allow_credentials_header */,
+      network::mojom::CredentialsMode::kOmit, origin);
   ASSERT_TRUE(error1);
   EXPECT_EQ(mojom::CorsError::kMultipleAllowOriginValues, error1->cors_error);
 
   const std::string comma_separated_multiple_origins(
       "http://example.com,http://another.example.com");
-  base::Optional<CorsErrorStatus> error2 =
-      CheckAccess(response_url, response_status_code,
-                  comma_separated_multiple_origins /* allow_origin_header */,
-                  base::nullopt /* allow_credentials_header */,
-                  network::mojom::CredentialsMode::kOmit, origin);
+  base::Optional<CorsErrorStatus> error2 = CheckAccess(
+      response_url, comma_separated_multiple_origins /* allow_origin_header */,
+      base::nullopt /* allow_credentials_header */,
+      network::mojom::CredentialsMode::kOmit, origin);
   ASSERT_TRUE(error2);
   EXPECT_EQ(mojom::CorsError::kMultipleAllowOriginValues, error2->cors_error);
 }
@@ -100,13 +82,11 @@
 TEST_F(CorsTest, CheckAccessDetectsInvalidAllowOriginValue) {
   const GURL response_url("http://example.com/data");
   const url::Origin origin = url::Origin::Create(GURL("http://google.com"));
-  const int response_status_code = 200;
 
-  base::Optional<CorsErrorStatus> error =
-      CheckAccess(response_url, response_status_code,
-                  std::string("invalid.origin") /* allow_origin_header */,
-                  base::nullopt /* allow_credentials_header */,
-                  network::mojom::CredentialsMode::kOmit, origin);
+  base::Optional<CorsErrorStatus> error = CheckAccess(
+      response_url, std::string("invalid.origin") /* allow_origin_header */,
+      base::nullopt /* allow_credentials_header */,
+      network::mojom::CredentialsMode::kOmit, origin);
   ASSERT_TRUE(error);
   EXPECT_EQ(mojom::CorsError::kInvalidAllowOriginValue, error->cors_error);
   EXPECT_EQ("invalid.origin", error->failed_parameter);
@@ -116,17 +96,15 @@
 TEST_F(CorsTest, CheckAccessDetectsAllowOriginMismatch) {
   const GURL response_url("http://example.com/data");
   const url::Origin origin = url::Origin::Create(GURL("http://google.com"));
-  const int response_status_code = 200;
 
   base::Optional<CorsErrorStatus> error1 =
-      CheckAccess(response_url, response_status_code,
-                  origin.Serialize() /* allow_origin_header */,
+      CheckAccess(response_url, origin.Serialize() /* allow_origin_header */,
                   base::nullopt /* allow_credentials_header */,
                   network::mojom::CredentialsMode::kOmit, origin);
   ASSERT_FALSE(error1);
 
   base::Optional<CorsErrorStatus> error2 = CheckAccess(
-      response_url, response_status_code,
+      response_url,
       std::string("http://not.google.com") /* allow_origin_header */,
       base::nullopt /* allow_credentials_header */,
       network::mojom::CredentialsMode::kOmit, origin);
@@ -139,10 +117,10 @@
   const url::Origin null_origin;
   EXPECT_EQ(null_string, null_origin.Serialize());
 
-  base::Optional<CorsErrorStatus> error3 = CheckAccess(
-      response_url, response_status_code, null_string /* allow_origin_header */,
-      base::nullopt /* allow_credentials_header */,
-      network::mojom::CredentialsMode::kOmit, null_origin);
+  base::Optional<CorsErrorStatus> error3 =
+      CheckAccess(response_url, null_string /* allow_origin_header */,
+                  base::nullopt /* allow_credentials_header */,
+                  network::mojom::CredentialsMode::kOmit, null_origin);
   EXPECT_FALSE(error3);
 }
 
@@ -150,18 +128,15 @@
 TEST_F(CorsTest, CheckAccessDetectsInvalidAllowCredential) {
   const GURL response_url("http://example.com/data");
   const url::Origin origin = url::Origin::Create(GURL("http://google.com"));
-  const int response_status_code = 200;
 
   base::Optional<CorsErrorStatus> error1 =
-      CheckAccess(response_url, response_status_code,
-                  origin.Serialize() /* allow_origin_header */,
+      CheckAccess(response_url, origin.Serialize() /* allow_origin_header */,
                   std::string("true") /* allow_credentials_header */,
                   network::mojom::CredentialsMode::kInclude, origin);
   ASSERT_FALSE(error1);
 
   base::Optional<CorsErrorStatus> error2 =
-      CheckAccess(response_url, response_status_code,
-                  origin.Serialize() /* allow_origin_header */,
+      CheckAccess(response_url, origin.Serialize() /* allow_origin_header */,
                   std::string("fuga") /* allow_credentials_header */,
                   network::mojom::CredentialsMode::kInclude, origin);
   ASSERT_TRUE(error2);
@@ -284,14 +259,41 @@
   }
 }
 
-TEST_F(CorsTest, CheckPreflightDetectsErrors) {
-  EXPECT_FALSE(CheckPreflight(200));
-  EXPECT_FALSE(CheckPreflight(299));
+TEST_F(CorsTest, CheckPreflightAccessDetectsErrorStatus) {
+  const GURL response_url("http://example.com/data");
+  const url::Origin origin = url::Origin::Create(GURL("http://google.com"));
+  const std::string allow_all_header("*");
 
-  base::Optional<mojom::CorsError> error1 = CheckPreflight(300);
-  ASSERT_TRUE(error1);
-  EXPECT_EQ(mojom::CorsError::kPreflightInvalidStatus, *error1);
+  // Status 200-299 should pass.
+  EXPECT_FALSE(
+      CheckPreflightAccess(response_url, 200, allow_all_header,
+                           base::nullopt /* allow_credentials_header */,
+                           network::mojom::CredentialsMode::kOmit, origin));
+  EXPECT_FALSE(
+      CheckPreflightAccess(response_url, 299, allow_all_header,
+                           base::nullopt /* allow_credentials_header */,
+                           network::mojom::CredentialsMode::kOmit, origin));
 
+  // Status 300 should fail.
+  base::Optional<CorsErrorStatus> invalid_status_error =
+      CheckPreflightAccess(response_url, 300, allow_all_header,
+                           base::nullopt /* allow_credentials_header */,
+                           network::mojom::CredentialsMode::kOmit, origin);
+  ASSERT_TRUE(invalid_status_error);
+  EXPECT_EQ(mojom::CorsError::kPreflightInvalidStatus,
+            invalid_status_error->cors_error);
+
+  // Status 0 should fail too.
+  invalid_status_error =
+      CheckPreflightAccess(response_url, 0, allow_all_header,
+                           base::nullopt /* allow_credentials_header */,
+                           network::mojom::CredentialsMode::kOmit, origin);
+  ASSERT_TRUE(invalid_status_error);
+  EXPECT_EQ(mojom::CorsError::kPreflightInvalidStatus,
+            invalid_status_error->cors_error);
+}
+
+TEST_F(CorsTest, CheckExternalPreflightErrors) {
   EXPECT_FALSE(CheckExternalPreflight(std::string("true")));
 
   base::Optional<CorsErrorStatus> error2 =
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
index 0b44874..32a60d94 100644
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -450,6 +450,12 @@
   // the dynamic preference from NetworkService side, to populate
   // HttpAuthPreference.
   HttpAuthStaticNetworkContextParams? http_auth_static_network_context_params;
+
+  // Indicates that the HttpCache back-end should be reset (e.g. when a Finch
+  // experiment changes the cache key representation via NetworkIsolationKey).
+  // A reset throws out all existing cache content when loading the cache,
+  // effectively starting with an empty cache.
+  bool reset_http_cache_backend = false;
 };
 
 struct NetworkConditions {
diff --git a/services/tracing/perfetto/consumer_host.cc b/services/tracing/perfetto/consumer_host.cc
index 58899e5..7df96762 100644
--- a/services/tracing/perfetto/consumer_host.cc
+++ b/services/tracing/perfetto/consumer_host.cc
@@ -84,7 +84,7 @@
 
 class ConsumerHost::StreamWriter {
  public:
-  using Slices = std::vector<std::string>;
+  using Slice = std::string;
 
   static scoped_refptr<base::SequencedTaskRunner> CreateTaskRunner() {
     return base::CreateSequencedTaskRunner({base::ThreadPool(),
@@ -101,34 +101,32 @@
         disconnect_callback_(std::move(disconnect_callback)),
         callback_task_runner_(callback_task_runner) {}
 
-  void WriteToStream(std::unique_ptr<Slices> slices, bool has_more) {
+  void WriteToStream(std::unique_ptr<Slice> slice, bool has_more) {
     DCHECK(stream_.is_valid());
-    for (const auto& slice : *slices) {
-      uint32_t write_position = 0;
 
-      while (write_position < slice.size()) {
-        uint32_t write_bytes = slice.size() - write_position;
+    uint32_t write_position = 0;
+    while (write_position < slice->size()) {
+      uint32_t write_bytes = slice->size() - write_position;
 
-        MojoResult result =
-            stream_->WriteData(slice.data() + write_position, &write_bytes,
-                               MOJO_WRITE_DATA_FLAG_NONE);
+      MojoResult result =
+          stream_->WriteData(slice->data() + write_position, &write_bytes,
+                             MOJO_WRITE_DATA_FLAG_NONE);
 
-        if (result == MOJO_RESULT_OK) {
-          write_position += write_bytes;
-          continue;
+      if (result == MOJO_RESULT_OK) {
+        write_position += write_bytes;
+        continue;
+      }
+
+      if (result == MOJO_RESULT_SHOULD_WAIT) {
+        result = mojo::Wait(stream_.get(), MOJO_HANDLE_SIGNAL_WRITABLE);
+      }
+
+      if (result != MOJO_RESULT_OK) {
+        if (!disconnect_callback_.is_null()) {
+          callback_task_runner_->PostTask(FROM_HERE,
+                                          std::move(disconnect_callback_));
         }
-
-        if (result == MOJO_RESULT_SHOULD_WAIT) {
-          result = mojo::Wait(stream_.get(), MOJO_HANDLE_SIGNAL_WRITABLE);
-        }
-
-        if (result != MOJO_RESULT_OK) {
-          if (!disconnect_callback_.is_null()) {
-            callback_task_runner_->PostTask(FROM_HERE,
-                                            std::move(disconnect_callback_));
-          }
-          return;
-        }
+        return;
       }
     }
 
@@ -465,11 +463,10 @@
 
 void ConsumerHost::TracingSession::OnJSONTraceData(std::string json,
                                                    bool has_more) {
-  auto slices = std::make_unique<StreamWriter::Slices>();
-  slices->push_back(std::string());
-  slices->back().swap(json);
+  auto slice = std::make_unique<StreamWriter::Slice>();
+  slice->swap(json);
   read_buffers_stream_writer_.Post(FROM_HERE, &StreamWriter::WriteToStream,
-                                   std::move(slices), has_more);
+                                   std::move(slice), has_more);
 
   if (!has_more) {
     read_buffers_stream_writer_.Reset();
@@ -480,14 +477,15 @@
     std::vector<perfetto::TracePacket> packets,
     bool has_more) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  if (trace_processor_) {
-    // Calculate space needed for trace chunk. Each packet has a preamble and
-    // payload size.
-    size_t max_size = packets.size() * perfetto::TracePacket::kMaxPreambleBytes;
-    for (const auto& packet : packets) {
-      max_size += packet.size();
-    }
 
+  // Calculate space needed for trace chunk. Each packet has a preamble and
+  // payload size.
+  size_t max_size = packets.size() * perfetto::TracePacket::kMaxPreambleBytes;
+  for (const auto& packet : packets) {
+    max_size += packet.size();
+  }
+
+  if (trace_processor_) {
     // Copy packets into a trace file chunk.
     size_t position = 0;
     std::unique_ptr<uint8_t[]> data(new uint8_t[max_size]);
@@ -518,19 +516,21 @@
     return;
   }
 
-  auto copy = std::make_unique<StreamWriter::Slices>();
+  // Copy packets into a trace slice.
+  auto chunk = std::make_unique<StreamWriter::Slice>();
+  chunk->reserve(max_size);
   for (auto& packet : packets) {
     char* data;
     size_t size;
     std::tie(data, size) = packet.GetProtoPreamble();
-    copy->emplace_back(data, size);
+    chunk->append(data, size);
     auto& slices = packet.slices();
     for (auto& slice : slices) {
-      copy->emplace_back(static_cast<const char*>(slice.start), slice.size);
+      chunk->append(static_cast<const char*>(slice.start), slice.size);
     }
   }
   read_buffers_stream_writer_.Post(FROM_HERE, &StreamWriter::WriteToStream,
-                                   std::move(copy), has_more);
+                                   std::move(chunk), has_more);
   if (!has_more) {
     read_buffers_stream_writer_.Reset();
   }
diff --git a/skia/BUILD.gn b/skia/BUILD.gn
index 4328ad5..07b170a 100644
--- a/skia/BUILD.gn
+++ b/skia/BUILD.gn
@@ -844,7 +844,7 @@
     ]
   }
 }
-if (is_mac) {
+if (is_mac || is_ios) {
   bundle_data("test_fonts_bundle_data") {
     public_deps = [
       "//third_party/test_fonts",
@@ -865,7 +865,7 @@
   deps = []
   data_deps = []
 
-  if (is_mac) {
+  if (is_mac || is_ios) {
     deps += [ ":test_fonts_bundle_data" ]
     data_deps += [ ":test_fonts_bundle_data" ]
   } else {
diff --git a/testing/scripts/run_wpt_tests.py b/testing/scripts/run_wpt_tests.py
index 5a0012d..d4b0989 100755
--- a/testing/scripts/run_wpt_tests.py
+++ b/testing/scripts/run_wpt_tests.py
@@ -55,7 +55,11 @@
             "--no-capture-stdio",
             "--no-manifest-download",
             "--no-pause-after-test",
-            "--no-fail-on-unexpected",
+            # Setting --no-fail-on-unexpected makes the return code of wpt 0
+            # even if there were test failures. The CQ doesn't like this since
+            # it uses the exit code to determine which shards to retry (ie:
+            # those that had non-zero exit codes).
+            #"--no-fail-on-unexpected",
             "--metadata",
             WPT_METADATA_DIR,
             # By specifying metadata above, WPT will try to find manifest in the
diff --git a/third_party/blink/common/BUILD.gn b/third_party/blink/common/BUILD.gn
index b003d6e..bcc9ab1 100644
--- a/third_party/blink/common/BUILD.gn
+++ b/third_party/blink/common/BUILD.gn
@@ -88,6 +88,7 @@
     "origin_trials/trial_token_validator.cc",
     "page/page_zoom.cc",
     "peerconnection/webrtc_ip_handling_policy.cc",
+    "permissions/permission_utils.cc",
     "scheduler/web_scheduler_tracked_feature.cc",
     "service_worker/service_worker_status_code.cc",
     "service_worker/service_worker_type_converters.cc",
diff --git a/third_party/blink/common/permissions/OWNERS b/third_party/blink/common/permissions/OWNERS
new file mode 100644
index 0000000..d83a9c5
--- /dev/null
+++ b/third_party/blink/common/permissions/OWNERS
@@ -0,0 +1,3 @@
+file://third_party/blink/renderer/modules/permissions/OWNERS
+
+# COMPONENT: Blink>PermissionsAPI
diff --git a/third_party/blink/common/permissions/permission_utils.cc b/third_party/blink/common/permissions/permission_utils.cc
new file mode 100644
index 0000000..fffd8eef
--- /dev/null
+++ b/third_party/blink/common/permissions/permission_utils.cc
@@ -0,0 +1,22 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/public/common/permissions/permission_utils.h"
+
+#include "base/logging.h"
+
+namespace blink {
+
+mojom::PermissionStatus ToPermissionStatus(const std::string& status) {
+  if (status == "granted")
+    return mojom::PermissionStatus::GRANTED;
+  if (status == "prompt")
+    return mojom::PermissionStatus::ASK;
+  if (status == "denied")
+    return mojom::PermissionStatus::DENIED;
+  NOTREACHED();
+  return mojom::PermissionStatus::DENIED;
+}
+
+}  // namespace blink
diff --git a/third_party/blink/public/common/BUILD.gn b/third_party/blink/public/common/BUILD.gn
index ad924c4..9a4c1d9 100644
--- a/third_party/blink/public/common/BUILD.gn
+++ b/third_party/blink/public/common/BUILD.gn
@@ -134,6 +134,7 @@
     "page/page_visibility_state.h",
     "page/page_zoom.h",
     "peerconnection/webrtc_ip_handling_policy.h",
+    "permissions/permission_utils.h",
     "plugin/plugin_action.h",
     "prerender/prerender_rel_type.h",
     "presentation/presentation_receiver_flags.h",
diff --git a/third_party/blink/public/common/permissions/OWNERS b/third_party/blink/public/common/permissions/OWNERS
new file mode 100644
index 0000000..d83a9c5
--- /dev/null
+++ b/third_party/blink/public/common/permissions/OWNERS
@@ -0,0 +1,3 @@
+file://third_party/blink/renderer/modules/permissions/OWNERS
+
+# COMPONENT: Blink>PermissionsAPI
diff --git a/third_party/blink/public/common/permissions/permission_utils.h b/third_party/blink/public/common/permissions/permission_utils.h
new file mode 100644
index 0000000..d623fc6
--- /dev/null
+++ b/third_party/blink/public/common/permissions/permission_utils.h
@@ -0,0 +1,22 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_PERMISSIONS_PERMISSION_UTILS_H_
+#define THIRD_PARTY_BLINK_PUBLIC_COMMON_PERMISSIONS_PERMISSION_UTILS_H_
+
+#include <string>
+
+#include "third_party/blink/public/common/common_export.h"
+#include "third_party/blink/public/mojom/permissions/permission_status.mojom-shared.h"
+
+namespace blink {
+
+// Converts a permission string ("granted", "denied", "prompt") into a
+// PermissionStatus.
+BLINK_COMMON_EXPORT mojom::PermissionStatus ToPermissionStatus(
+    const std::string& status);
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_PUBLIC_COMMON_PERMISSIONS_PERMISSION_UTILS_H_
diff --git a/third_party/blink/public/mojom/BUILD.gn b/third_party/blink/public/mojom/BUILD.gn
index 601f7953..0ea1cc8 100644
--- a/third_party/blink/public/mojom/BUILD.gn
+++ b/third_party/blink/public/mojom/BUILD.gn
@@ -94,6 +94,7 @@
     "payments/payment_app.mojom",
     "peerconnection/peer_connection_tracker.mojom",
     "permissions/permission.mojom",
+    "permissions/permission_automation.mojom",
     "permissions/permission_status.mojom",
     "picture_in_picture/picture_in_picture.mojom",
     "plugins/plugin_registry.mojom",
diff --git a/third_party/blink/public/mojom/permissions/permission_automation.mojom b/third_party/blink/public/mojom/permissions/permission_automation.mojom
new file mode 100644
index 0000000..9442f56
--- /dev/null
+++ b/third_party/blink/public/mojom/permissions/permission_automation.mojom
@@ -0,0 +1,21 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module blink.test.mojom;
+
+import "third_party/blink/public/mojom/permissions/permission.mojom";
+import "third_party/blink/public/mojom/permissions/permission_status.mojom";
+import "url/mojom/url.mojom";
+
+// Provides a way for tests to change the permission returned to permission
+// requests of a certain type (via the PermissionService interface).
+// See https://w3c.github.io/permissions/#automation
+interface PermissionAutomation {
+  // Sets the permission for |descriptor| to |status| when queried or requested
+  // in |origin| from |embedding_origin|.
+  SetPermission(blink.mojom.PermissionDescriptor descriptor,
+                blink.mojom.PermissionStatus status,
+                url.mojom.Url origin,
+                url.mojom.Url embedding_origin) => (bool success);
+};
diff --git a/third_party/blink/public/mojom/renderer_preferences.mojom b/third_party/blink/public/mojom/renderer_preferences.mojom
index 487391f6..ec41e11 100644
--- a/third_party/blink/public/mojom/renderer_preferences.mojom
+++ b/third_party/blink/public/mojom/renderer_preferences.mojom
@@ -40,7 +40,7 @@
   // positions for glyphs.  Currently only used by Linux.
   bool use_subpixel_positioning = false;
 
-  // The color of the focus ring. Currently only used on Linux.
+  // The color of the focus ring.
   uint32 focus_ring_color = 0xFFE59700;
 
   // The colors used in selection text. Currently only used on Linux and Ash.
diff --git a/third_party/blink/public/platform/web_url_response.h b/third_party/blink/public/platform/web_url_response.h
index 500fa6e..5135156 100644
--- a/third_party/blink/public/platform/web_url_response.h
+++ b/third_party/blink/public/platform/web_url_response.h
@@ -216,6 +216,7 @@
   BLINK_PLATFORM_EXPORT void SetHasMajorCertificateErrors(bool);
   BLINK_PLATFORM_EXPORT void SetCTPolicyCompliance(net::ct::CTPolicyCompliance);
   BLINK_PLATFORM_EXPORT void SetIsLegacyTLSVersion(bool);
+  BLINK_PLATFORM_EXPORT void SetTimingAllowPassed(bool);
 
   BLINK_PLATFORM_EXPORT void SetSecurityStyle(SecurityStyle);
 
diff --git a/third_party/blink/renderer/bindings/core/v8/idl_types.h b/third_party/blink/renderer/bindings/core/v8/idl_types.h
index cb2cb9a..3cc8a28 100644
--- a/third_party/blink/renderer/bindings/core/v8/idl_types.h
+++ b/third_party/blink/renderer/bindings/core/v8/idl_types.h
@@ -80,6 +80,44 @@
 using IDLStringTreatNullAsEmptyString =
     IDLStringBase<V8StringResourceMode::kTreatNullAsEmptyString>;
 
+// Strings for the new bindings generator
+
+namespace bindings {
+
+enum class NativeValueTraitsStringConv {
+  kDefault,
+  kNullable,
+  kTreatNullAsEmptyString,
+};
+
+}  // namespace bindings
+
+// ByteString
+template <bindings::NativeValueTraitsStringConv mode>
+struct IDLByteStringBaseV2 final : public IDLBaseHelper<String> {};
+using IDLByteStringV2 =
+    IDLByteStringBaseV2<bindings::NativeValueTraitsStringConv::kDefault>;
+using IDLByteStringOrNullV2 =
+    IDLByteStringBaseV2<bindings::NativeValueTraitsStringConv::kNullable>;
+
+// DOMString
+template <bindings::NativeValueTraitsStringConv mode>
+struct IDLStringBaseV2 final : public IDLBaseHelper<String> {};
+using IDLStringV2 =
+    IDLStringBaseV2<bindings::NativeValueTraitsStringConv::kDefault>;
+using IDLStringOrNullV2 =
+    IDLStringBaseV2<bindings::NativeValueTraitsStringConv::kNullable>;
+using IDLStringTreatNullAsEmptyStringV2 = IDLStringBaseV2<
+    bindings::NativeValueTraitsStringConv::kTreatNullAsEmptyString>;
+
+// USVString
+template <bindings::NativeValueTraitsStringConv mode>
+struct IDLUSVStringBaseV2 final : public IDLBaseHelper<String> {};
+using IDLUSVStringV2 =
+    IDLUSVStringBaseV2<bindings::NativeValueTraitsStringConv::kDefault>;
+using IDLUSVStringOrNullV2 =
+    IDLUSVStringBaseV2<bindings::NativeValueTraitsStringConv::kNullable>;
+
 // Double
 struct IDLDouble final : public IDLBaseHelper<double> {};
 struct IDLUnrestrictedDouble final : public IDLBaseHelper<double> {};
diff --git a/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h b/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h
index 2a0c8ac9..e03b4ea 100644
--- a/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h
+++ b/third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h
@@ -341,6 +341,140 @@
   static String NullValue() { return String(); }
 };
 
+// Strings for the new bindings generator
+
+namespace bindings {
+
+// ToBlinkString implements AtomicString- and String-specific conversions from
+// v8::String.  NativeValueTraitsStringAdapter helps select the best conversion.
+//
+// Example:
+//   void F(const AtomicString& s);
+//   void G(const String& s);
+//
+//   const NativeValueTraitsStringAdapter& x = ...;
+//   F(x);  // ToBlinkString<AtomicString> is used.
+//   G(x);  // ToBlinkString<String> is used.
+class NativeValueTraitsStringAdapter {
+ public:
+  NativeValueTraitsStringAdapter() = default;
+  NativeValueTraitsStringAdapter(const NativeValueTraitsStringAdapter&) =
+      default;
+  NativeValueTraitsStringAdapter(NativeValueTraitsStringAdapter&&) = default;
+  NativeValueTraitsStringAdapter(v8::Local<v8::String> value)
+      : v8_string_(value) {}
+  NativeValueTraitsStringAdapter(const String& value) : wtf_string_(value) {}
+  NativeValueTraitsStringAdapter(int32_t value)
+      : wtf_string_(ToBlinkString(value)) {}
+
+  NativeValueTraitsStringAdapter& operator=(
+      const NativeValueTraitsStringAdapter&) = default;
+  NativeValueTraitsStringAdapter& operator=(NativeValueTraitsStringAdapter&&) =
+      default;
+
+  operator String() const { return ToString<String>(); }
+  operator AtomicString() const { return ToString<AtomicString>(); }
+
+ private:
+  template <class StringType>
+  StringType ToString() const {
+    if (LIKELY(!v8_string_.IsEmpty()))
+      return ToBlinkString<StringType>(v8_string_, kExternalize);
+    return StringType(wtf_string_);
+  }
+
+  v8::Local<v8::String> v8_string_;
+  String wtf_string_;
+};
+
+}  // namespace bindings
+
+template <bindings::NativeValueTraitsStringConv mode>
+struct NativeValueTraits<IDLByteStringBaseV2<mode>>
+    : public NativeValueTraitsBase<IDLByteStringBaseV2<mode>> {
+  // http://heycam.github.io/webidl/#es-ByteString
+  static bindings::NativeValueTraitsStringAdapter NativeValue(
+      v8::Isolate* isolate,
+      v8::Local<v8::Value> value,
+      ExceptionState& exception_state) {
+    if (value->IsString() and value.As<v8::String>()->ContainsOnlyOneByte())
+      return bindings::NativeValueTraitsStringAdapter(value.As<v8::String>());
+    if (value->IsInt32()) {
+      return bindings::NativeValueTraitsStringAdapter(
+          value.As<v8::Int32>()->Value());
+    }
+
+    if (mode == bindings::NativeValueTraitsStringConv::kNullable) {
+      if (value->IsNullOrUndefined())
+        return bindings::NativeValueTraitsStringAdapter();
+    }
+
+    v8::TryCatch try_catch(isolate);
+    v8::Local<v8::String> v8_string;
+    if (!value->ToString(isolate->GetCurrentContext()).ToLocal(&v8_string)) {
+      exception_state.RethrowV8Exception(try_catch.Exception());
+      return bindings::NativeValueTraitsStringAdapter();
+    }
+    if (!v8_string->ContainsOnlyOneByte()) {
+      exception_state.ThrowTypeError(
+          "String contains non ISO-8859-1 code point.");
+      return bindings::NativeValueTraitsStringAdapter();
+    }
+    return bindings::NativeValueTraitsStringAdapter(v8_string);
+  }
+};
+
+template <bindings::NativeValueTraitsStringConv mode>
+struct NativeValueTraits<IDLStringBaseV2<mode>>
+    : public NativeValueTraitsBase<IDLStringBaseV2<mode>> {
+  // https://heycam.github.io/webidl/#es-DOMString
+  static bindings::NativeValueTraitsStringAdapter NativeValue(
+      v8::Isolate* isolate,
+      v8::Local<v8::Value> value,
+      ExceptionState& exception_state) {
+    if (value->IsString())
+      return bindings::NativeValueTraitsStringAdapter(value.As<v8::String>());
+    if (value->IsInt32()) {
+      return bindings::NativeValueTraitsStringAdapter(
+          value.As<v8::Int32>()->Value());
+    }
+
+    if (mode == bindings::NativeValueTraitsStringConv::kNullable) {
+      if (value->IsNullOrUndefined())
+        return bindings::NativeValueTraitsStringAdapter();
+    }
+    if (mode ==
+        bindings::NativeValueTraitsStringConv::kTreatNullAsEmptyString) {
+      if (value->IsNull())
+        return bindings::NativeValueTraitsStringAdapter(g_empty_string);
+    }
+
+    v8::TryCatch try_catch(isolate);
+    v8::Local<v8::String> v8_string;
+    if (!value->ToString(isolate->GetCurrentContext()).ToLocal(&v8_string)) {
+      exception_state.RethrowV8Exception(try_catch.Exception());
+      return bindings::NativeValueTraitsStringAdapter();
+    }
+    return bindings::NativeValueTraitsStringAdapter(v8_string);
+  }
+};
+
+template <bindings::NativeValueTraitsStringConv mode>
+struct NativeValueTraits<IDLUSVStringBaseV2<mode>>
+    : public NativeValueTraitsBase<IDLUSVStringBaseV2<mode>> {
+  // http://heycam.github.io/webidl/#es-USVString
+  static String NativeValue(v8::Isolate* isolate,
+                            v8::Local<v8::Value> value,
+                            ExceptionState& exception_state) {
+    String string = NativeValueTraits<IDLStringBaseV2<mode>>::NativeValue(
+        isolate, value, exception_state);
+    if (exception_state.HadException())
+      return String();
+
+    return ReplaceUnmatchedSurrogates(string);
+  }
+};
+
 // Floats and doubles
 template <>
 struct CORE_EXPORT NativeValueTraits<IDLDouble>
diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py b/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py
index 2955445..839981fc 100644
--- a/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py
+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py
@@ -150,13 +150,12 @@
             "ScriptPromise", ref_fmt="{}&", const_ref_fmt="const {}&")
 
     if real_type.is_union:
-        def_obj = real_type.union_definition_object
-        blink_impl_type = blink_class_name(def_obj)
+        blink_impl_type = blink_class_name(real_type.union_definition_object)
         return TypeInfo(
             blink_impl_type,
             ref_fmt="{}&",
             const_ref_fmt="const {}&",
-            is_nullable=def_obj.does_include_nullable_type)
+            is_nullable=True)
 
     if real_type.is_nullable:
         inner_type = blink_type_info(real_type.inner_type)
@@ -176,10 +175,13 @@
 
     real_type = idl_type.unwrap(typedef=True)
 
-    if (real_type.is_boolean or real_type.is_numeric or real_type.is_string
-            or real_type.is_any or real_type.is_object):
+    if (real_type.is_boolean or real_type.is_numeric or real_type.is_any
+            or real_type.is_object):
         return "IDL{}".format(real_type.type_name)
 
+    if real_type.unwrap(nullable=True).is_string:
+        return "IDL{}V2".format(real_type.type_name)
+
     if real_type.is_symbol:
         assert False, "Blink does not support/accept IDL symbol type."
 
@@ -207,6 +209,8 @@
     if real_type.is_nullable:
         return "IDLNullable<{}>".format(native_value_tag(real_type.inner_type))
 
+    assert False
+
 
 def make_default_value_expr(idl_type, default_value):
     """
@@ -239,6 +243,9 @@
         elif type_info.value_t == "ScriptValue":
             initializer = None  # ScriptValue::IsEmpty() by default
             assignment_value = "ScriptValue()"
+        elif idl_type.unwrap().is_union:
+            initializer = None  # <union_type>::IsNull() by default
+            assignment_value = "{}()".format(type_info.value_t)
         else:
             assert not type_info.is_nullable
             initializer = None  # !base::Optional::has_value() by default
diff --git a/third_party/blink/renderer/build/scripts/core/css/css_properties.py b/third_party/blink/renderer/build/scripts/core/css/css_properties.py
index b6b40d0d..5967df70 100755
--- a/third_party/blink/renderer/build/scripts/core/css/css_properties.py
+++ b/third_party/blink/renderer/build/scripts/core/css/css_properties.py
@@ -54,6 +54,18 @@
     if property_to_check['alias_for']:
         assert not property_to_check['is_internal'], \
             'Internal aliases is not supported'
+    if property_to_check['valid_for_first_letter']:
+        assert not property_to_check['longhands'], \
+            'Shorthand %s should not be marked as valid_for_first_letter' % \
+            property_to_check['name']
+    if property_to_check['valid_for_cue']:
+        assert not property_to_check['longhands'], \
+            'Shorthand %s should not be marked as valid_for_cue' % \
+            property_to_check['name']
+    if property_to_check['valid_for_marker']:
+        assert not property_to_check['longhands'], \
+            'Shorthand %s should not be marked as valid_for_marker' % \
+            property_to_check['name']
 
 
 class CSSProperties(object):
diff --git a/third_party/blink/renderer/build/scripts/core/css/properties/templates/css_properties.h.tmpl b/third_party/blink/renderer/build/scripts/core/css/properties/templates/css_properties.h.tmpl
index 20d6d09..3d46184 100644
--- a/third_party/blink/renderer/build/scripts/core/css/properties/templates/css_properties.h.tmpl
+++ b/third_party/blink/renderer/build/scripts/core/css/properties/templates/css_properties.h.tmpl
@@ -42,6 +42,9 @@
   (property.affected_by_forced_colors and 'kIsAffectedByForcedColors' or ''),
   (property.ua and 'kUA' or ''),
   (property.is_animation_property and 'kAnimation' or ''),
+  (property.valid_for_first_letter and 'kValidForFirstLetter' or ''),
+  (property.valid_for_cue and 'kValidForCue' or ''),
+  (property.valid_for_marker and 'kValidForMarker' or ''),
 ] | reject('==', '') | join(' | ') %}
 {% set ctor_args = (not is_alias and [property_id, flags, separator] or []) %}
 // {{property.name}}
diff --git a/third_party/blink/renderer/core/DEPS b/third_party/blink/renderer/core/DEPS
index 5c38eb42..d3d2c29 100644
--- a/third_party/blink/renderer/core/DEPS
+++ b/third_party/blink/renderer/core/DEPS
@@ -134,5 +134,6 @@
     ],
     "document.cc" : [
         "+net/base/registry_controlled_domains/registry_controlled_domain.h",
-    ]
+    ],
+    "(computed_style|computed_style_test)\.cc" : [ "+ui/base/ui_base_features.h" ]
 }
diff --git a/third_party/blink/renderer/core/css/css_gradient_value.cc b/third_party/blink/renderer/core/css/css_gradient_value.cc
index e4b4c49..13d416e 100644
--- a/third_party/blink/renderer/core/css/css_gradient_value.cc
+++ b/third_party/blink/renderer/core/css/css_gradient_value.cc
@@ -48,6 +48,7 @@
 #include "third_party/blink/renderer/platform/graphics/gradient_generated_image.h"
 #include "third_party/blink/renderer/platform/graphics/image.h"
 #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
+#include "third_party/blink/renderer/platform/heap/heap.h"
 #include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
 
@@ -1522,7 +1523,7 @@
 CSSConicGradientValue* CSSConicGradientValue::ComputedCSSValue(
     const ComputedStyle& style,
     bool allow_visited_style) {
-  CSSConicGradientValue* result = CSSConicGradientValue::Create(
+  auto* result = MakeGarbageCollected<CSSConicGradientValue>(
       x_, y_, from_angle_, repeating_ ? kRepeating : kNonRepeating);
   result->AddComputedStops(style, allow_visited_style, stops_);
   return result;
diff --git a/third_party/blink/renderer/core/css/css_gradient_value.h b/third_party/blink/renderer/core/css/css_gradient_value.h
index 6976a76b..6596e0e0 100644
--- a/third_party/blink/renderer/core/css/css_gradient_value.h
+++ b/third_party/blink/renderer/core/css/css_gradient_value.h
@@ -305,14 +305,6 @@
 
 class CSSConicGradientValue final : public CSSGradientValue {
  public:
-  static CSSConicGradientValue* Create(const CSSValue* x,
-                                       const CSSValue* y,
-                                       const CSSPrimitiveValue* from_angle,
-                                       CSSGradientRepeat repeat) {
-    return MakeGarbageCollected<CSSConicGradientValue>(x, y, from_angle,
-                                                       repeat);
-  }
-
   CSSConicGradientValue(const CSSValue* x,
                         const CSSValue* y,
                         const CSSPrimitiveValue* from_angle,
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
index 9beb4c6..f4e2cfdb2 100644
--- a/third_party/blink/renderer/core/css/css_properties.json5
+++ b/third_party/blink/renderer/core/css/css_properties.json5
@@ -443,6 +443,29 @@
       valid_type: "str",
     },
 
+    // - valid_for_first_letter: true
+    //
+    // https://drafts.csswg.org/css-pseudo-4/#first-letter-styling
+    valid_for_first_letter: {
+      default: false,
+      valid_type: "bool",
+    },
+
+    // - valid_for_cue: true
+    //
+    // https://w3c.github.io/webvtt/#the-cue-pseudo-element
+    valid_for_cue: {
+      default: false,
+      valid_type: "bool",
+    },
+
+    // - valid_for_marker: true
+    //
+    // https://drafts.csswg.org/css-pseudo-4/#marker-pseudo
+    valid_for_marker: {
+      default: false,
+      valid_type: "bool",
+    },
   },
 
   // Members in the data objects should appear in the same order as in the
@@ -637,6 +660,9 @@
       keywords: ["currentcolor"],
       typedom_types: ["Keyword"],
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
+      valid_for_cue: true,
+      valid_for_marker: true,
     },
     {
       name: "direction",
@@ -651,6 +677,7 @@
       type_name: "TextDirection",
       style_builder_custom_functions: ["value"],
       priority: "High",
+      valid_for_marker: true,
     },
     {
       name: "font-family",
@@ -662,6 +689,9 @@
       type_name: "FontDescription::FamilyDescription",
       converter: "ConvertFontFamily",
       priority: "High",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
+      valid_for_marker: true,
     },
     {
       name: "font-kerning",
@@ -673,6 +703,8 @@
       priority: "High",
       keywords: ["auto", "normal", "none"],
       typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
+      valid_for_marker: true,
     },
     {
       name: "font-optical-sizing",
@@ -683,7 +715,9 @@
       type_name: "OpticalSizing",
       priority: "High",
       keywords: ["auto", "none"],
-      typedom_types: ["Keyword"]
+      typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
+      valid_for_marker: true,
     },
     {
       name: "font-size",
@@ -696,7 +730,10 @@
       converter: "ConvertFontSize",
       priority: "High",
       keywords: ["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "xxx-large", "larger", "smaller", "-webkit-xxx-large"],
-      typedom_types: ["Keyword", "Length", "Percentage"]
+      typedom_types: ["Keyword", "Length", "Percentage"],
+      valid_for_first_letter: true,
+      valid_for_cue: true,
+      valid_for_marker: true,
     },
     {
       name: "font-size-adjust",
@@ -709,7 +746,9 @@
       converter: "ConvertFontSizeAdjust",
       priority: "High",
       keywords: ["none"],
-      typedom_types: ["Keyword", "Number"]
+      typedom_types: ["Keyword", "Number"],
+      valid_for_first_letter: true,
+      valid_for_marker: true,
     },
     {
       name: "font-stretch",
@@ -724,7 +763,10 @@
         "normal", "ultra-condensed", "extra-condensed", "condensed",
         "semi-condensed", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded"
       ],
-      typedom_types: ["Keyword", "Percentage"]
+      typedom_types: ["Keyword", "Percentage"],
+      valid_for_first_letter: true,
+      valid_for_cue: true,
+      valid_for_marker: true,
     },
     {
       name: "font-style",
@@ -737,6 +779,9 @@
       priority: "High",
       keywords: ["normal", "italic", "oblique"],
       typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
+      valid_for_cue: true,
+      valid_for_marker: true,
     },
     {
       name: "font-variant-ligatures",
@@ -754,6 +799,8 @@
          "no-contextual"
       ],
       typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
+      valid_for_marker: true,
     },
     {
       name: "font-variant-caps",
@@ -768,6 +815,8 @@
         "all-petite-caps", "unicase", "titling-caps"
       ],
       typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
+      valid_for_marker: true,
     },
     {
       name: "font-variant-east-asian",
@@ -782,6 +831,8 @@
          "traditional", "full-width", "proportional-width", "ruby"
       ],
       typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
+      valid_for_marker: true,
     },
     {
       name: "font-variant-numeric",
@@ -797,6 +848,8 @@
         "slashed-zero"
       ],
       typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
+      valid_for_marker: true,
     },
     {
       name: "font-weight",
@@ -809,7 +862,10 @@
       converter: "ConvertFontWeight",
       priority: "High",
       keywords: ["normal", "bold", "bolder", "lighter"],
-      typedom_types: ["Keyword", "Number"]
+      typedom_types: ["Keyword", "Number"],
+      valid_for_first_letter: true,
+      valid_for_cue: true,
+      valid_for_marker: true,
     },
     {
       name: "font-feature-settings",
@@ -822,6 +878,8 @@
       priority: "High",
       keywords: ["normal"],
       typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
+      valid_for_marker: true,
     },
     {
       name: "font-variation-settings",
@@ -833,7 +891,10 @@
       converter: "ConvertFontVariationSettings",
       priority: "High",
       keywords: ["normal"],
-      typedom_types: ["Keyword"]
+      typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
+      valid_for_cue: true,
+      valid_for_marker: true,
     },
     {
       name: "-webkit-font-smoothing",
@@ -842,6 +903,7 @@
       font: true,
       type_name: "FontSmoothingMode",
       priority: "High",
+      valid_for_first_letter: true,
     },
     {
       name: "forced-color-adjust",
@@ -1000,6 +1062,8 @@
       style_builder_template_args: {
         fill_type: "Attachment",
       },
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "background-blend-mode",
@@ -1016,6 +1080,7 @@
         fill_type: "BlendMode",
         fill_type_getter: "GetBlendMode",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "background-clip",
@@ -1027,6 +1092,8 @@
       style_builder_template_args: {
         fill_type: "Clip",
       },
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "background-color",
@@ -1046,6 +1113,8 @@
         initial_color: "ComputedStyleInitialValues::InitialBackgroundColor",
       },
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "background-image",
@@ -1059,6 +1128,8 @@
         fill_type: "Image",
         fill_type_getter: "GetImage",
       },
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "background-origin",
@@ -1070,6 +1141,8 @@
       style_builder_template_args: {
         fill_type: "Origin",
       },
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "background-position-x",
@@ -1079,6 +1152,8 @@
       style_builder_template_args: {
         fill_type: "PositionX",
       },
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "background-position-y",
@@ -1088,6 +1163,8 @@
       style_builder_template_args: {
         fill_type: "PositionY",
       },
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "background-repeat-x",
@@ -1095,6 +1172,8 @@
       style_builder_template_args: {
         fill_type: "RepeatX",
       },
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "background-repeat-y",
@@ -1102,6 +1181,8 @@
       style_builder_template_args: {
         fill_type: "RepeatY",
       },
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "background-size",
@@ -1114,6 +1195,8 @@
       style_builder_template_args: {
         fill_type: "Size",
       },
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "baseline-shift",
@@ -1140,6 +1223,7 @@
       converter: "ConvertStyleColor",
       style_builder_template: "color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "border-bottom-left-radius",
@@ -1152,6 +1236,7 @@
       type_name: "LengthSize",
       converter: "ConvertRadius",
       typedom_types: ["Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "border-bottom-right-radius",
@@ -1164,6 +1249,7 @@
       type_name: "LengthSize",
       converter: "ConvertRadius",
       typedom_types: ["Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "border-bottom-style",
@@ -1178,6 +1264,7 @@
       typedom_types: ["Keyword"],
       default_value: "none",
       type_name: "EBorderStyle",
+      valid_for_first_letter: true,
     },
     {
       name: "border-bottom-width",
@@ -1193,6 +1280,7 @@
       type_name: "LayoutUnit",
       computed_style_custom_functions: ["getter", "setter"],
       converter: "ConvertBorderWidth",
+      valid_for_first_letter: true,
     },
     {
       name: "border-collapse",
@@ -1214,6 +1302,7 @@
       style_builder_template_args: {
         modifier_type: "Outset",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-image-repeat",
@@ -1225,6 +1314,7 @@
       style_builder_template_args: {
         modifier_type: "Repeat",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-image-slice",
@@ -1236,6 +1326,7 @@
       style_builder_template_args: {
         modifier_type: "Slice",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-image-source",
@@ -1245,6 +1336,7 @@
       keywords: ["none"],
       typedom_types: ["Keyword", "Image"],
       style_builder_custom_functions: ["value"],
+      valid_for_first_letter: true,
     },
     {
       name: "border-image-width",
@@ -1257,6 +1349,7 @@
       style_builder_template_args: {
         modifier_type: "Width",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-left-color",
@@ -1274,6 +1367,7 @@
       converter: "ConvertStyleColor",
       style_builder_template: "color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "border-left-style",
@@ -1288,6 +1382,7 @@
       typedom_types: ["Keyword"],
       default_value: "none",
       type_name: "EBorderStyle",
+      valid_for_first_letter: true,
     },
     {
       name: "border-left-width",
@@ -1303,6 +1398,7 @@
       type_name: "LayoutUnit",
       computed_style_custom_functions: ["getter", "setter"],
       converter: "ConvertBorderWidth",
+      valid_for_first_letter: true,
     },
     {
       name: "border-right-color",
@@ -1320,6 +1416,7 @@
       converter: "ConvertStyleColor",
       style_builder_template: "color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "border-right-style",
@@ -1334,6 +1431,7 @@
       typedom_types: ["Keyword"],
       default_value: "none",
       type_name: "EBorderStyle",
+      valid_for_first_letter: true,
     },
     {
       name: "border-right-width",
@@ -1349,6 +1447,7 @@
       type_name: "LayoutUnit",
       computed_style_custom_functions: ["getter", "setter"],
       converter: "ConvertBorderWidth",
+      valid_for_first_letter: true,
     },
     {
       name: "border-top-color",
@@ -1366,6 +1465,7 @@
       converter: "ConvertStyleColor",
       style_builder_template: "color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "border-top-left-radius",
@@ -1378,6 +1478,7 @@
       type_name: "LengthSize",
       converter: "ConvertRadius",
       typedom_types: ["Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "border-top-right-radius",
@@ -1390,6 +1491,7 @@
       type_name: "LengthSize",
       converter: "ConvertRadius",
       typedom_types: ["Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "border-top-style",
@@ -1404,6 +1506,7 @@
       typedom_types: ["Keyword"],
       default_value: "none",
       type_name: "EBorderStyle",
+      valid_for_first_letter: true,
     },
     {
       name: "border-top-width",
@@ -1419,6 +1522,7 @@
       type_name: "LayoutUnit",
       computed_style_custom_functions: ["getter", "setter"],
       converter: "ConvertBorderWidth",
+      valid_for_first_letter: true,
     },
     {
       name: "bottom",
@@ -1447,6 +1551,7 @@
       keywords: ["none"],
       typedom_types: ["Keyword"],
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "box-sizing",
@@ -1643,6 +1748,7 @@
       type_name: "ContentData",
       computed_style_custom_functions: ["getter", "setter"],
       style_builder_custom_functions: ["initial", "inherit", "value"],
+      valid_for_marker: true,
     },
     {
       name: "counter-increment",
@@ -1843,6 +1949,7 @@
       default_value: "none",
       name_for_methods: "Floating",
       type_name: "EFloat",
+      valid_for_first_letter: true,
     },
     {
       name: "flood-color",
@@ -2146,7 +2253,8 @@
       inherited: true,
       converter: "ConvertSpacing",
       keywords: ["normal"],
-      typedom_types: ["Keyword", "Length"]
+      typedom_types: ["Keyword", "Length"],
+      valid_for_first_letter: true,
     },
     {
       name: "lighting-color",
@@ -2169,7 +2277,9 @@
       computed_style_custom_functions: ["getter"],
       converter: "ConvertLineHeight",
       keywords: ["normal"],
-      typedom_types: ["Keyword", "Length", "Number", "Percentage"]
+      typedom_types: ["Keyword", "Length", "Number", "Percentage"],
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "line-height-step",
@@ -2242,7 +2352,8 @@
       converter: "ConvertQuirkyLength",
       computed_style_custom_functions: ["setter"],
       keywords: ["auto"],
-      typedom_types: ["Keyword", "Length", "Percentage"]
+      typedom_types: ["Keyword", "Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "margin-left",
@@ -2256,7 +2367,8 @@
       converter: "ConvertQuirkyLength",
       computed_style_custom_functions: ["setter"],
       keywords: ["auto"],
-      typedom_types: ["Keyword", "Length", "Percentage"]
+      typedom_types: ["Keyword", "Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "margin-right",
@@ -2270,7 +2382,8 @@
       converter: "ConvertQuirkyLength",
       computed_style_custom_functions: ["setter"],
       keywords: ["auto"],
-      typedom_types: ["Keyword", "Length", "Percentage"]
+      typedom_types: ["Keyword", "Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "margin-top",
@@ -2284,7 +2397,8 @@
       converter: "ConvertQuirkyLength",
       computed_style_custom_functions: ["setter"],
       keywords: ["auto"],
-      typedom_types: ["Keyword", "Length", "Percentage"]
+      typedom_types: ["Keyword", "Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "marker-end",
@@ -2502,7 +2616,9 @@
       default_value: "1.0",
       type_name: "float",
       computed_style_custom_functions: ["setter"],
-      typedom_types: ["Number"]
+      typedom_types: ["Number"],
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "order",
@@ -2542,6 +2658,7 @@
       converter: "ConvertStyleColor",
       style_builder_template: "color",
       affected_by_forced_colors: true,
+      valid_for_cue: true,
     },
     {
       name: "outline-offset",
@@ -2554,6 +2671,7 @@
       computed_style_custom_functions: ["getter"],
       converter: "ConvertComputedLength<int>",
       typedom_types: ["Length"],
+      valid_for_cue: true,
     },
     {
       name: "outline-style",
@@ -2568,6 +2686,7 @@
       default_value: "none",
       type_name: "EBorderStyle",
       style_builder_custom_functions: ["initial", "inherit", "value"],
+      valid_for_cue: true,
     },
     {
       name: "outline-width",
@@ -2582,6 +2701,7 @@
       converter: "ConvertLineWidth<unsigned short>",
       keywords: ["thin", "medium", "thick"],
       typedom_types: ["Keyword", "Length"],
+      valid_for_cue: true,
     },
     {
       name: "overflow-anchor",
@@ -2689,7 +2809,8 @@
       default_value: "Length::Fixed()",
       converter: "ConvertLength",
       computed_style_custom_functions: ["setter"],
-      typedom_types: ["Keyword", "Length", "Percentage"]
+      typedom_types: ["Keyword", "Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "padding-left",
@@ -2702,7 +2823,8 @@
       default_value: "Length::Fixed()",
       converter: "ConvertLength",
       computed_style_custom_functions: ["setter"],
-      typedom_types: ["Keyword", "Length", "Percentage"]
+      typedom_types: ["Keyword", "Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "padding-right",
@@ -2715,7 +2837,8 @@
       default_value: "Length::Fixed()",
       converter: "ConvertLength",
       computed_style_custom_functions: ["setter"],
-      typedom_types: ["Keyword", "Length", "Percentage"]
+      typedom_types: ["Keyword", "Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "padding-top",
@@ -2728,7 +2851,8 @@
       default_value: "Length::Fixed()",
       converter: "ConvertLength",
       computed_style_custom_functions: ["setter"],
-      typedom_types: ["Keyword", "Length", "Percentage"]
+      typedom_types: ["Keyword", "Length", "Percentage"],
+      valid_for_first_letter: true,
     },
     {
       name: "paint-order",
@@ -3327,6 +3451,7 @@
       typedom_types: ["Keyword"],
       default_value: "none",
       name_for_methods: "TextCombine",
+      valid_for_marker: true,
     },
     {
       name: "text-decoration-color",
@@ -3342,6 +3467,8 @@
       converter: "ConvertStyleColor",
       style_builder_template: "color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "text-decoration-line",
@@ -3354,6 +3481,8 @@
       name_for_methods: "TextDecoration",
       type_name: "TextDecoration",
       converter: "ConvertFlags<TextDecoration>",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "text-decoration-skip-ink",
@@ -3364,6 +3493,8 @@
       keywords: ["none", "auto"],
       typedom_types: ["Keyword"],
       default_value: "auto",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "text-decoration-style",
@@ -3373,6 +3504,8 @@
       keywords: ["solid", "double", "dotted", "dashed", "wavy"],
       typedom_types: ["Keyword"],
       default_value: "solid",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "text-indent",
@@ -3397,7 +3530,8 @@
       default_value: "auto",
       getter: "GetTextJustify",
       type_name: "TextJustify",
-      typedom_types: ["Keyword"]
+      typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
     },
     {
       name: "text-overflow",
@@ -3423,6 +3557,8 @@
       keywords: ["none"],
       typedom_types: ["Keyword"],
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "text-size-adjust",
@@ -3448,6 +3584,7 @@
       keywords: ["capitalize", "uppercase", "lowercase", "none"],
       typedom_types: ["Keyword"],
       default_value: "none",
+      valid_for_first_letter: true,
     },
     {
       name: "text-underline-position",
@@ -3462,6 +3599,7 @@
       converter: "ConvertTextUnderlinePosition",
       keywords: ["auto", "under", "left", "right"],
       typedom_types: ["Keyword"],
+      valid_for_first_letter: true,
     },
     {
       name: "top",
@@ -3591,6 +3729,7 @@
       typedom_types: ["Keyword"],
       default_value: "normal",
       type_name: "UnicodeBidi",
+      valid_for_marker: true,
     },
     {
       name: "vector-effect",
@@ -3606,6 +3745,7 @@
       style_builder_custom_functions: ["inherit", "value"],
       typedom_types: ["Keyword", "Length", "Percentage"],
       keywords: ["baseline", "sub", "super", "text-top", "text-bottom", "middle"],
+      valid_for_first_letter: true,
     },
     {
       name: "visibility",
@@ -3617,6 +3757,8 @@
       keywords: ["visible", "hidden", "collapse"],
       typedom_types: ["Keyword"],
       default_value: "visible",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "x",
@@ -3665,13 +3807,15 @@
       name_for_methods: "HorizontalBorderSpacing",
       type_name: "short",
       converter: "ConvertComputedLength<short>",
+      valid_for_first_letter: true,
     },
     {
       name: "-webkit-border-image",
       property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"],
       style_builder_custom_functions: ["value"],
       slots: ["border-image-outset", "border-image-repeat", "border-image-slice",
-              "border-image-source", "border-image-width"]
+              "border-image-source", "border-image-width"],
+      valid_for_first_letter: true,
     },
     {
       name: "-webkit-border-vertical-spacing",
@@ -3684,6 +3828,7 @@
       name_for_methods: "VerticalBorderSpacing",
       type_name: "short",
       converter: "ConvertComputedLength<short>",
+      valid_for_first_letter: true,
     },
     // For valid values of box-align see
     // http://www.w3.org/TR/2009/WD-css3-flexbox-20090723/#alignment
@@ -4221,6 +4366,8 @@
       ],
       typedom_types: ["Keyword"],
       default_value: "normal",
+      valid_for_cue: true,
+      valid_for_marker: true,
     },
     {
       name: "widows",
@@ -4274,7 +4421,8 @@
       converter: "ConvertSpacing",
       keywords: ["normal"],
       typedom_types: ["normal"],
-      typedom_types: ["Keyword", "Length"]
+      typedom_types: ["Keyword", "Length"],
+      valid_for_first_letter: true,
     },
     {
       name: "z-index",
@@ -4360,7 +4508,8 @@
         physical_group: "margin",
       },
       typedom_types: ["Length", "Percentage"],
-      keywords: ["auto"]
+      keywords: ["auto"],
+      valid_for_first_letter: true,
     },
     {
       name: "margin-inline-end",
@@ -4371,7 +4520,8 @@
         physical_group: "margin",
       },
       typedom_types: ["Length", "Percentage"],
-      keywords: ["auto"]
+      keywords: ["auto"],
+      valid_for_first_letter: true,
     },
     {
       name: "margin-block-start",
@@ -4382,7 +4532,8 @@
         physical_group: "margin",
       },
       typedom_types: ["Length", "Percentage"],
-      keywords: ["auto"]
+      keywords: ["auto"],
+      valid_for_first_letter: true,
     },
     {
       name: "margin-block-end",
@@ -4393,7 +4544,8 @@
         physical_group: "margin",
       },
       typedom_types: ["Length", "Percentage"],
-      keywords: ["auto"]
+      keywords: ["auto"],
+      valid_for_first_letter: true,
     },
     {
       name: "padding-inline-start",
@@ -4442,6 +4594,7 @@
         resolver: "inline-start",
         physical_group: "border-width",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-inline-start-style",
@@ -4449,6 +4602,7 @@
         resolver: "inline-start",
         physical_group: "border-style",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-inline-start-color",
@@ -4457,6 +4611,7 @@
         resolver: "inline-start",
         physical_group: "border-color",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-inline-end-width",
@@ -4465,6 +4620,7 @@
         resolver: "inline-end",
         physical_group: "border-width",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-inline-end-style",
@@ -4472,6 +4628,7 @@
         resolver: "inline-end",
         physical_group: "border-style",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-inline-end-color",
@@ -4480,6 +4637,7 @@
         resolver: "inline-end",
         physical_group: "border-color",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-block-start-width",
@@ -4488,6 +4646,7 @@
         resolver: "block-start",
         physical_group: "border-width",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-block-start-style",
@@ -4495,6 +4654,7 @@
         resolver: "block-start",
         physical_group: "border-style",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-block-start-color",
@@ -4503,6 +4663,7 @@
         resolver: "block-start",
         physical_group: "border-color",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-block-end-width",
@@ -4511,6 +4672,7 @@
         resolver: "block-end",
         physical_group: "border-width",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-block-end-style",
@@ -4518,6 +4680,7 @@
         resolver: "block-end",
         physical_group: "border-style",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "border-block-end-color",
@@ -4526,6 +4689,7 @@
         resolver: "block-end",
         physical_group: "border-color",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "inset-inline-start",
@@ -5331,6 +5495,9 @@
       style_builder_custom_functions: ["initial", "inherit", "value"],
       priority: "High",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
+      valid_for_cue: true,
+      valid_for_marker: true,
     },
     {
       name: "-internal-visited-caret-color",
@@ -5379,6 +5546,8 @@
         initial_color: "ComputedStyleInitialValues::InitialBackgroundColor",
       },
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-visited-border-left-color",
@@ -5394,6 +5563,7 @@
       converter: "ConvertStyleColor",
       style_builder_template: "visited_color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-visited-border-right-color",
@@ -5409,6 +5579,7 @@
       converter: "ConvertStyleColor",
       style_builder_template: "visited_color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-visited-border-top-color",
@@ -5424,6 +5595,7 @@
       converter: "ConvertStyleColor",
       style_builder_template: "visited_color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-visited-border-bottom-color",
@@ -5439,6 +5611,7 @@
       converter: "ConvertStyleColor",
       style_builder_template: "visited_color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-visited-border-inline-start-color",
@@ -5448,6 +5621,7 @@
         resolver: "inline-start",
         physical_group: "visited-border-color",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-visited-border-inline-end-color",
@@ -5457,6 +5631,7 @@
         resolver: "inline-end",
         physical_group: "visited-border-color",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-visited-border-block-start-color",
@@ -5466,6 +5641,7 @@
         resolver: "block-start",
         physical_group: "visited-border-color",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-visited-border-block-end-color",
@@ -5475,6 +5651,7 @@
         resolver: "block-end",
         physical_group: "visited-border-color",
       },
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-visited-fill",
@@ -5501,6 +5678,7 @@
       converter: "ConvertStyleColor",
       style_builder_template: "visited_color",
       affected_by_forced_colors: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-visited-stroke",
@@ -5527,6 +5705,8 @@
       converter: "ConvertStyleColor",
       style_builder_template: "visited_color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-visited-text-emphasis-color",
@@ -5602,6 +5782,8 @@
         fill_type: "Attachment",
       },
       ua_property_for: "background-attachment",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-ua-background-blend-mode",
@@ -5611,6 +5793,7 @@
         fill_type_getter: "GetBlendMode",
       },
       ua_property_for: "background-blend-mode",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-background-clip",
@@ -5619,6 +5802,8 @@
         fill_type: "Clip",
       },
       ua_property_for: "background-clip",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-ua-background-color",
@@ -5630,6 +5815,8 @@
       },
       ua_property_for: "background-color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-ua-background-image",
@@ -5639,6 +5826,8 @@
         fill_type_getter: "GetImage",
       },
       ua_property_for: "background-image",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-ua-background-origin",
@@ -5647,6 +5836,8 @@
         fill_type: "Origin",
       },
       ua_property_for: "background-origin",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-ua-background-position-x",
@@ -5655,6 +5846,8 @@
         fill_type: "PositionX",
       },
       ua_property_for: "background-position-x",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-ua-background-position-y",
@@ -5663,6 +5856,8 @@
         fill_type: "PositionY",
       },
       ua_property_for: "background-position-y",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-ua-background-size",
@@ -5671,6 +5866,8 @@
         fill_type: "Size",
       },
       ua_property_for: "background-size",
+      valid_for_first_letter: true,
+      valid_for_cue: true,
     },
     {
       name: "-internal-ua-border-bottom-color",
@@ -5679,6 +5876,7 @@
       style_builder_template: "color",
       ua_property_for: "border-bottom-color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-left-color",
@@ -5687,6 +5885,7 @@
       style_builder_template: "color",
       ua_property_for: "border-left-color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-right-color",
@@ -5695,6 +5894,7 @@
       style_builder_template: "color",
       ua_property_for: "border-right-color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-top-color",
@@ -5703,78 +5903,91 @@
       style_builder_template: "color",
       ua_property_for: "border-top-color",
       affected_by_forced_colors: true,
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-bottom-style",
       name_for_methods: "BorderBottomStyle",
       type_name: "EBorderStyle",
       ua_property_for: "border-bottom-style",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-left-style",
       name_for_methods: "BorderLeftStyle",
       type_name: "EBorderStyle",
       ua_property_for: "border-left-style",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-right-style",
       name_for_methods: "BorderRightStyle",
       type_name: "EBorderStyle",
       ua_property_for: "border-right-style",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-top-style",
       name_for_methods: "BorderTopStyle",
       type_name: "EBorderStyle",
       ua_property_for: "border-top-style",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-bottom-width",
       name_for_methods: "BorderBottomWidth",
       converter: "ConvertBorderWidth",
       ua_property_for: "border-bottom-width",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-left-width",
       name_for_methods: "BorderLeftWidth",
       converter: "ConvertBorderWidth",
       ua_property_for: "border-left-width",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-right-width",
       name_for_methods: "BorderRightWidth",
       converter: "ConvertBorderWidth",
       ua_property_for: "border-right-width",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-top-width",
       name_for_methods: "BorderTopWidth",
       converter: "ConvertBorderWidth",
       ua_property_for: "border-top-width",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-top-left-radius",
       name_for_methods: "BorderTopLeftRadius",
       converter: "ConvertRadius",
       ua_property_for: "border-top-left-radius",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-top-right-radius",
       name_for_methods: "BorderTopRightRadius",
       converter: "ConvertRadius",
       ua_property_for: "border-top-right-radius",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-bottom-left-radius",
       name_for_methods: "BorderBottomLeftRadius",
       converter: "ConvertRadius",
       ua_property_for: "border-bottom-left-radius",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-bottom-right-radius",
       name_for_methods: "BorderBottomRightRadius",
       converter: "ConvertRadius",
       ua_property_for: "border-bottom-right-radius",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-image-outset",
@@ -5783,6 +5996,7 @@
         modifier_type: "Outset",
       },
       ua_property_for: "border-image-outset",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-image-repeat",
@@ -5791,6 +6005,7 @@
         modifier_type: "Repeat",
       },
       ua_property_for: "border-image-repeat",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-image-slice",
@@ -5799,6 +6014,7 @@
         modifier_type: "Slice",
       },
       ua_property_for: "border-image-slice",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-image-source",
@@ -5807,6 +6023,7 @@
         modifier_type: "Source",
       },
       ua_property_for: "border-image-source",
+      valid_for_first_letter: true,
     },
     {
       name: "-internal-ua-border-image-width",
@@ -5815,6 +6032,7 @@
         modifier_type: "Width",
       },
       ua_property_for: "border-image-width",
+      valid_for_first_letter: true,
     },
 
     // Aliases; these map to the same CSSPropertyID
@@ -6105,4 +6323,4 @@
       alias_for: "overflow-wrap",
     },
   ],
-}
+}
\ No newline at end of file
diff --git a/third_party/blink/renderer/core/css/parser/css_property_parser_helpers.cc b/third_party/blink/renderer/core/css/parser/css_property_parser_helpers.cc
index e5ec350..051b3073 100644
--- a/third_party/blink/renderer/core/css/parser/css_property_parser_helpers.cc
+++ b/third_party/blink/renderer/core/css/parser/css_property_parser_helpers.cc
@@ -31,6 +31,7 @@
 #include "third_party/blink/renderer/core/css/style_color.h"
 #include "third_party/blink/renderer/core/frame/web_feature.h"
 #include "third_party/blink/renderer/core/style_property_shorthand.h"
+#include "third_party/blink/renderer/platform/heap/heap.h"
 #include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
 #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
 
@@ -1601,7 +1602,7 @@
     return nullptr;
   }
 
-  cssvalue::CSSGradientValue* result = cssvalue::CSSConicGradientValue::Create(
+  auto* result = MakeGarbageCollected<cssvalue::CSSConicGradientValue>(
       center_x, center_y, from_angle, repeating);
   return ConsumeGradientColorStops(args, context, result,
                                    ConsumeGradientAngleOrPercent)
diff --git a/third_party/blink/renderer/core/css/properties/css_property.h b/third_party/blink/renderer/core/css/properties/css_property.h
index 33eec78..e626fe8 100644
--- a/third_party/blink/renderer/core/css/properties/css_property.h
+++ b/third_party/blink/renderer/core/css/properties/css_property.h
@@ -53,6 +53,9 @@
   bool IsAffectedByForcedColors() const {
     return flags_ & kIsAffectedByForcedColors;
   }
+  bool IsValidForFirstLetter() const { return flags_ & kValidForFirstLetter; }
+  bool IsValidForCue() const { return flags_ & kValidForCue; }
+  bool IsValidForMarker() const { return flags_ & kValidForMarker; }
 
   bool IsRepeated() const { return repetition_separator_ != '\0'; }
   char RepetitionSeparator() const { return repetition_separator_; }
@@ -118,6 +121,12 @@
     // Animation properties have this flag set. (I.e. longhands of the
     // 'animation' and 'transition' shorthands).
     kAnimation = 1 << 11,
+    // https://drafts.csswg.org/css-pseudo-4/#first-letter-styling
+    kValidForFirstLetter = 1 << 12,
+    // https://w3c.github.io/webvtt/#the-cue-pseudo-element
+    kValidForCue = 1 << 13,
+    // https://drafts.csswg.org/css-pseudo-4/#marker-pseudo
+    kValidForMarker = 1 << 14,
   };
 
   constexpr CSSProperty(CSSPropertyID property_id,
diff --git a/third_party/blink/renderer/core/css/properties/longhands/variable.h b/third_party/blink/renderer/core/css/properties/longhands/variable.h
index fd5cd2e..db5c776 100644
--- a/third_party/blink/renderer/core/css/properties/longhands/variable.h
+++ b/third_party/blink/renderer/core/css/properties/longhands/variable.h
@@ -35,7 +35,8 @@
  protected:
   constexpr Variable(bool inherited)
       : Longhand(CSSPropertyID::kVariable,
-                 kProperty | (inherited ? kInherited : 0),
+                 kProperty | (inherited ? kInherited : 0) |
+                     kValidForFirstLetter | kValidForMarker,
                  '\0') {}
 };
 
diff --git a/third_party/blink/renderer/core/css/resolver/style_adjuster.cc b/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
index 32ede28..0621f39 100644
--- a/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_adjuster.cc
@@ -604,8 +604,12 @@
 
   if (should_be_invisible) {
     // Add containment to style if we're invisible.
-    auto contain =
-        style.Contain() | kContainsStyle | kContainsLayout | kContainsSize;
+    auto contain = style.Contain() | kContainsStyle | kContainsLayout;
+    // If we haven't activated, then we should also contain size. This means
+    // that if we are rendering the element's subtree (i.e. it is either
+    // unlocked or activated), then we do not have size containment.
+    if (!context->IsActivated())
+      contain |= kContainsSize;
     style.SetContain(contain);
 
     // If we're unlocked and unactivated, then we should lock the context. Note
diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/third_party/blink/renderer/core/css/resolver/style_resolver.cc
index 52edde4..14b5ab4 100644
--- a/third_party/blink/renderer/core/css/resolver/style_resolver.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_resolver.cc
@@ -1355,210 +1355,6 @@
   }
 }
 
-static inline bool IsValidCueStyleProperty(CSSPropertyID id) {
-  switch (id) {
-    case CSSPropertyID::kBackground:
-    case CSSPropertyID::kBackgroundAttachment:
-    case CSSPropertyID::kBackgroundClip:
-    case CSSPropertyID::kBackgroundColor:
-    case CSSPropertyID::kBackgroundImage:
-    case CSSPropertyID::kBackgroundOrigin:
-    case CSSPropertyID::kBackgroundPosition:
-    case CSSPropertyID::kBackgroundPositionX:
-    case CSSPropertyID::kBackgroundPositionY:
-    case CSSPropertyID::kBackgroundRepeat:
-    case CSSPropertyID::kBackgroundRepeatX:
-    case CSSPropertyID::kBackgroundRepeatY:
-    case CSSPropertyID::kBackgroundSize:
-    case CSSPropertyID::kColor:
-    case CSSPropertyID::kFont:
-    case CSSPropertyID::kFontFamily:
-    case CSSPropertyID::kFontSize:
-    case CSSPropertyID::kFontStretch:
-    case CSSPropertyID::kFontStyle:
-    case CSSPropertyID::kFontVariant:
-    case CSSPropertyID::kFontWeight:
-    case CSSPropertyID::kLineHeight:
-    case CSSPropertyID::kOpacity:
-    case CSSPropertyID::kOutline:
-    case CSSPropertyID::kOutlineColor:
-    case CSSPropertyID::kOutlineOffset:
-    case CSSPropertyID::kOutlineStyle:
-    case CSSPropertyID::kOutlineWidth:
-    case CSSPropertyID::kVisibility:
-    case CSSPropertyID::kWhiteSpace:
-    // FIXME: 'text-decoration' shorthand to be handled when available.
-    // See https://chromiumcodereview.appspot.com/19516002 for details.
-    case CSSPropertyID::kTextDecoration:
-    case CSSPropertyID::kTextShadow:
-    case CSSPropertyID::kBorderStyle:
-      return true;
-    case CSSPropertyID::kTextDecorationLine:
-    case CSSPropertyID::kTextDecorationStyle:
-    case CSSPropertyID::kTextDecorationColor:
-    case CSSPropertyID::kTextDecorationSkipInk:
-      return true;
-    case CSSPropertyID::kFontVariationSettings:
-      return true;
-    default:
-      break;
-  }
-  return false;
-}
-
-static inline bool IsValidFirstLetterStyleProperty(CSSPropertyID id) {
-  switch (id) {
-    // Valid ::first-letter properties listed in spec:
-    // https://drafts.csswg.org/css-pseudo-4/#first-letter-styling
-    case CSSPropertyID::kBackgroundAttachment:
-    case CSSPropertyID::kBackgroundBlendMode:
-    case CSSPropertyID::kBackgroundClip:
-    case CSSPropertyID::kBackgroundColor:
-    case CSSPropertyID::kBackgroundImage:
-    case CSSPropertyID::kBackgroundOrigin:
-    case CSSPropertyID::kBackgroundPosition:
-    case CSSPropertyID::kBackgroundPositionX:
-    case CSSPropertyID::kBackgroundPositionY:
-    case CSSPropertyID::kBackgroundRepeat:
-    case CSSPropertyID::kBackgroundRepeatX:
-    case CSSPropertyID::kBackgroundRepeatY:
-    case CSSPropertyID::kBackgroundSize:
-    case CSSPropertyID::kBorderBlockEnd:
-    case CSSPropertyID::kBorderBlockEndColor:
-    case CSSPropertyID::kBorderBlockEndStyle:
-    case CSSPropertyID::kBorderBlockEndWidth:
-    case CSSPropertyID::kBorderBlockStart:
-    case CSSPropertyID::kBorderBlockStartColor:
-    case CSSPropertyID::kBorderBlockStartStyle:
-    case CSSPropertyID::kBorderBlockStartWidth:
-    case CSSPropertyID::kBorderBottomColor:
-    case CSSPropertyID::kBorderBottomLeftRadius:
-    case CSSPropertyID::kBorderBottomRightRadius:
-    case CSSPropertyID::kBorderBottomStyle:
-    case CSSPropertyID::kBorderBottomWidth:
-    case CSSPropertyID::kBorderImageOutset:
-    case CSSPropertyID::kBorderImageRepeat:
-    case CSSPropertyID::kBorderImageSlice:
-    case CSSPropertyID::kBorderImageSource:
-    case CSSPropertyID::kBorderImageWidth:
-    case CSSPropertyID::kBorderInlineEnd:
-    case CSSPropertyID::kBorderInlineEndColor:
-    case CSSPropertyID::kBorderInlineEndStyle:
-    case CSSPropertyID::kBorderInlineEndWidth:
-    case CSSPropertyID::kBorderInlineStart:
-    case CSSPropertyID::kBorderInlineStartColor:
-    case CSSPropertyID::kBorderInlineStartStyle:
-    case CSSPropertyID::kBorderInlineStartWidth:
-    case CSSPropertyID::kBorderLeftColor:
-    case CSSPropertyID::kBorderLeftStyle:
-    case CSSPropertyID::kBorderLeftWidth:
-    case CSSPropertyID::kBorderRightColor:
-    case CSSPropertyID::kBorderRightStyle:
-    case CSSPropertyID::kBorderRightWidth:
-    case CSSPropertyID::kBorderTopColor:
-    case CSSPropertyID::kBorderTopLeftRadius:
-    case CSSPropertyID::kBorderTopRightRadius:
-    case CSSPropertyID::kBorderTopStyle:
-    case CSSPropertyID::kBorderTopWidth:
-    case CSSPropertyID::kBoxShadow:
-    case CSSPropertyID::kColor:
-    case CSSPropertyID::kFloat:
-    case CSSPropertyID::kFontFamily:
-    case CSSPropertyID::kFontFeatureSettings:
-    case CSSPropertyID::kFontKerning:
-    case CSSPropertyID::kFontOpticalSizing:
-    case CSSPropertyID::kFontSize:
-    case CSSPropertyID::kFontSizeAdjust:
-    case CSSPropertyID::kFontStretch:
-    case CSSPropertyID::kFontStyle:
-    case CSSPropertyID::kFontVariant:
-    case CSSPropertyID::kFontVariantCaps:
-    case CSSPropertyID::kFontVariantLigatures:
-    case CSSPropertyID::kFontVariantNumeric:
-    case CSSPropertyID::kFontVariantEastAsian:
-    case CSSPropertyID::kFontVariationSettings:
-    case CSSPropertyID::kFontWeight:
-    case CSSPropertyID::kLetterSpacing:
-    case CSSPropertyID::kLineHeight:
-    case CSSPropertyID::kMarginBlockEnd:
-    case CSSPropertyID::kMarginBlockStart:
-    case CSSPropertyID::kMarginBottom:
-    case CSSPropertyID::kMarginInlineEnd:
-    case CSSPropertyID::kMarginInlineStart:
-    case CSSPropertyID::kMarginLeft:
-    case CSSPropertyID::kMarginRight:
-    case CSSPropertyID::kMarginTop:
-    case CSSPropertyID::kOpacity:
-    case CSSPropertyID::kPaddingBottom:
-    case CSSPropertyID::kPaddingLeft:
-    case CSSPropertyID::kPaddingRight:
-    case CSSPropertyID::kPaddingTop:
-    case CSSPropertyID::kTextDecorationColor:
-    case CSSPropertyID::kTextDecorationLine:
-    case CSSPropertyID::kTextDecorationStyle:
-    case CSSPropertyID::kTextDecorationSkipInk:
-    case CSSPropertyID::kTextJustify:
-    case CSSPropertyID::kTextShadow:
-    case CSSPropertyID::kTextTransform:
-    case CSSPropertyID::kTextUnderlinePosition:
-    case CSSPropertyID::kVerticalAlign:
-    case CSSPropertyID::kWebkitBorderHorizontalSpacing:
-    case CSSPropertyID::kWebkitBorderImage:
-    case CSSPropertyID::kWebkitBorderVerticalSpacing:
-    case CSSPropertyID::kWebkitFontSmoothing:
-    case CSSPropertyID::kWordSpacing:
-      return true;
-
-    // Not directly specified in spec, but variables should be supported nearly
-    // anywhere.
-    case CSSPropertyID::kVariable:
-    // Properties that we currently support outside of spec.
-    case CSSPropertyID::kVisibility:
-      return true;
-
-    default:
-      return false;
-  }
-}
-
-static inline bool IsValidMarkerStyleProperty(CSSPropertyID id) {
-  switch (id) {
-    // Valid ::marker properties listed in spec:
-    // https://drafts.csswg.org/css-pseudo-4/#marker-pseudo
-    case CSSPropertyID::kColor:
-    case CSSPropertyID::kContent:
-    case CSSPropertyID::kDirection:
-    case CSSPropertyID::kFont:
-    case CSSPropertyID::kFontFamily:
-    case CSSPropertyID::kFontFeatureSettings:
-    case CSSPropertyID::kFontKerning:
-    case CSSPropertyID::kFontOpticalSizing:
-    case CSSPropertyID::kFontSize:
-    case CSSPropertyID::kFontSizeAdjust:
-    case CSSPropertyID::kFontStretch:
-    case CSSPropertyID::kFontStyle:
-    case CSSPropertyID::kFontVariant:
-    case CSSPropertyID::kFontVariantCaps:
-    case CSSPropertyID::kFontVariantEastAsian:
-    case CSSPropertyID::kFontVariantLigatures:
-    case CSSPropertyID::kFontVariantNumeric:
-    case CSSPropertyID::kFontVariationSettings:
-    case CSSPropertyID::kFontWeight:
-    case CSSPropertyID::kTextCombineUpright:
-    case CSSPropertyID::kUnicodeBidi:
-    case CSSPropertyID::kWhiteSpace:
-      return true;
-
-    // Not directly specified in spec, but variables should be supported nearly
-    // anywhere.
-    case CSSPropertyID::kVariable:
-      return true;
-
-    default:
-      return false;
-  }
-}
-
 static bool PassesPropertyFilter(ValidPropertyFilter valid_property_filter,
                                  CSSPropertyID property,
                                  const Document& document) {
@@ -1566,11 +1362,11 @@
     case ValidPropertyFilter::kNoFilter:
       return true;
     case ValidPropertyFilter::kFirstLetter:
-      return IsValidFirstLetterStyleProperty(property);
+      return CSSProperty::Get(property).IsValidForFirstLetter();
     case ValidPropertyFilter::kCue:
-      return IsValidCueStyleProperty(property);
+      return CSSProperty::Get(property).IsValidForCue();
     case ValidPropertyFilter::kMarker:
-      return IsValidMarkerStyleProperty(property);
+      return CSSProperty::Get(property).IsValidForMarker();
   }
   NOTREACHED();
   return true;
diff --git a/third_party/blink/renderer/core/display_lock/display_lock_context.cc b/third_party/blink/renderer/core/display_lock/display_lock_context.cc
index 73ca0e9..8d1f32da8 100644
--- a/third_party/blink/renderer/core/display_lock/display_lock_context.cc
+++ b/third_party/blink/renderer/core/display_lock/display_lock_context.cc
@@ -120,8 +120,14 @@
     return;
   }
 
+  // We require observation if we are viewport-activatable, and one of the
+  // following is true:
+  // 1. We're locked, which means that we need to know when to unlock the
+  //    element
+  // 2. We're activated (in the CSS version), which means that we need to know
+  //    when we stop intersecting the viewport so that we can re-lock.
   bool should_observe =
-      IsLocked() &&
+      (IsLocked() || (!IsAttributeVersion(this) && IsActivated())) &&
       IsActivatable(DisplayLockActivationReason::kViewportIntersection) &&
       ConnectedToView();
   if (should_observe && !is_observed_) {
@@ -414,7 +420,16 @@
                 weak_factory_.GetWeakPtr(), WrapPersistent(activated_element)));
 
   StartCommit();
-  is_activated_ = true;
+
+  if (!IsAttributeVersion(this)) {
+    css_is_activated_ = true;
+    // Since size containment depends on the activatability state, we should
+    // invalidate the style for this element, so that the style adjuster can
+    // properly remove the containment.
+    element_->SetNeedsStyleRecalc(
+        kLocalStyleChange,
+        StyleChangeReasonForTracing::Create(style_change_reason::kDisplayLock));
+  }
 
   // Since setting the attribute might trigger a commit if we are still locked,
   // we set it after we start the commit.
@@ -423,11 +438,12 @@
 }
 
 bool DisplayLockContext::IsActivated() const {
-  return is_activated_;
+  DCHECK(!IsAttributeVersion(this));
+  return css_is_activated_;
 }
 
 void DisplayLockContext::ClearActivated() {
-  is_activated_ = false;
+  css_is_activated_ = false;
 }
 
 bool DisplayLockContext::ShouldCommitForActivation(
diff --git a/third_party/blink/renderer/core/display_lock/display_lock_context.h b/third_party/blink/renderer/core/display_lock/display_lock_context.h
index 684f696..2eb28949 100644
--- a/third_party/blink/renderer/core/display_lock/display_lock_context.h
+++ b/third_party/blink/renderer/core/display_lock/display_lock_context.h
@@ -279,7 +279,7 @@
   // Note that this returns true if there is no context at all, so in order to
   // check whether this is strictly an attribute version, as opposed to a null
   // context, one needs to compare context with nullptr first.
-  static bool IsAttributeVersion(DisplayLockContext* context) {
+  static bool IsAttributeVersion(const DisplayLockContext* context) {
     return !context ||
            context->GetMethod() == DisplayLockContextCreateMethod::kAttribute;
   }
@@ -434,7 +434,9 @@
   uint16_t activatable_mask_ =
       static_cast<uint16_t>(DisplayLockActivationReason::kAny);
 
-  bool is_activated_ = false;
+  // State that tracks whether we've been activated. Note that this is only
+  // valid for CSS version of render-subtree.
+  bool css_is_activated_ = false;
 
   DisplayLockContextCreateMethod method_ =
       DisplayLockContextCreateMethod::kUnknown;
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index cfdcf697..7ea8d3e 100644
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -8536,12 +8536,24 @@
 void Document::ProcessDisplayLockActivationObservation(
     const HeapVector<Member<IntersectionObserverEntry>>& entries) {
   for (auto& entry : entries) {
+    auto* context = entry->target()->GetDisplayLockContext();
+    DCHECK(context);
     if (entry->isIntersecting()) {
-      auto* context = entry->target()->GetDisplayLockContext();
-      DCHECK(context);
+      if (!context->IsLocked())
+        continue;
       DCHECK(context->ShouldCommitForActivation(
           DisplayLockActivationReason::kViewportIntersection));
       context->CommitForActivationWithSignal(entry->target());
+    } else if (!DisplayLockContext::IsAttributeVersion(context)) {
+      // In a CSS version, if we're not visible, but are observing viewport
+      // intersections, it means that we're either locked (in which case we
+      // should remain locked), or we've been activated (in which case we should
+      // relock).
+      DCHECK(context->IsLocked() || context->IsActivated());
+      if (context->IsLocked())
+        continue;
+      context->ClearActivated();
+      context->StartAcquire();
     }
   }
 }
diff --git a/third_party/blink/renderer/core/loader/threadable_loader.cc b/third_party/blink/renderer/core/loader/threadable_loader.cc
index c760dc2..f0ef7382 100644
--- a/third_party/blink/renderer/core/loader/threadable_loader.cc
+++ b/third_party/blink/renderer/core/loader/threadable_loader.cc
@@ -570,8 +570,7 @@
 
     if (cors_flag_) {
       if (const auto error_status = cors::CheckAccess(
-              original_url, redirect_response.HttpStatusCode(),
-              redirect_response.HttpHeaderFields(),
+              original_url, redirect_response.HttpHeaderFields(),
               new_request.GetCredentialsMode(), *GetSecurityOrigin())) {
         DispatchDidFail(ResourceError(original_url, *error_status));
         return false;
@@ -751,14 +750,6 @@
     return;
   }
 
-  base::Optional<network::mojom::CorsError> preflight_error =
-      cors::CheckPreflight(response.HttpStatusCode());
-  if (preflight_error) {
-    HandlePreflightFailure(response.CurrentRequestUrl(),
-                           network::CorsErrorStatus(*preflight_error));
-    return;
-  }
-
   base::Optional<network::CorsErrorStatus> error_status;
   if (actual_request_.IsExternalRequest()) {
     error_status = cors::CheckExternalPreflight(response.HttpHeaderFields());
@@ -860,8 +851,8 @@
 
   if (cors_flag_) {
     base::Optional<network::CorsErrorStatus> access_error = cors::CheckAccess(
-        response.CurrentRequestUrl(), response.HttpStatusCode(),
-        response.HttpHeaderFields(), credentials_mode_, *GetSecurityOrigin());
+        response.CurrentRequestUrl(), response.HttpHeaderFields(),
+        credentials_mode_, *GetSecurityOrigin());
     if (access_error) {
       ReportResponseReceived(resource->InspectorId(), response);
       DispatchDidFail(
diff --git a/third_party/blink/renderer/core/loader/web_associated_url_loader_impl_test.cc b/third_party/blink/renderer/core/loader/web_associated_url_loader_impl_test.cc
index 2fd0e74..551498e 100644
--- a/third_party/blink/renderer/core/loader/web_associated_url_loader_impl_test.cc
+++ b/third_party/blink/renderer/core/loader/web_associated_url_loader_impl_test.cc
@@ -387,36 +387,6 @@
   EXPECT_FALSE(did_receive_response_);
 }
 
-// Test an unsuccessful cross-origin load using CORS.
-TEST_F(WebAssociatedURLLoaderTest,
-       CrossOriginWithAccessControlFailureBadStatusCode) {
-  // This is cross-origin since the frame was loaded from www.test.com.
-  KURL url =
-      ToKURL("http://www.other.com/CrossOriginWithAccessControlFailure.html");
-  WebURLRequest request(url);
-  request.SetMode(network::mojom::RequestMode::kCors);
-  request.SetCredentialsMode(network::mojom::CredentialsMode::kOmit);
-
-  expected_response_ = WebURLResponse();
-  expected_response_.SetMimeType("text/html");
-  expected_response_.SetHttpStatusCode(0);
-  expected_response_.AddHttpHeaderField("access-control-allow-origin", "*");
-  RegisterMockedURLLoadWithCustomResponse(url, expected_response_,
-                                          frame_file_path_);
-
-  WebAssociatedURLLoaderOptions options;
-  expected_loader_ = CreateAssociatedURLLoader(options);
-  EXPECT_TRUE(expected_loader_);
-  expected_loader_->LoadAsynchronously(request, this);
-
-  // Failure should not be reported synchronously.
-  EXPECT_FALSE(did_fail_);
-  // The loader needs to receive the response, before doing the CORS check.
-  ServeRequests();
-  EXPECT_TRUE(did_fail_);
-  EXPECT_FALSE(did_receive_response_);
-}
-
 // Test a same-origin URL redirect and load.
 TEST_F(WebAssociatedURLLoaderTest, RedirectSuccess) {
   KURL url = ToKURL("http://www.test.com/RedirectSuccess.html");
diff --git a/third_party/blink/renderer/core/paint/DEPS b/third_party/blink/renderer/core/paint/DEPS
index 9850ce0..323b7c0 100644
--- a/third_party/blink/renderer/core/paint/DEPS
+++ b/third_party/blink/renderer/core/paint/DEPS
@@ -7,14 +7,14 @@
 ]
 
 specific_include_rules = {
-  "(theme_painter|fallback_theme)\.cc": [
+  "(theme_painter|fallback_theme|object_painter_base)\.cc": [
     "+ui/native_theme/native_theme.h",
     "+ui/native_theme/native_theme_base.h",
   ],
   ".*test\.cc": [
     "+base/test/trace_event_analyzer.h",
   ],
-  "(paint_layer_scrollable_area|theme_painter|theme_painter_default)\.cc": [
+  "(object_painter_base|paint_layer_scrollable_area|theme_painter|theme_painter_default)\.cc": [
     "+ui/base/ui_base_features.h",
   ],
 }
diff --git a/third_party/blink/renderer/core/paint/box_painter_base.cc b/third_party/blink/renderer/core/paint/box_painter_base.cc
index 6abea27..93cafae 100644
--- a/third_party/blink/renderer/core/paint/box_painter_base.cc
+++ b/third_party/blink/renderer/core/paint/box_painter_base.cc
@@ -376,13 +376,11 @@
 FloatRect CorrectSrcRectForImageOrientation(BitmapImage* image,
                                             FloatRect original_rect) {
   ImageOrientation orientation = image->CurrentFrameOrientation();
-  if (orientation != kDefaultImageOrientation) {
-    AffineTransform forward_map =
-        orientation.TransformFromDefault(original_rect.Size());
-    AffineTransform inverse_map = forward_map.Inverse();
-    return inverse_map.MapRect(original_rect);
-  }
-  return original_rect;
+  DCHECK(orientation != kDefaultImageOrientation);
+  AffineTransform forward_map =
+      orientation.TransformFromDefault(original_rect.Size());
+  AffineTransform inverse_map = forward_map.Inverse();
+  return inverse_map.MapRect(original_rect);
 }
 
 // The unsnapped_subset_size should be the target painting area implied by the
@@ -441,7 +439,7 @@
     // rect to be in the unrotated image space, but we have computed it here in
     // the rotated space in order to position and size the background. Undo the
     // src rect rotation if necessaary.
-    if (respect_orientation && image->IsBitmapImage()) {
+    if (respect_orientation && !image->HasDefaultOrientation()) {
       visible_src_rect = CorrectSrcRectForImageOrientation(ToBitmapImage(image),
                                                            visible_src_rect);
     }
@@ -559,6 +557,7 @@
       !has_intrinsic_size
           ? image_tile.Size()
           : FloatSize(image->Size(info.respect_image_orientation));
+
   // Subset computation needs the same location as was used with
   // ComputePhaseForBackground above, but needs the unsnapped destination
   // size to correctly calculate sprite subsets in the presence of zoom. But if
@@ -584,7 +583,7 @@
   // to be in the unrotated image space, but we have computed it here in the
   // rotated space in order to position and size the background. Undo the src
   // rect rotation if necessaary.
-  if (info.respect_image_orientation && image->IsBitmapImage()) {
+  if (info.respect_image_orientation && !image->HasDefaultOrientation()) {
     src_rect =
         CorrectSrcRectForImageOrientation(ToBitmapImage(image), src_rect);
   }
diff --git a/third_party/blink/renderer/core/paint/image_element_timing.cc b/third_party/blink/renderer/core/paint/image_element_timing.cc
index ac6ec504..001ad4c 100644
--- a/third_party/blink/renderer/core/paint/image_element_timing.cc
+++ b/third_party/blink/renderer/core/paint/image_element_timing.cc
@@ -150,14 +150,8 @@
   DCHECK(layout_object.GetDocument().GetSecurityOrigin());
   // It's ok to expose rendering timestamp for data URIs so exclude those from
   // the Timing-Allow-Origin check.
-  bool response_tainting_not_basic = false;
-  bool tainted_origin_flag = false;
   if (!url.ProtocolIsData() &&
-      !Performance::PassesTimingAllowCheck(
-          cached_image.GetResponse(), cached_image.GetResponse(),
-          *layout_object.GetDocument().GetSecurityOrigin(),
-          &layout_object.GetDocument(), &response_tainting_not_basic,
-          &tainted_origin_flag)) {
+      !cached_image.GetResponse().TimingAllowPassed()) {
     WindowPerformance* performance =
         DOMWindowPerformance::performance(*GetSupplementable());
     if (performance) {
diff --git a/third_party/blink/renderer/core/paint/largest_contentful_paint_calculator.cc b/third_party/blink/renderer/core/paint/largest_contentful_paint_calculator.cc
index d5ab889..5185e76 100644
--- a/third_party/blink/renderer/core/paint/largest_contentful_paint_calculator.cc
+++ b/third_party/blink/renderer/core/paint/largest_contentful_paint_calculator.cc
@@ -121,18 +121,8 @@
       return;
 
     const KURL& url = cached_image->Url();
-    auto* document = window_performance_->GetExecutionContext();
-    bool expose_paint_time_to_api = true;
-    bool response_tainting_not_basic = false;
-    bool tainted_origin_flag = false;
-    if (!url.ProtocolIsData() &&
-        (!document ||
-         !Performance::PassesTimingAllowCheck(
-             cached_image->GetResponse(), cached_image->GetResponse(),
-             *document->GetSecurityOrigin(), document,
-             &response_tainting_not_basic, &tainted_origin_flag))) {
-      expose_paint_time_to_api = false;
-    }
+    bool expose_paint_time_to_api =
+        url.ProtocolIsData() || cached_image->GetResponse().TimingAllowPassed();
     const String& image_url =
         url.ProtocolIsData()
             ? url.GetString().Left(ImageElementTiming::kInlineImageMaxChars)
diff --git a/third_party/blink/renderer/core/paint/object_painter_base.cc b/third_party/blink/renderer/core/paint/object_painter_base.cc
index f165cee..19a8aaa89 100644
--- a/third_party/blink/renderer/core/paint/object_painter_base.cc
+++ b/third_party/blink/renderer/core/paint/object_painter_base.cc
@@ -4,6 +4,7 @@
 
 #include "third_party/blink/renderer/core/paint/object_painter_base.h"
 
+#include "base/optional.h"
 #include "third_party/blink/renderer/core/paint/box_border_painter.h"
 #include "third_party/blink/renderer/core/paint/paint_info.h"
 #include "third_party/blink/renderer/core/style/border_edge.h"
@@ -12,6 +13,8 @@
 #include "third_party/blink/renderer/platform/graphics/graphics_context.h"
 #include "third_party/blink/renderer/platform/graphics/graphics_context_state_saver.h"
 #include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
+#include "ui/base/ui_base_features.h"
+#include "ui/native_theme/native_theme.h"
 
 namespace blink {
 
@@ -486,6 +489,46 @@
   FillQuad(graphics_context, quad, color, antialias);
 }
 
+float GetFocusRingBorderRadius(const ComputedStyle& style) {
+  // Default style is border-radius equal to outline width.
+  float border_radius = style.GetOutlineStrokeWidthForFocusRing();
+
+  if (::features::IsFormControlsRefreshEnabled() && !style.HasAuthorBorder() &&
+      style.HasEffectiveAppearance()) {
+    // For the elements that have not been styled and that have an appearance,
+    // the focus ring should use the same border radius as the one used for
+    // drawing the element.
+    base::Optional<ui::NativeTheme::Part> part;
+    switch (style.EffectiveAppearance()) {
+      case kCheckboxPart:
+        part = ui::NativeTheme::kCheckbox;
+        break;
+      case kRadioPart:
+        part = ui::NativeTheme::kRadio;
+        break;
+      case kPushButtonPart:
+      case kSquareButtonPart:
+      case kButtonPart:
+        part = ui::NativeTheme::kPushButton;
+        break;
+      case kTextFieldPart:
+      case kTextAreaPart:
+      case kSearchFieldPart:
+        part = ui::NativeTheme::kTextField;
+        break;
+      default:
+        break;
+    }
+    if (part) {
+      return ui::NativeTheme::GetInstanceForWeb()->GetBorderRadiusForPart(
+          part.value(), style.Width().GetFloatValue(),
+          style.Height().GetFloatValue(), style.EffectiveZoom());
+    }
+  }
+
+  return border_radius;
+}
+
 }  // anonymous namespace
 
 void ObjectPainterBase::PaintOutlineRects(
@@ -498,9 +541,16 @@
 
   Color color = style.VisitedDependentColor(GetCSSPropertyOutlineColor());
   if (style.OutlineStyleIsAuto()) {
+    // Logic in draw focus ring is dependent on whether the border is large
+    // enough to have an inset outline. Use the smallest border edge for that
+    // test.
+    float min_border_width =
+        std::min(std::min(style.BorderTopWidth(), style.BorderBottomWidth()),
+                 std::min(style.BorderLeftWidth(), style.BorderRightWidth()));
+    float border_radius = GetFocusRingBorderRadius(style);
     paint_info.context.DrawFocusRing(
         pixel_snapped_outline_rects, style.GetOutlineStrokeWidthForFocusRing(),
-        style.OutlineOffset(), color,
+        style.OutlineOffset(), border_radius, min_border_width, color,
         LayoutTheme::GetTheme().IsFocusRingOutset());
     return;
   }
diff --git a/third_party/blink/renderer/core/style/computed_style.cc b/third_party/blink/renderer/core/style/computed_style.cc
index 9b7525f..4066d9d 100644
--- a/third_party/blink/renderer/core/style/computed_style.cc
+++ b/third_party/blink/renderer/core/style/computed_style.cc
@@ -74,6 +74,7 @@
 #include "third_party/blink/renderer/platform/wtf/math_extras.h"
 #include "third_party/blink/renderer/platform/wtf/size_assertions.h"
 #include "third_party/blink/renderer/platform/wtf/text/case_map.h"
+#include "ui/base/ui_base_features.h"
 
 namespace blink {
 
@@ -2180,6 +2181,10 @@
 }
 
 float ComputedStyle::GetOutlineStrokeWidthForFocusRing() const {
+  if (::features::IsFormControlsRefreshEnabled() && OutlineStyleIsAuto()) {
+    return std::max(EffectiveZoom(), 3.f);
+  }
+
 #if defined(OS_MACOSX)
   return OutlineWidth();
 #else
diff --git a/third_party/blink/renderer/core/style/computed_style_test.cc b/third_party/blink/renderer/core/style/computed_style_test.cc
index 55c95aa0..2b6c183 100644
--- a/third_party/blink/renderer/core/style/computed_style_test.cc
+++ b/third_party/blink/renderer/core/style/computed_style_test.cc
@@ -27,6 +27,7 @@
 #include "third_party/blink/renderer/core/testing/dummy_page_holder.h"
 #include "third_party/blink/renderer/platform/heap/heap.h"
 #include "third_party/blink/renderer/platform/testing/runtime_enabled_features_test_helpers.h"
+#include "ui/base/ui_base_features.h"
 
 namespace blink {
 
@@ -69,24 +70,32 @@
 
 TEST(ComputedStyleTest, FocusRingWidth) {
   scoped_refptr<ComputedStyle> style = ComputedStyle::Create();
-  style->SetEffectiveZoom(3.5);
-  style->SetOutlineStyle(EBorderStyle::kSolid);
+  if (::features::IsFormControlsRefreshEnabled()) {
+    style->SetOutlineStyleIsAuto(static_cast<bool>(OutlineIsAuto::kOn));
+    EXPECT_EQ(3, style->GetOutlineStrokeWidthForFocusRing());
+    style->SetEffectiveZoom(3.5);
+    style->SetOutlineWidth(4);
+    EXPECT_EQ(3.5, style->GetOutlineStrokeWidthForFocusRing());
+  } else {
+    style->SetEffectiveZoom(3.5);
+    style->SetOutlineStyle(EBorderStyle::kSolid);
 #if defined(OS_MACOSX)
-  EXPECT_EQ(3, style->GetOutlineStrokeWidthForFocusRing());
+    EXPECT_EQ(3, style->GetOutlineStrokeWidthForFocusRing());
 #else
-  style->SetOutlineStyleIsAuto(static_cast<bool>(OutlineIsAuto::kOn));
-  static uint16_t outline_width = 4;
-  style->SetOutlineWidth(outline_width);
+    style->SetOutlineStyleIsAuto(static_cast<bool>(OutlineIsAuto::kOn));
+    static uint16_t outline_width = 4;
+    style->SetOutlineWidth(outline_width);
 
-  double expected_width =
-      LayoutTheme::GetTheme().IsFocusRingOutset() ? outline_width : 3.5;
-  EXPECT_EQ(expected_width, style->GetOutlineStrokeWidthForFocusRing());
+    double expected_width =
+        LayoutTheme::GetTheme().IsFocusRingOutset() ? outline_width : 3.5;
+    EXPECT_EQ(expected_width, style->GetOutlineStrokeWidthForFocusRing());
 
-  expected_width =
-      LayoutTheme::GetTheme().IsFocusRingOutset() ? outline_width : 1.0;
-  style->SetEffectiveZoom(0.5);
-  EXPECT_EQ(expected_width, style->GetOutlineStrokeWidthForFocusRing());
+    expected_width =
+        LayoutTheme::GetTheme().IsFocusRingOutset() ? outline_width : 1.0;
+    style->SetEffectiveZoom(0.5);
+    EXPECT_EQ(expected_width, style->GetOutlineStrokeWidthForFocusRing());
 #endif
+  }
 }
 
 TEST(ComputedStyleTest, FocusRingOutset) {
@@ -94,11 +103,15 @@
   style->SetOutlineStyle(EBorderStyle::kSolid);
   style->SetOutlineStyleIsAuto(static_cast<bool>(OutlineIsAuto::kOn));
   style->SetEffectiveZoom(4.75);
+  if (::features::IsFormControlsRefreshEnabled()) {
+    EXPECT_EQ(4, style->OutlineOutsetExtent());
+  } else {
 #if defined(OS_MACOSX)
-  EXPECT_EQ(4, style->OutlineOutsetExtent());
+    EXPECT_EQ(4, style->OutlineOutsetExtent());
 #else
-  EXPECT_EQ(3, style->OutlineOutsetExtent());
+    EXPECT_EQ(3, style->OutlineOutsetExtent());
 #endif
+  }
 }
 
 TEST(ComputedStyleTest, SVGStackingContext) {
diff --git a/third_party/blink/renderer/core/typed_arrays/array_buffer/array_buffer_contents_test.cc b/third_party/blink/renderer/core/typed_arrays/array_buffer/array_buffer_contents_test.cc
index c7fd17d..3ce5bfe 100644
--- a/third_party/blink/renderer/core/typed_arrays/array_buffer/array_buffer_contents_test.cc
+++ b/third_party/blink/renderer/core/typed_arrays/array_buffer/array_buffer_contents_test.cc
@@ -10,7 +10,15 @@
 
 class ArrayBufferContentsTest : public testing::Test {};
 
-TEST_F(ArrayBufferContentsTest, AllocationFail) {
+#if defined(ADDRESS_SANITIZER)
+#define DISABLE_ON_ASAN(test_name) DISABLED_##test_name
+#else
+#define DISABLE_ON_ASAN(test_name) test_name
+#endif  // defined(ADDRESS_SANITIZER)
+
+// Disable on ASAN to avoid crashing on failed allocations, see
+// https://crbug.com/1038741.
+TEST_F(ArrayBufferContentsTest, DISABLE_ON_ASAN(AllocationFail)) {
   // This should be an amount of memory that cannot be allocated.
   size_t length = sizeof(size_t) == 4 ? 0x4fffffff : 0x8000000000;
   size_t element_byte_size = 1;
diff --git a/third_party/blink/renderer/modules/BUILD.gn b/third_party/blink/renderer/modules/BUILD.gn
index 800cbb1..94cb7b1 100644
--- a/third_party/blink/renderer/modules/BUILD.gn
+++ b/third_party/blink/renderer/modules/BUILD.gn
@@ -208,6 +208,8 @@
     "peerconnection/testing/internals_rtc_certificate.h",
     "peerconnection/testing/internals_rtc_peer_connection.cc",
     "peerconnection/testing/internals_rtc_peer_connection.h",
+    "permissions/testing/internals_permission.cc",
+    "permissions/testing/internals_permission.h",
     "service_worker/testing/internals_service_worker.cc",
     "service_worker/testing/internals_service_worker.h",
     "speech/testing/internals_speech_synthesis.cc",
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
index f6239c6..0a9be50 100644
--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
@@ -1017,9 +1017,8 @@
 
   SkColor color = LayoutTheme::GetTheme().FocusRingColor().Rgb();
   const int kFocusRingWidth = 5;
-
   DrawPlatformFocusRing(path.GetSkPath(), DrawingCanvas(), color,
-                        kFocusRingWidth);
+                        /*width=*/kFocusRingWidth, /*radius=*/kFocusRingWidth);
 
   // We need to add focusRingWidth to dirtyRect.
   StrokeData stroke_data;
diff --git a/third_party/blink/renderer/modules/mediastream/media_stream_video_source.cc b/third_party/blink/renderer/modules/mediastream/media_stream_video_source.cc
index 0d4561f..344b42e6 100644
--- a/third_party/blink/renderer/modules/mediastream/media_stream_video_source.cc
+++ b/third_party/blink/renderer/modules/mediastream/media_stream_video_source.cc
@@ -335,7 +335,6 @@
 void MediaStreamVideoSource::UpdateNumEncodedSinks() {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
   size_t count = CountEncodedSinks();
-  DCHECK(SupportsEncodedOutput() || count == 0);
   if (count == 1) {
     OnEncodedSinkEnabled();
   } else if (count == 0) {
diff --git a/third_party/blink/renderer/modules/mediastream/media_stream_video_track.cc b/third_party/blink/renderer/modules/mediastream/media_stream_video_track.cc
index 316ba527..9c07383 100644
--- a/third_party/blink/renderer/modules/mediastream/media_stream_video_track.cc
+++ b/third_party/blink/renderer/modules/mediastream/media_stream_video_track.cc
@@ -494,7 +494,8 @@
   DCHECK_CALLED_ON_VALID_THREAD(main_render_thread_checker_);
   AddSinkInternal(&encoded_sinks_, sink);
   frame_deliverer_->AddEncodedCallback(sink, std::move(callback));
-  source_->UpdateNumEncodedSinks();
+  if (source_)
+    source_->UpdateNumEncodedSinks();
   UpdateSourceHasConsumers();
 }
 
@@ -514,7 +515,8 @@
   DCHECK_CALLED_ON_VALID_THREAD(main_render_thread_checker_);
   RemoveSinkInternal(&encoded_sinks_, sink);
   frame_deliverer_->RemoveEncodedCallback(sink);
-  source_->UpdateNumEncodedSinks();
+  if (source_)
+    source_->UpdateNumEncodedSinks();
   UpdateSourceHasConsumers();
 }
 
@@ -532,7 +534,8 @@
   // need a new keyframe from the source as we may have dropped data making the
   // stream undecodable.
   bool maybe_await_key_frame = false;
-  if (enabled && source_->SupportsEncodedOutput() && !encoded_sinks_.empty()) {
+  if (enabled && source_ && source_->SupportsEncodedOutput() &&
+      !encoded_sinks_.empty()) {
     source_->RequestRefreshFrame();
     maybe_await_key_frame = true;
   }
diff --git a/third_party/blink/renderer/modules/mediastream/media_stream_video_track_test.cc b/third_party/blink/renderer/modules/mediastream/media_stream_video_track_test.cc
index 09011f4b..dc44c95 100644
--- a/third_party/blink/renderer/modules/mediastream/media_stream_video_track_test.cc
+++ b/third_party/blink/renderer/modules/mediastream/media_stream_video_track_test.cc
@@ -255,6 +255,22 @@
   sink.DisconnectFromTrack();
 }
 
+TEST_F(MediaStreamVideoTrackTest, SourceDetached) {
+  InitializeSource();
+  WebMediaStreamTrack track = CreateTrack();
+  MockMediaStreamVideoSink sink;
+  auto* video_track = MediaStreamVideoTrack::GetVideoTrack(track);
+  video_track->StopAndNotify(base::BindOnce([] {}));
+  sink.ConnectToTrack(track);
+  sink.ConnectEncodedToTrack(track);
+  video_track->SetEnabled(true);
+  video_track->SetEnabled(false);
+  WebMediaStreamTrack::Settings settings;
+  video_track->GetSettings(settings);
+  sink.DisconnectFromTrack();
+  sink.DisconnectEncodedFromTrack();
+}
+
 TEST_F(MediaStreamVideoTrackTest, SourceStopped) {
   InitializeSource();
   MockMediaStreamVideoSink sink;
diff --git a/third_party/blink/renderer/modules/modules_idl_files.gni b/third_party/blink/renderer/modules/modules_idl_files.gni
index 8232d249..6df19648 100644
--- a/third_party/blink/renderer/modules/modules_idl_files.gni
+++ b/third_party/blink/renderer/modules/modules_idl_files.gni
@@ -912,6 +912,7 @@
                       "serial/serial_input_signals.idl",
                       "serial/serial_options.idl",
                       "serial/serial_output_signals.idl",
+                      "serial/serial_port_filter.idl",
                       "serial/serial_port_request_options.idl",
                     ],
                     "abspath")
@@ -1066,6 +1067,7 @@
                     "netinfo/testing/internals_net_info.idl",
                     "peerconnection/testing/internals_rtc_certificate.idl",
                     "peerconnection/testing/internals_rtc_peer_connection.idl",
+                    "permissions/testing/internals_permission.idl",
                     "service_worker/testing/internals_service_worker.idl",
                     "speech/testing/internals_speech_synthesis.idl",
                     "vibration/testing/internals_vibration.idl",
diff --git a/third_party/blink/renderer/modules/payments/payment_manager.h b/third_party/blink/renderer/modules/payments/payment_manager.h
index 9a083f1..f618f288 100644
--- a/third_party/blink/renderer/modules/payments/payment_manager.h
+++ b/third_party/blink/renderer/modules/payments/payment_manager.h
@@ -25,8 +25,6 @@
   DEFINE_WRAPPERTYPEINFO();
 
  public:
-  static PaymentManager* Create(ServiceWorkerRegistration*);
-
   explicit PaymentManager(ServiceWorkerRegistration*);
 
   PaymentInstruments* instruments();
diff --git a/third_party/blink/renderer/modules/peerconnection/media_stream_remote_video_source.cc b/third_party/blink/renderer/modules/peerconnection/media_stream_remote_video_source.cc
index 952689f..63d08f1 100644
--- a/third_party/blink/renderer/modules/peerconnection/media_stream_remote_video_source.cc
+++ b/third_party/blink/renderer/modules/peerconnection/media_stream_remote_video_source.cc
@@ -407,6 +407,9 @@
 
 bool MediaStreamRemoteVideoSource::SupportsEncodedOutput() const {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+  if (!observer_ || !observer_->track()) {
+    return false;
+  }
   scoped_refptr<webrtc::VideoTrackInterface> video_track(
       static_cast<webrtc::VideoTrackInterface*>(observer_->track().get()));
   return video_track->GetSource()->SupportsEncodedOutput();
@@ -414,6 +417,9 @@
 
 void MediaStreamRemoteVideoSource::RequestRefreshFrame() {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+  if (!observer_ || !observer_->track()) {
+    return;
+  }
   scoped_refptr<webrtc::VideoTrackInterface> video_track(
       static_cast<webrtc::VideoTrackInterface*>(observer_->track().get()));
   if (video_track->GetSource()) {
@@ -423,6 +429,9 @@
 
 void MediaStreamRemoteVideoSource::OnEncodedSinkEnabled() {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+  if (!observer_ || !observer_->track()) {
+    return;
+  }
   scoped_refptr<webrtc::VideoTrackInterface> video_track(
       static_cast<webrtc::VideoTrackInterface*>(observer_->track().get()));
   video_track->GetSource()->AddEncodedSink(delegate_.get());
@@ -430,7 +439,7 @@
 
 void MediaStreamRemoteVideoSource::OnEncodedSinkDisabled() {
   DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
-  if (!observer_->track()) {
+  if (!observer_ || !observer_->track()) {
     return;
   }
   scoped_refptr<webrtc::VideoTrackInterface> video_track(
diff --git a/third_party/blink/renderer/modules/peerconnection/media_stream_remote_video_source_test.cc b/third_party/blink/renderer/modules/peerconnection/media_stream_remote_video_source_test.cc
index 9ea0b42..8b96314 100644
--- a/third_party/blink/renderer/modules/peerconnection/media_stream_remote_video_source_test.cc
+++ b/third_party/blink/renderer/modules/peerconnection/media_stream_remote_video_source_test.cc
@@ -188,7 +188,31 @@
   track->RemoveSink(&sink);
 }
 
-TEST_F(MediaStreamRemoteVideoSourceTest, RemoteTrackStop) {
+TEST_F(MediaStreamRemoteVideoSourceTest,
+       SourceTerminationWithEncodedSinkAdded) {
+  std::unique_ptr<blink::MediaStreamVideoTrack> track(CreateTrack());
+  blink::MockMediaStreamVideoSink sink;
+  track->AddEncodedSink(&sink, sink.GetDeliverEncodedVideoFrameCB());
+  source()->OnSourceTerminated();
+  track->RemoveEncodedSink(&sink);
+}
+
+TEST_F(MediaStreamRemoteVideoSourceTest,
+       SourceTerminationBeforeEncodedSinkAdded) {
+  std::unique_ptr<blink::MediaStreamVideoTrack> track(CreateTrack());
+  blink::MockMediaStreamVideoSink sink;
+  source()->OnSourceTerminated();
+  track->AddEncodedSink(&sink, sink.GetDeliverEncodedVideoFrameCB());
+  track->RemoveEncodedSink(&sink);
+}
+
+TEST_F(MediaStreamRemoteVideoSourceTest,
+       SourceTerminationBeforeRequestRefreshFrame) {
+  source()->OnSourceTerminated();
+  source()->RequestRefreshFrame();
+}
+
+TEST_F(MediaStreamRemoteVideoSourceTest, SurvivesSourceTermination) {
   std::unique_ptr<blink::MediaStreamVideoTrack> track(CreateTrack());
 
   blink::MockMediaStreamVideoSink sink;
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
index 9cc1e57..4d46233 100644
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
@@ -118,8 +118,8 @@
           create_p2p_socket_dispatcher ? new P2PSocketDispatcher() : nullptr),
       signaling_thread_(nullptr),
       worker_thread_(nullptr),
-      chrome_signaling_thread_("Chrome_libJingle_Signaling"),
-      chrome_worker_thread_("Chrome_libJingle_WorkerThread") {
+      chrome_signaling_thread_("WebRTC_Signaling"),
+      chrome_worker_thread_("WebRTC_Worker") {
   TryScheduleStunProbeTrial();
 }
 
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.cc b/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.cc
index 3ed79ac..a245598 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.cc
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.cc
@@ -39,6 +39,7 @@
 #include "third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate_init.h"
 #include "third_party/blink/renderer/platform/bindings/exception_messages.h"
 #include "third_party/blink/renderer/platform/bindings/exception_state.h"
+#include "third_party/blink/renderer/platform/heap/heap.h"
 #include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
 
 namespace blink {
@@ -64,9 +65,10 @@
                       WebFeature::kRTCIceCandidateDefaultSdpMLineIndex);
   }
 
-  return MakeGarbageCollected<RTCIceCandidate>(RTCIceCandidatePlatform::Create(
-      candidate_init->candidate(), sdp_mid, std::move(sdp_m_line_index),
-      candidate_init->usernameFragment()));
+  return MakeGarbageCollected<RTCIceCandidate>(
+      MakeGarbageCollected<RTCIceCandidatePlatform>(
+          candidate_init->candidate(), sdp_mid, std::move(sdp_m_line_index),
+          candidate_init->usernameFragment()));
 }
 
 RTCIceCandidate* RTCIceCandidate::Create(
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_ice_transport.cc b/third_party/blink/renderer/modules/peerconnection/rtc_ice_transport.cc
index 3790579..b07f80df 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_ice_transport.cc
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_ice_transport.cc
@@ -23,6 +23,7 @@
 #include "third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_ice_event.h"
 #include "third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_ice_event_init.h"
 #include "third_party/blink/renderer/modules/peerconnection/rtc_quic_transport.h"
+#include "third_party/blink/renderer/platform/heap/heap.h"
 #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
 #include "third_party/blink/renderer/platform/scheduler/public/thread.h"
 #include "third_party/webrtc/api/ice_transport_factory.h"
@@ -53,7 +54,7 @@
 }
 
 RTCIceCandidate* ConvertToRtcIceCandidate(const cricket::Candidate& candidate) {
-  return RTCIceCandidate::Create(RTCIceCandidatePlatform::Create(
+  return RTCIceCandidate::Create(MakeGarbageCollected<RTCIceCandidatePlatform>(
       String::FromUTF8(webrtc::SdpSerializeCandidate(candidate)), "", 0));
 }
 
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
index 89aee95..4e28b16 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
@@ -227,7 +227,7 @@
       UseCounter::Count(context,
                         WebFeature::kRTCIceCandidateDefaultSdpMLineIndex);
     }
-    return RTCIceCandidatePlatform::Create(
+    return MakeGarbageCollected<RTCIceCandidatePlatform>(
         ice_candidate_init->candidate(), ice_candidate_init->sdpMid(),
         sdp_m_line_index, ice_candidate_init->usernameFragment());
   }
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc
index 5ffcbd0..50c7573 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc
@@ -35,6 +35,7 @@
 #include "third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver_impl.h"
 #include "third_party/blink/renderer/modules/peerconnection/webrtc_set_description_observer.h"
 #include "third_party/blink/renderer/modules/webrtc/webrtc_audio_device_impl.h"
+#include "third_party/blink/renderer/platform/heap/heap.h"
 #include "third_party/blink/renderer/platform/mediastream/media_constraints.h"
 #include "third_party/blink/renderer/platform/mediastream/webrtc_uma_histograms.h"
 #include "third_party/blink/renderer/platform/peerconnection/rtc_answer_options_platform.h"
@@ -2447,8 +2448,8 @@
                                               int address_family) {
   DCHECK(task_runner_->RunsTasksInCurrentSequence());
   TRACE_EVENT0("webrtc", "RTCPeerConnectionHandler::OnIceCandidateImpl");
-  auto* platform_candidate =
-      RTCIceCandidatePlatform::Create(sdp, sdp_mid, sdp_mline_index);
+  auto* platform_candidate = MakeGarbageCollected<RTCIceCandidatePlatform>(
+      sdp, sdp_mid, sdp_mline_index);
   if (peer_connection_tracker_) {
     peer_connection_tracker_->TrackAddIceCandidate(
         this, platform_candidate, PeerConnectionTracker::SOURCE_LOCAL, true);
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler_test.cc b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler_test.cc
index 09c7650..5f193ce 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler_test.cc
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler_test.cc
@@ -787,8 +787,8 @@
 }
 
 TEST_F(RTCPeerConnectionHandlerTest, addICECandidate) {
-  RTCIceCandidatePlatform* candidate =
-      RTCIceCandidatePlatform::Create(kDummySdp, "sdpMid", 1);
+  auto* candidate =
+      MakeGarbageCollected<RTCIceCandidatePlatform>(kDummySdp, "sdpMid", 1);
 
   EXPECT_CALL(*mock_tracker_.get(),
               TrackAddIceCandidate(pc_handler_.get(), candidate,
diff --git a/third_party/blink/renderer/modules/permissions/permission_utils.cc b/third_party/blink/renderer/modules/permissions/permission_utils.cc
index 6f3c445..5bc3d90 100644
--- a/third_party/blink/renderer/modules/permissions/permission_utils.cc
+++ b/third_party/blink/renderer/modules/permissions/permission_utils.cc
@@ -7,11 +7,20 @@
 #include <utility>
 
 #include "third_party/blink/public/common/browser_interface_broker_proxy.h"
+#include "third_party/blink/public/mojom/permissions/permission.mojom-blink.h"
+#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_clipboard_permission_descriptor.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_midi_permission_descriptor.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_permission_descriptor.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_push_permission_descriptor.h"
+#include "third_party/blink/renderer/bindings/modules/v8/v8_wake_lock_permission_descriptor.h"
 #include "third_party/blink/renderer/core/dom/document.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
 #include "third_party/blink/renderer/core/frame/local_frame.h"
 #include "third_party/blink/renderer/core/workers/worker_global_scope.h"
 #include "third_party/blink/renderer/core/workers/worker_thread.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
+#include "third_party/blink/renderer/platform/bindings/script_state.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
 
 namespace blink {
@@ -81,4 +90,130 @@
   return descriptor;
 }
 
+PermissionDescriptorPtr ParsePermissionDescriptor(
+    ScriptState* script_state,
+    const ScriptValue& raw_descriptor,
+    ExceptionState& exception_state) {
+  PermissionDescriptor* permission =
+      NativeValueTraits<PermissionDescriptor>::NativeValue(
+          script_state->GetIsolate(), raw_descriptor.V8Value(),
+          exception_state);
+
+  if (exception_state.HadException())
+    return nullptr;
+
+  const String& name = permission->name();
+  if (name == "geolocation")
+    return CreatePermissionDescriptor(PermissionName::GEOLOCATION);
+  if (name == "camera")
+    return CreatePermissionDescriptor(PermissionName::VIDEO_CAPTURE);
+  if (name == "microphone")
+    return CreatePermissionDescriptor(PermissionName::AUDIO_CAPTURE);
+  if (name == "notifications")
+    return CreatePermissionDescriptor(PermissionName::NOTIFICATIONS);
+  if (name == "persistent-storage")
+    return CreatePermissionDescriptor(PermissionName::DURABLE_STORAGE);
+  if (name == "push") {
+    PushPermissionDescriptor* push_permission =
+        NativeValueTraits<PushPermissionDescriptor>::NativeValue(
+            script_state->GetIsolate(), raw_descriptor.V8Value(),
+            exception_state);
+    if (exception_state.HadException())
+      return nullptr;
+
+    // Only "userVisibleOnly" push is supported for now.
+    if (!push_permission->userVisibleOnly()) {
+      exception_state.ThrowDOMException(
+          DOMExceptionCode::kNotSupportedError,
+          "Push Permission without userVisibleOnly:true isn't supported yet.");
+      return nullptr;
+    }
+
+    return CreatePermissionDescriptor(PermissionName::NOTIFICATIONS);
+  }
+  if (name == "midi") {
+    MidiPermissionDescriptor* midi_permission =
+        NativeValueTraits<MidiPermissionDescriptor>::NativeValue(
+            script_state->GetIsolate(), raw_descriptor.V8Value(),
+            exception_state);
+    return CreateMidiPermissionDescriptor(midi_permission->sysex());
+  }
+  if (name == "background-sync")
+    return CreatePermissionDescriptor(PermissionName::BACKGROUND_SYNC);
+  if (name == "ambient-light-sensor" || name == "accelerometer" ||
+      name == "gyroscope" || name == "magnetometer") {
+    // ALS requires an extra flag.
+    if (name == "ambient-light-sensor") {
+      if (!RuntimeEnabledFeatures::SensorExtraClassesEnabled()) {
+        exception_state.ThrowTypeError(
+            "GenericSensorExtraClasses flag is not enabled.");
+        return nullptr;
+      }
+    }
+
+    return CreatePermissionDescriptor(PermissionName::SENSORS);
+  }
+  if (name == "accessibility-events") {
+    if (!RuntimeEnabledFeatures::AccessibilityObjectModelEnabled()) {
+      exception_state.ThrowTypeError(
+          "Accessibility Object Model is not enabled.");
+      return nullptr;
+    }
+    return CreatePermissionDescriptor(PermissionName::ACCESSIBILITY_EVENTS);
+  }
+  if (name == "clipboard-read" || name == "clipboard-write") {
+    PermissionName permission_name = PermissionName::CLIPBOARD_READ;
+    if (name == "clipboard-write")
+      permission_name = PermissionName::CLIPBOARD_WRITE;
+
+    ClipboardPermissionDescriptor* clipboard_permission =
+        NativeValueTraits<ClipboardPermissionDescriptor>::NativeValue(
+            script_state->GetIsolate(), raw_descriptor.V8Value(),
+            exception_state);
+    return CreateClipboardPermissionDescriptor(
+        permission_name, clipboard_permission->allowWithoutGesture(),
+        clipboard_permission->allowWithoutSanitization());
+  }
+  if (name == "payment-handler")
+    return CreatePermissionDescriptor(PermissionName::PAYMENT_HANDLER);
+  if (name == "background-fetch")
+    return CreatePermissionDescriptor(PermissionName::BACKGROUND_FETCH);
+  if (name == "idle-detection")
+    return CreatePermissionDescriptor(PermissionName::IDLE_DETECTION);
+  if (name == "periodic-background-sync")
+    return CreatePermissionDescriptor(PermissionName::PERIODIC_BACKGROUND_SYNC);
+  if (name == "wake-lock") {
+    if (!RuntimeEnabledFeatures::WakeLockEnabled(
+            ExecutionContext::From(script_state))) {
+      exception_state.ThrowTypeError("Wake Lock is not enabled.");
+      return nullptr;
+    }
+    WakeLockPermissionDescriptor* wake_lock_permission =
+        NativeValueTraits<WakeLockPermissionDescriptor>::NativeValue(
+            script_state->GetIsolate(), raw_descriptor.V8Value(),
+            exception_state);
+    if (exception_state.HadException())
+      return nullptr;
+    const String& type = wake_lock_permission->type();
+    if (type == "screen") {
+      return CreateWakeLockPermissionDescriptor(
+          mojom::blink::WakeLockType::kScreen);
+    } else if (type == "system") {
+      return CreateWakeLockPermissionDescriptor(
+          mojom::blink::WakeLockType::kSystem);
+    } else {
+      NOTREACHED();
+    }
+  }
+  if (name == "nfc") {
+    if (!RuntimeEnabledFeatures::WebNFCEnabled(
+            ExecutionContext::From(script_state))) {
+      exception_state.ThrowTypeError("Web NFC is not enabled.");
+      return nullptr;
+    }
+    return CreatePermissionDescriptor(PermissionName::NFC);
+  }
+  return nullptr;
+}
+
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/permissions/permission_utils.h b/third_party/blink/renderer/modules/permissions/permission_utils.h
index 50248b2..e790055c 100644
--- a/third_party/blink/renderer/modules/permissions/permission_utils.h
+++ b/third_party/blink/renderer/modules/permissions/permission_utils.h
@@ -7,11 +7,15 @@
 
 #include "mojo/public/cpp/bindings/pending_receiver.h"
 #include "third_party/blink/public/mojom/permissions/permission.mojom-blink.h"
+#include "third_party/blink/renderer/modules/modules_export.h"
 #include "third_party/blink/renderer/platform/wtf/forward.h"
 
 namespace blink {
 
 class ExecutionContext;
+class ExceptionState;
+class ScriptState;
+class ScriptValue;
 
 void ConnectToPermissionService(
     ExecutionContext*,
@@ -33,6 +37,18 @@
 mojom::blink::PermissionDescriptorPtr CreateWakeLockPermissionDescriptor(
     mojom::blink::WakeLockType type);
 
+// Parses the raw permission dictionary and returns the Mojo
+// PermissionDescriptor if parsing was successful. If an exception occurs, it
+// will be stored in |exceptionState| and nullptr will be returned.
+//
+// Websites will be able to run code when `name()` is called, changing the
+// current context. The caller should make sure that no assumption is made
+// after this has been called.
+MODULES_EXPORT mojom::blink::PermissionDescriptorPtr ParsePermissionDescriptor(
+    ScriptState*,
+    const ScriptValue& raw_permission,
+    ExceptionState&);
+
 }  // namespace blink
 
 #endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_PERMISSIONS_PERMISSION_UTILS_H_
diff --git a/third_party/blink/renderer/modules/permissions/permissions.cc b/third_party/blink/renderer/modules/permissions/permissions.cc
index f00bb757..511fb0a 100644
--- a/third_party/blink/renderer/modules/permissions/permissions.cc
+++ b/third_party/blink/renderer/modules/permissions/permissions.cc
@@ -11,11 +11,6 @@
 #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_value.h"
-#include "third_party/blink/renderer/bindings/modules/v8/v8_clipboard_permission_descriptor.h"
-#include "third_party/blink/renderer/bindings/modules/v8/v8_midi_permission_descriptor.h"
-#include "third_party/blink/renderer/bindings/modules/v8/v8_permission_descriptor.h"
-#include "third_party/blink/renderer/bindings/modules/v8/v8_push_permission_descriptor.h"
-#include "third_party/blink/renderer/bindings/modules/v8/v8_wake_lock_permission_descriptor.h"
 #include "third_party/blink/renderer/core/dom/document.h"
 #include "third_party/blink/renderer/core/dom/dom_exception.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
@@ -36,153 +31,11 @@
 using mojom::blink::PermissionName;
 using mojom::blink::PermissionService;
 
-namespace {
-
-// Parses the raw permission dictionary and returns the Mojo
-// PermissionDescriptor if parsing was successful. If an exception occurs, it
-// will be stored in |exceptionState| and null will be returned. Therefore, the
-// |exceptionState| should be checked before attempting to use the returned
-// permission as the non-null assert will be fired otherwise.
-//
-// Websites will be able to run code when `name()` is called, changing the
-// current context. The caller should make sure that no assumption is made
-// after this has been called.
-PermissionDescriptorPtr ParsePermission(ScriptState* script_state,
-                                        const ScriptValue raw_permission,
-                                        ExceptionState& exception_state) {
-  PermissionDescriptor* permission =
-      NativeValueTraits<PermissionDescriptor>::NativeValue(
-          script_state->GetIsolate(), raw_permission.V8Value(),
-          exception_state);
-
-  if (exception_state.HadException()) {
-    exception_state.ThrowTypeError(exception_state.Message());
-    return nullptr;
-  }
-
-  const String& name = permission->name();
-  if (name == "geolocation")
-    return CreatePermissionDescriptor(PermissionName::GEOLOCATION);
-  if (name == "camera")
-    return CreatePermissionDescriptor(PermissionName::VIDEO_CAPTURE);
-  if (name == "microphone")
-    return CreatePermissionDescriptor(PermissionName::AUDIO_CAPTURE);
-  if (name == "notifications")
-    return CreatePermissionDescriptor(PermissionName::NOTIFICATIONS);
-  if (name == "persistent-storage")
-    return CreatePermissionDescriptor(PermissionName::DURABLE_STORAGE);
-  if (name == "push") {
-    PushPermissionDescriptor* push_permission =
-        NativeValueTraits<PushPermissionDescriptor>::NativeValue(
-            script_state->GetIsolate(), raw_permission.V8Value(),
-            exception_state);
-    if (exception_state.HadException()) {
-      exception_state.ThrowTypeError(exception_state.Message());
-      return nullptr;
-    }
-
-    // Only "userVisibleOnly" push is supported for now.
-    if (!push_permission->userVisibleOnly()) {
-      exception_state.ThrowDOMException(
-          DOMExceptionCode::kNotSupportedError,
-          "Push Permission without userVisibleOnly:true isn't supported yet.");
-      return nullptr;
-    }
-
-    return CreatePermissionDescriptor(PermissionName::NOTIFICATIONS);
-  }
-  if (name == "midi") {
-    MidiPermissionDescriptor* midi_permission =
-        NativeValueTraits<MidiPermissionDescriptor>::NativeValue(
-            script_state->GetIsolate(), raw_permission.V8Value(),
-            exception_state);
-    return CreateMidiPermissionDescriptor(midi_permission->sysex());
-  }
-  if (name == "background-sync")
-    return CreatePermissionDescriptor(PermissionName::BACKGROUND_SYNC);
-  if (name == "ambient-light-sensor" || name == "accelerometer" ||
-      name == "gyroscope" || name == "magnetometer") {
-    // ALS requires an extra flag.
-    if (name == "ambient-light-sensor") {
-      if (!RuntimeEnabledFeatures::SensorExtraClassesEnabled()) {
-        exception_state.ThrowTypeError(
-            "GenericSensorExtraClasses flag is not enabled.");
-        return nullptr;
-      }
-    }
-
-    return CreatePermissionDescriptor(PermissionName::SENSORS);
-  }
-  if (name == "accessibility-events") {
-    if (!RuntimeEnabledFeatures::AccessibilityObjectModelEnabled()) {
-      exception_state.ThrowTypeError(
-          "Accessibility Object Model is not enabled.");
-      return nullptr;
-    }
-    return CreatePermissionDescriptor(PermissionName::ACCESSIBILITY_EVENTS);
-  }
-  if (name == "clipboard-read" || name == "clipboard-write") {
-    PermissionName permission_name = PermissionName::CLIPBOARD_READ;
-    if (name == "clipboard-write")
-      permission_name = PermissionName::CLIPBOARD_WRITE;
-
-    ClipboardPermissionDescriptor* clipboard_permission =
-        NativeValueTraits<ClipboardPermissionDescriptor>::NativeValue(
-            script_state->GetIsolate(), raw_permission.V8Value(),
-            exception_state);
-    return CreateClipboardPermissionDescriptor(
-        permission_name, clipboard_permission->allowWithoutGesture(),
-        clipboard_permission->allowWithoutSanitization());
-  }
-  if (name == "payment-handler")
-    return CreatePermissionDescriptor(PermissionName::PAYMENT_HANDLER);
-  if (name == "background-fetch")
-    return CreatePermissionDescriptor(PermissionName::BACKGROUND_FETCH);
-  if (name == "idle-detection")
-    return CreatePermissionDescriptor(PermissionName::IDLE_DETECTION);
-  if (name == "periodic-background-sync")
-    return CreatePermissionDescriptor(PermissionName::PERIODIC_BACKGROUND_SYNC);
-  if (name == "wake-lock") {
-    if (!RuntimeEnabledFeatures::WakeLockEnabled(
-            ExecutionContext::From(script_state))) {
-      exception_state.ThrowTypeError("Wake Lock is not enabled.");
-      return nullptr;
-    }
-    WakeLockPermissionDescriptor* wake_lock_permission =
-        NativeValueTraits<WakeLockPermissionDescriptor>::NativeValue(
-            script_state->GetIsolate(), raw_permission.V8Value(),
-            exception_state);
-    if (exception_state.HadException())
-      return nullptr;
-    const String& type = wake_lock_permission->type();
-    if (type == "screen") {
-      return CreateWakeLockPermissionDescriptor(
-          mojom::blink::WakeLockType::kScreen);
-    } else if (type == "system") {
-      return CreateWakeLockPermissionDescriptor(
-          mojom::blink::WakeLockType::kSystem);
-    } else {
-      NOTREACHED();
-    }
-  }
-  if (name == "nfc") {
-    if (!RuntimeEnabledFeatures::WebNFCEnabled(
-            ExecutionContext::From(script_state))) {
-      exception_state.ThrowTypeError("Web NFC is not enabled.");
-      return nullptr;
-    }
-    return CreatePermissionDescriptor(PermissionName::NFC);
-  }
-  return nullptr;
-}
-
-}  // anonymous namespace
-
 ScriptPromise Permissions::query(ScriptState* script_state,
                                  const ScriptValue& raw_permission,
                                  ExceptionState& exception_state) {
   PermissionDescriptorPtr descriptor =
-      ParsePermission(script_state, raw_permission, exception_state);
+      ParsePermissionDescriptor(script_state, raw_permission, exception_state);
   if (exception_state.HadException())
     return ScriptPromise();
 
@@ -206,7 +59,7 @@
                                    const ScriptValue& raw_permission,
                                    ExceptionState& exception_state) {
   PermissionDescriptorPtr descriptor =
-      ParsePermission(script_state, raw_permission, exception_state);
+      ParsePermissionDescriptor(script_state, raw_permission, exception_state);
   if (exception_state.HadException())
     return ScriptPromise();
 
@@ -231,7 +84,7 @@
                                   const ScriptValue& raw_permission,
                                   ExceptionState& exception_state) {
   PermissionDescriptorPtr descriptor =
-      ParsePermission(script_state, raw_permission, exception_state);
+      ParsePermissionDescriptor(script_state, raw_permission, exception_state);
   if (exception_state.HadException())
     return ScriptPromise();
 
@@ -261,8 +114,8 @@
   for (wtf_size_t i = 0; i < raw_permissions.size(); ++i) {
     const ScriptValue& raw_permission = raw_permissions[i];
 
-    auto descriptor =
-        ParsePermission(script_state, raw_permission, exception_state);
+    auto descriptor = ParsePermissionDescriptor(script_state, raw_permission,
+                                                exception_state);
     if (exception_state.HadException())
       return ScriptPromise();
 
diff --git a/third_party/blink/renderer/modules/permissions/testing/internals_permission.cc b/third_party/blink/renderer/modules/permissions/testing/internals_permission.cc
new file mode 100644
index 0000000..3e467cb
--- /dev/null
+++ b/third_party/blink/renderer/modules/permissions/testing/internals_permission.cc
@@ -0,0 +1,87 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/renderer/modules/permissions/testing/internals_permission.h"
+
+#include <utility>
+
+#include "mojo/public/cpp/bindings/remote.h"
+#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
+#include "third_party/blink/public/common/permissions/permission_utils.h"
+#include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
+#include "third_party/blink/public/mojom/permissions/permission.mojom-blink.h"
+#include "third_party/blink/public/mojom/permissions/permission_automation.mojom-blink.h"
+#include "third_party/blink/public/platform/platform.h"
+#include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
+#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
+#include "third_party/blink/renderer/bindings/core/v8/script_value.h"
+#include "third_party/blink/renderer/core/dom/dom_exception.h"
+#include "third_party/blink/renderer/core/testing/internals.h"
+#include "third_party/blink/renderer/modules/permissions/permission_utils.h"
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
+#include "third_party/blink/renderer/platform/bindings/script_state.h"
+#include "third_party/blink/renderer/platform/testing/url_test_helpers.h"
+#include "third_party/blink/renderer/platform/weborigin/kurl.h"
+#include "third_party/blink/renderer/platform/wtf/functional.h"
+#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
+
+namespace blink {
+
+// static
+ScriptPromise InternalsPermission::setPermission(
+    ScriptState* script_state,
+    Internals&,
+    const ScriptValue& raw_descriptor,
+    const String& state,
+    const String& origin,
+    const String& embedding_origin,
+    ExceptionState& exception_state) {
+  mojom::blink::PermissionDescriptorPtr descriptor =
+      ParsePermissionDescriptor(script_state, raw_descriptor, exception_state);
+  if (exception_state.HadException())
+    return ScriptPromise();
+
+  KURL url = url_test_helpers::ToKURL(origin.Utf8());
+  if (!url.IsValid()) {
+    exception_state.ThrowDOMException(DOMExceptionCode::kSyntaxError,
+                                      "'" + origin + "' is not a valid URL.");
+    return ScriptPromise();
+  }
+
+  KURL embedding_url = url_test_helpers::ToKURL(embedding_origin.Utf8());
+  if (!embedding_url.IsValid()) {
+    exception_state.ThrowDOMException(
+        DOMExceptionCode::kSyntaxError,
+        "'" + embedding_origin + "' is not a valid URL.");
+    return ScriptPromise();
+  }
+
+  mojo::Remote<test::mojom::blink::PermissionAutomation> permission_automation;
+  Platform::Current()->GetBrowserInterfaceBroker()->GetInterface(
+      permission_automation.BindNewPipeAndPassReceiver());
+  DCHECK(permission_automation.is_bound());
+
+  auto* resolver = MakeGarbageCollected<ScriptPromiseResolver>(script_state);
+  ScriptPromise promise = resolver->Promise();
+  auto* raw_permission_automation = permission_automation.get();
+  raw_permission_automation->SetPermission(
+      std::move(descriptor), ToPermissionStatus(state.Utf8()), url,
+      embedding_url,
+      WTF::Bind(
+          // While we only really need |resolver|, we also take the
+          // mojo::Remote<> so that it remains alive after this function exits.
+          [](ScriptPromiseResolver* resolver,
+             mojo::Remote<test::mojom::blink::PermissionAutomation>,
+             bool success) {
+            if (success)
+              resolver->Resolve();
+            else
+              resolver->Reject();
+          },
+          WrapPersistent(resolver), std::move(permission_automation)));
+
+  return promise;
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/permissions/testing/internals_permission.h b/third_party/blink/renderer/modules/permissions/testing/internals_permission.h
new file mode 100644
index 0000000..59fd0f0
--- /dev/null
+++ b/third_party/blink/renderer/modules/permissions/testing/internals_permission.h
@@ -0,0 +1,34 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_PERMISSIONS_TESTING_INTERNALS_PERMISSION_H_
+#define THIRD_PARTY_BLINK_RENDERER_MODULES_PERMISSIONS_TESTING_INTERNALS_PERMISSION_H_
+
+#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
+#include "third_party/blink/renderer/platform/wtf/forward.h"
+
+namespace blink {
+
+class ExceptionState;
+class Internals;
+class ScriptPromise;
+class ScriptState;
+class ScriptValue;
+
+class InternalsPermission {
+  STATIC_ONLY(InternalsPermission);
+
+ public:
+  static ScriptPromise setPermission(ScriptState*,
+                                     Internals&,
+                                     const ScriptValue&,
+                                     const String& state,
+                                     const String& origin,
+                                     const String& embedding_origin,
+                                     ExceptionState&);
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_PERMISSIONS_TESTING_INTERNALS_PERMISSION_H_
diff --git a/third_party/blink/renderer/modules/permissions/testing/internals_permission.idl b/third_party/blink/renderer/modules/permissions/testing/internals_permission.idl
new file mode 100644
index 0000000..5fe940b
--- /dev/null
+++ b/third_party/blink/renderer/modules/permissions/testing/internals_permission.idl
@@ -0,0 +1,9 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+[
+    ImplementedAs=InternalsPermission
+] partial interface Internals {
+    [CallWith=ScriptState, RaisesException] Promise<void> setPermission(object descriptor, PermissionState state, USVString url, USVString embedding_url);
+};
diff --git a/third_party/blink/renderer/modules/serial/serial.cc b/third_party/blink/renderer/modules/serial/serial.cc
index 29abf84..9061201 100644
--- a/third_party/blink/renderer/modules/serial/serial.cc
+++ b/third_party/blink/renderer/modules/serial/serial.cc
@@ -18,6 +18,8 @@
 #include "third_party/blink/renderer/core/frame/local_frame.h"
 #include "third_party/blink/renderer/modules/event_target_modules_names.h"
 #include "third_party/blink/renderer/modules/serial/serial_port.h"
+#include "third_party/blink/renderer/modules/serial/serial_port_filter.h"
+#include "third_party/blink/renderer/modules/serial/serial_port_request_options.h"
 #include "third_party/blink/renderer/platform/heap/heap.h"
 
 namespace blink {
@@ -102,11 +104,40 @@
     return ScriptPromise();
   }
 
+  Vector<mojom::blink::SerialPortFilterPtr> filters;
+  if (options && options->hasFilters()) {
+    for (const auto& filter : options->filters()) {
+      auto mojo_filter = mojom::blink::SerialPortFilter::New();
+
+      mojo_filter->has_vendor_id = filter->hasUsbVendorId();
+      if (mojo_filter->has_vendor_id) {
+        mojo_filter->vendor_id = filter->usbVendorId();
+      } else {
+        exception_state.ThrowTypeError(
+            "A filter must provide a property to filter by.");
+        return ScriptPromise();
+      }
+
+      mojo_filter->has_product_id = filter->hasUsbProductId();
+      if (mojo_filter->has_product_id) {
+        if (!mojo_filter->has_vendor_id) {
+          exception_state.ThrowTypeError(
+              "A filter containing a usbProductId must also specify a "
+              "usbVendorId.");
+          return ScriptPromise();
+        }
+        mojo_filter->product_id = filter->usbProductId();
+      }
+
+      filters.push_back(std::move(mojo_filter));
+    }
+  }
+
   auto* resolver = MakeGarbageCollected<ScriptPromiseResolver>(script_state);
   request_port_promises_.insert(resolver);
 
   EnsureServiceConnection();
-  service_->RequestPort(Vector<mojom::blink::SerialPortFilterPtr>(),
+  service_->RequestPort(std::move(filters),
                         WTF::Bind(&Serial::OnRequestPort, WrapPersistent(this),
                                   WrapPersistent(resolver)));
 
diff --git a/third_party/blink/renderer/modules/serial/serial_port_filter.idl b/third_party/blink/renderer/modules/serial/serial_port_filter.idl
new file mode 100644
index 0000000..d173cdd9
--- /dev/null
+++ b/third_party/blink/renderer/modules/serial/serial_port_filter.idl
@@ -0,0 +1,10 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// https://wicg.github.io/serial
+
+dictionary SerialPortFilter {
+  unsigned short usbVendorId;
+  unsigned short usbProductId;
+};
diff --git a/third_party/blink/renderer/modules/serial/serial_port_request_options.idl b/third_party/blink/renderer/modules/serial/serial_port_request_options.idl
index 8e9c05c..8a58d20 100644
--- a/third_party/blink/renderer/modules/serial/serial_port_request_options.idl
+++ b/third_party/blink/renderer/modules/serial/serial_port_request_options.idl
@@ -5,4 +5,5 @@
 // https://wicg.github.io/serial
 
 dictionary SerialPortRequestOptions {
+  sequence<SerialPortFilter> filters;
 };
diff --git a/third_party/blink/renderer/platform/exported/web_url_response.cc b/third_party/blink/renderer/platform/exported/web_url_response.cc
index e8eca6af..2d15fb3 100644
--- a/third_party/blink/renderer/platform/exported/web_url_response.cc
+++ b/third_party/blink/renderer/platform/exported/web_url_response.cc
@@ -244,6 +244,10 @@
   resource_response_->SetIsLegacyTLSVersion(value);
 }
 
+void WebURLResponse::SetTimingAllowPassed(bool value) {
+  resource_response_->SetTimingAllowPassed(value);
+}
+
 void WebURLResponse::SetSecurityStyle(SecurityStyle security_style) {
   resource_response_->SetSecurityStyle(security_style);
 }
diff --git a/third_party/blink/renderer/platform/graphics/DEPS b/third_party/blink/renderer/platform/graphics/DEPS
index a41c151c8..23ab5079 100644
--- a/third_party/blink/renderer/platform/graphics/DEPS
+++ b/third_party/blink/renderer/platform/graphics/DEPS
@@ -63,4 +63,5 @@
   ".*_test.cc": [
     "+components/viz/test",
   ],
+  "(graphics_context|skia_utils)\.cc" : [ "+ui/base/ui_base_features.h" ]
 }
diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image.cc b/third_party/blink/renderer/platform/graphics/bitmap_image.cc
index 493eaf1..e7faefdc 100644
--- a/third_party/blink/renderer/platform/graphics/bitmap_image.cc
+++ b/third_party/blink/renderer/platform/graphics/bitmap_image.cc
@@ -156,6 +156,11 @@
   return size_respecting_orientation_;
 }
 
+bool BitmapImage::HasDefaultOrientation() const {
+  ImageOrientation orientation = CurrentFrameOrientation();
+  return orientation == kDefaultImageOrientation;
+}
+
 bool BitmapImage::GetHotSpot(IntPoint& hot_spot) const {
   return decoder_ && decoder_->HotSpot(hot_spot);
 }
diff --git a/third_party/blink/renderer/platform/graphics/bitmap_image.h b/third_party/blink/renderer/platform/graphics/bitmap_image.h
index b73b4ca..44cc102 100644
--- a/third_party/blink/renderer/platform/graphics/bitmap_image.h
+++ b/third_party/blink/renderer/platform/graphics/bitmap_image.h
@@ -66,6 +66,7 @@
 
   IntSize Size() const override;
   IntSize SizeRespectingOrientation() const;
+  bool HasDefaultOrientation() const override;
   bool GetHotSpot(IntPoint&) const override;
   String FilenameExtension() const override;
 
diff --git a/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer_test_helpers.h b/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer_test_helpers.h
index 1159bfb..4f965678 100644
--- a/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer_test_helpers.h
+++ b/third_party/blink/renderer/platform/graphics/gpu/drawing_buffer_test_helpers.h
@@ -279,9 +279,9 @@
 
   // ImplementationBase implementation
   void GenSyncTokenCHROMIUM(GLbyte* sync_token) override {
-    static uint64_t unique_id = 1;
-    gpu::SyncToken source(
-        gpu::GPU_IO, gpu::CommandBufferId::FromUnsafeValue(unique_id++), 2);
+    static gpu::CommandBufferId::Generator command_buffer_id_generator;
+    gpu::SyncToken source(gpu::GPU_IO,
+                          command_buffer_id_generator.GenerateNextId(), 2);
     memcpy(sync_token, &source, sizeof(source));
   }
 
diff --git a/third_party/blink/renderer/platform/graphics/graphics_context.cc b/third_party/blink/renderer/platform/graphics/graphics_context.cc
index 7ae6844..3acefef 100644
--- a/third_party/blink/renderer/platform/graphics/graphics_context.cc
+++ b/third_party/blink/renderer/platform/graphics/graphics_context.cc
@@ -58,6 +58,7 @@
 #include "third_party/skia/include/effects/SkTableColorFilter.h"
 #include "third_party/skia/include/pathops/SkPathOps.h"
 #include "third_party/skia/include/utils/SkNullCanvas.h"
+#include "ui/base/ui_base_features.h"
 
 namespace blink {
 
@@ -370,6 +371,10 @@
 namespace {
 
 int AdjustedFocusRingOffset(int offset, int width, bool is_outset) {
+  if (::features::IsFormControlsRefreshEnabled()) {
+    return 0;
+  }
+
 #if defined(OS_MACOSX)
   return offset + 2;
 #else
@@ -387,29 +392,37 @@
   // Unlike normal outlines (whole width is outside of the offset), focus
   // rings can be drawn with the center of the path aligned with the offset, so
   // only half of the width is outside of the offset.
+  if (::features::IsFormControlsRefreshEnabled()) {
+    // For FormControlsRefresh 2/3 of the width is outside of the offset.
+    return AdjustedFocusRingOffset(offset, width, is_outset) +
+           std::ceil(width / 3.f) * 2;
+  }
+
   return AdjustedFocusRingOffset(offset, width, is_outset) + (width + 1) / 2;
 }
 
 void GraphicsContext::DrawFocusRingPath(const SkPath& path,
                                         const Color& color,
-                                        float width) {
+                                        float width,
+                                        float border_radius) {
   DrawPlatformFocusRing(
       path, canvas_,
       dark_mode_filter_
           .InvertColorIfNeeded(color, DarkModeFilter::ElementRole::kBackground)
           .Rgb(),
-      width);
+      width, border_radius);
 }
 
 void GraphicsContext::DrawFocusRingRect(const SkRect& rect,
                                         const Color& color,
-                                        float width) {
+                                        float width,
+                                        float border_radius) {
   DrawPlatformFocusRing(
       rect, canvas_,
       dark_mode_filter_
           .InvertColorIfNeeded(color, DarkModeFilter::ElementRole::kBackground)
           .Rgb(),
-      width);
+      width, border_radius);
 }
 
 void GraphicsContext::DrawFocusRing(const Path& focus_ring_path,
@@ -420,12 +433,14 @@
   if (ContextDisabled())
     return;
 
-  DrawFocusRingPath(focus_ring_path.GetSkPath(), color, width);
+  DrawFocusRingPath(focus_ring_path.GetSkPath(), color, /*width=*/width,
+                    /*radius=*/width);
 }
 
 void GraphicsContext::DrawFocusRingInternal(const Vector<IntRect>& rects,
                                             float width,
                                             int offset,
+                                            float border_radius,
                                             const Color& color,
                                             bool is_outset) {
   if (ContextDisabled())
@@ -436,7 +451,11 @@
     return;
 
   SkRegion focus_ring_region;
-  offset = AdjustedFocusRingOffset(offset, std::ceil(width), is_outset);
+  if (!::features::IsFormControlsRefreshEnabled()) {
+    // For FormControlsRefresh the offset is already adjusted by
+    // GraphicsContext::DrawFocusRing.
+    offset = AdjustedFocusRingOffset(offset, std::ceil(width), is_outset);
+  }
   for (unsigned i = 0; i < rect_count; i++) {
     SkIRect r = rects[i];
     if (r.isEmpty())
@@ -449,12 +468,12 @@
     return;
 
   if (focus_ring_region.isRect()) {
-    DrawFocusRingRect(SkRect::Make(focus_ring_region.getBounds()), color,
-                      width);
+    DrawFocusRingRect(SkRect::Make(focus_ring_region.getBounds()), color, width,
+                      border_radius);
   } else {
     SkPath path;
     if (focus_ring_region.getBoundaryPath(&path))
-      DrawFocusRingPath(path, color, width);
+      DrawFocusRingPath(path, color, width, border_radius);
   }
 }
 
@@ -478,22 +497,46 @@
 void GraphicsContext::DrawFocusRing(const Vector<IntRect>& rects,
                                     float width,
                                     int offset,
+                                    float border_radius,
+                                    float min_border_width,
                                     const Color& color,
                                     bool is_outset) {
-  // If a focus ring is outset and the color is dark, it may be hard to see on
-  // dark backgrounds. In this case, we'll actually draw two focus rings, the
-  // outset focus ring with a white inner ring for contrast.
-  if (ShouldDrawInnerFocusRingForContrast(is_outset, width, color)) {
-    int contrast_offset = static_cast<int>(std::floor(width * 0.5));
-    // We create a 1px gap for the contrast ring. The contrast ring is drawn
-    // first, and we overdraw by a pixel to ensure no gaps or AA artifacts.
-    DrawFocusRingInternal(rects, contrast_offset, offset, SK_ColorWHITE,
-                          is_outset);
-    DrawFocusRingInternal(rects, width - contrast_offset,
-                          offset + contrast_offset, color, is_outset);
+  if (::features::IsFormControlsRefreshEnabled()) {
+    // The focus ring is made of two borders which have a 2:1 ratio.
+    const float first_border_width = (width / 3) * 2;
+    const float second_border_width = width - first_border_width;
 
+    offset = AdjustedFocusRingOffset(offset, std::ceil(width), is_outset);
+    // How much space the focus ring would like to take from the actual border.
+    const float inside_border_width = 1;
+    if (min_border_width >= inside_border_width) {
+      offset -= inside_border_width;
+    }
+    // The white ring is drawn first, and we overdraw to ensure no gaps or AA
+    // artifacts.
+    DrawFocusRingInternal(rects, first_border_width,
+                          offset + std::ceil(second_border_width),
+                          border_radius, SK_ColorWHITE, is_outset);
+    DrawFocusRingInternal(rects, first_border_width, offset, border_radius,
+                          color, is_outset);
   } else {
-    DrawFocusRingInternal(rects, width, offset, color, is_outset);
+    // If a focus ring is outset and the color is dark, it may be hard to see on
+    // dark backgrounds. In this case, we'll actually draw two focus rings, the
+    // outset focus ring with a white inner ring for contrast.
+    if (ShouldDrawInnerFocusRingForContrast(is_outset, width, color)) {
+      int contrast_offset = static_cast<int>(std::floor(width * 0.5));
+      // We create a 1px gap for the contrast ring. The contrast ring is drawn
+      // first, and we overdraw by a pixel to ensure no gaps or AA artifacts.
+      DrawFocusRingInternal(rects, contrast_offset, offset, border_radius,
+                            SK_ColorWHITE, is_outset);
+      DrawFocusRingInternal(rects, width - contrast_offset,
+                            offset + contrast_offset, border_radius, color,
+                            is_outset);
+
+    } else {
+      DrawFocusRingInternal(rects, width, offset, border_radius, color,
+                            is_outset);
+    }
   }
 }
 
@@ -978,7 +1021,8 @@
                                               &image_flags);
 
   bool use_shader = (visible_src == src_rect) &&
-                    (respect_orientation == kDoNotRespectImageOrientation);
+                    (respect_orientation == kDoNotRespectImageOrientation ||
+                     image->HasDefaultOrientation());
   if (use_shader) {
     const SkMatrix local_matrix = SkMatrix::MakeRectToRect(
         visible_src, dest.Rect(), SkMatrix::kFill_ScaleToFit);
diff --git a/third_party/blink/renderer/platform/graphics/graphics_context.h b/third_party/blink/renderer/platform/graphics/graphics_context.h
index 0e7b1135..5c1954d 100644
--- a/third_party/blink/renderer/platform/graphics/graphics_context.h
+++ b/third_party/blink/renderer/platform/graphics/graphics_context.h
@@ -371,6 +371,8 @@
   void DrawFocusRing(const Vector<IntRect>&,
                      float width,
                      int offset,
+                     float border_radius,
+                     float min_border_width,
                      const Color&,
                      bool is_outset);
   void DrawFocusRing(const Path&, float width, int offset, const Color&);
@@ -462,12 +464,19 @@
   void RestoreLayer();
 
   // Helpers for drawing a focus ring (drawFocusRing)
-  void DrawFocusRingPath(const SkPath&, const Color&, float width);
-  void DrawFocusRingRect(const SkRect&, const Color&, float width);
+  void DrawFocusRingPath(const SkPath&,
+                         const Color&,
+                         float width,
+                         float border_radius);
+  void DrawFocusRingRect(const SkRect&,
+                         const Color&,
+                         float width,
+                         float border_radius);
 
   void DrawFocusRingInternal(const Vector<IntRect>&,
                              float width,
                              int offset,
+                             float border_radius,
                              const Color&,
                              bool is_outset);
 
diff --git a/third_party/blink/renderer/platform/graphics/image.h b/third_party/blink/renderer/platform/graphics/image.h
index 165d4ee2..56aff7b 100644
--- a/third_party/blink/renderer/platform/graphics/image.h
+++ b/third_party/blink/renderer/platform/graphics/image.h
@@ -114,6 +114,9 @@
   IntRect Rect() const { return IntRect(IntPoint(), Size()); }
   int width() const { return Size().Width(); }
   int height() const { return Size().Height(); }
+
+  virtual bool HasDefaultOrientation() const { return true; }
+
   virtual bool GetHotSpot(IntPoint&) const { return false; }
 
   enum SizeAvailability {
diff --git a/third_party/blink/renderer/platform/graphics/skia/skia_utils.cc b/third_party/blink/renderer/platform/graphics/skia/skia_utils.cc
index 1e8ae93..bb51adf 100644
--- a/third_party/blink/renderer/platform/graphics/skia/skia_utils.cc
+++ b/third_party/blink/renderer/platform/graphics/skia/skia_utils.cc
@@ -38,6 +38,7 @@
 #include "third_party/blink/renderer/platform/wtf/allocator/partitions.h"
 #include "third_party/skia/include/effects/SkCornerPathEffect.h"
 #include "third_party/skia/include/third_party/skcms/skcms.h"
+#include "ui/base/ui_base_features.h"
 
 #include <algorithm>
 #include <cmath>
@@ -374,7 +375,8 @@
 void DrawPlatformFocusRing(const PrimitiveType& primitive,
                            cc::PaintCanvas* canvas,
                            SkColor color,
-                           float width) {
+                           float width,
+                           float border_radius) {
   PaintFlags flags;
   flags.setAntiAlias(true);
   flags.setStyle(PaintFlags::kStroke_Style);
@@ -388,6 +390,11 @@
   const float corner_radius = width;
 #endif
 
+  if (::features::IsFormControlsRefreshEnabled()) {
+    DrawFocusRingPrimitive(primitive, canvas, flags, border_radius);
+    return;
+  }
+
   DrawFocusRingPrimitive(primitive, canvas, flags, corner_radius);
 
 #if defined(OS_MACOSX)
@@ -398,14 +405,18 @@
 #endif
 }
 
-template void PLATFORM_EXPORT DrawPlatformFocusRing<SkRect>(const SkRect&,
-                                                            cc::PaintCanvas*,
-                                                            SkColor,
-                                                            float width);
-template void PLATFORM_EXPORT DrawPlatformFocusRing<SkPath>(const SkPath&,
-                                                            cc::PaintCanvas*,
-                                                            SkColor,
-                                                            float width);
+template void PLATFORM_EXPORT
+DrawPlatformFocusRing<SkRect>(const SkRect&,
+                              cc::PaintCanvas*,
+                              SkColor,
+                              float width,
+                              float border_radius);
+template void PLATFORM_EXPORT
+DrawPlatformFocusRing<SkPath>(const SkPath&,
+                              cc::PaintCanvas*,
+                              SkColor,
+                              float width,
+                              float border_radius);
 
 sk_sp<SkData> TryAllocateSkData(size_t size) {
   void* buffer = WTF::Partitions::BufferPartition()->AllocFlags(
diff --git a/third_party/blink/renderer/platform/graphics/skia/skia_utils.h b/third_party/blink/renderer/platform/graphics/skia/skia_utils.h
index b5f81ee..b35b6ce 100644
--- a/third_party/blink/renderer/platform/graphics/skia/skia_utils.h
+++ b/third_party/blink/renderer/platform/graphics/skia/skia_utils.h
@@ -144,7 +144,8 @@
 void DrawPlatformFocusRing(const PrimitiveType&,
                            cc::PaintCanvas*,
                            SkColor,
-                           float width);
+                           float width,
+                           float border_radius);
 
 // TODO(fmalita): remove in favor of direct SrcRectConstraint use.
 inline cc::PaintCanvas::SrcRectConstraint
diff --git a/third_party/blink/renderer/platform/heap/heap_page.cc b/third_party/blink/renderer/platform/heap/heap_page.cc
index 5084bd05..083e6a8 100644
--- a/third_party/blink/renderer/platform/heap/heap_page.cc
+++ b/third_party/blink/renderer/platform/heap/heap_page.cc
@@ -268,7 +268,7 @@
   if (GetThreadState()->SweepForbidden())
     return nullptr;
 
-  ThreadHeapStatsCollector::Scope stats_scope(
+  ThreadHeapStatsCollector::EnabledScope stats_scope(
       GetThreadState()->Heap().stats_collector(),
       ThreadHeapStatsCollector::kLazySweepOnAllocation);
   ThreadState::SweepForbiddenScope sweep_forbidden(GetThreadState());
diff --git a/third_party/blink/renderer/platform/heap/thread_state.cc b/third_party/blink/renderer/platform/heap/thread_state.cc
index 7842798b..08d102eb 100644
--- a/third_party/blink/renderer/platform/heap/thread_state.cc
+++ b/third_party/blink/renderer/platform/heap/thread_state.cc
@@ -1620,7 +1620,7 @@
 }
 
 void ThreadState::MarkPhaseVisitRoots() {
-  ThreadHeapStatsCollector::Scope stats_scope(
+  ThreadHeapStatsCollector::EnabledScope stats_scope(
       Heap().stats_collector(), ThreadHeapStatsCollector::kVisitRoots);
 
   Visitor* visitor = current_gc_data_.visitor.get();
diff --git a/third_party/blink/renderer/platform/heap/unified_heap_controller.cc b/third_party/blink/renderer/platform/heap/unified_heap_controller.cc
index 78c8242..c7f17541d 100644
--- a/third_party/blink/renderer/platform/heap/unified_heap_controller.cc
+++ b/third_party/blink/renderer/platform/heap/unified_heap_controller.cc
@@ -124,7 +124,7 @@
   ThreadHeapStatsCollector::BlinkGCInV8Scope nested_scope(
       thread_state_->Heap().stats_collector());
   if (!thread_state_->in_atomic_pause()) {
-    ThreadHeapStatsCollector::Scope advance_tracing_scope(
+    ThreadHeapStatsCollector::EnabledScope advance_tracing_scope(
         thread_state_->Heap().stats_collector(),
         ThreadHeapStatsCollector::kUnifiedMarkingStep);
     // V8 calls into embedder tracing from its own marking to ensure
diff --git a/third_party/blink/renderer/platform/loader/cors/cors.cc b/third_party/blink/renderer/platform/loader/cors/cors.cc
index d82ae65..68c569f0 100644
--- a/third_party/blink/renderer/platform/loader/cors/cors.cc
+++ b/third_party/blink/renderer/platform/loader/cors/cors.cc
@@ -160,12 +160,11 @@
 
 base::Optional<network::CorsErrorStatus> CheckAccess(
     const KURL& response_url,
-    const int response_status_code,
     const HTTPHeaderMap& response_header,
     network::mojom::CredentialsMode credentials_mode,
     const SecurityOrigin& origin) {
   return network::cors::CheckAccess(
-      response_url, response_status_code,
+      response_url,
       GetHeaderValue(response_header, http_names::kAccessControlAllowOrigin),
       GetHeaderValue(response_header,
                      http_names::kAccessControlAllowCredentials),
@@ -201,11 +200,6 @@
       url, request_mode, origin_to_pass, cors_flag == CorsFlag::Set, false);
 }
 
-base::Optional<network::mojom::CorsError> CheckPreflight(
-    const int preflight_response_status_code) {
-  return network::cors::CheckPreflight(preflight_response_status_code);
-}
-
 base::Optional<network::CorsErrorStatus> CheckExternalPreflight(
     const HTTPHeaderMap& response_header) {
   return network::cors::CheckExternalPreflight(
diff --git a/third_party/blink/renderer/platform/loader/cors/cors.h b/third_party/blink/renderer/platform/loader/cors/cors.h
index 7b1eef1..610c2c75 100644
--- a/third_party/blink/renderer/platform/loader/cors/cors.h
+++ b/third_party/blink/renderer/platform/loader/cors/cors.h
@@ -35,7 +35,6 @@
 // be removed.
 PLATFORM_EXPORT base::Optional<network::CorsErrorStatus> CheckAccess(
     const KURL&,
-    const int response_status_code,
     const HTTPHeaderMap&,
     network::mojom::CredentialsMode,
     const SecurityOrigin&);
@@ -53,9 +52,6 @@
     const SecurityOrigin*,
     CorsFlag);
 
-PLATFORM_EXPORT base::Optional<network::mojom::CorsError> CheckPreflight(
-    const int preflight_response_status_code);
-
 PLATFORM_EXPORT base::Optional<network::CorsErrorStatus> CheckExternalPreflight(
     const HTTPHeaderMap&);
 
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
index 5e6db27..07629c1c 100644
--- a/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_loader.cc
@@ -756,9 +756,9 @@
               new_url, request_mode, origin.get(),
               GetCorsFlag() ? CorsFlag::Set : CorsFlag::Unset);
       if (!cors_error && GetCorsFlag()) {
-        cors_error = cors::CheckAccess(
-            new_url, redirect_response.HttpStatusCode(),
-            redirect_response.HttpHeaderFields(), credentials_mode, *origin);
+        cors_error =
+            cors::CheckAccess(new_url, redirect_response.HttpHeaderFields(),
+                              credentials_mode, *origin);
       }
       if (cors_error) {
         HandleError(
@@ -1021,9 +1021,8 @@
       !(resource_->IsCacheValidator() && response.HttpStatusCode() == 304)) {
     if (GetCorsFlag()) {
       base::Optional<network::CorsErrorStatus> cors_error = cors::CheckAccess(
-          response.CurrentRequestUrl(), response.HttpStatusCode(),
-          response.HttpHeaderFields(), initial_request.GetCredentialsMode(),
-          *resource_->GetOrigin());
+          response.CurrentRequestUrl(), response.HttpHeaderFields(),
+          initial_request.GetCredentialsMode(), *resource_->GetOrigin());
       if (cors_error) {
         HandleError(ResourceError(response.CurrentRequestUrl(), *cors_error));
         return;
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_response.h b/third_party/blink/renderer/platform/loader/fetch/resource_response.h
index 9ba1090..bf3846b 100644
--- a/third_party/blink/renderer/platform/loader/fetch/resource_response.h
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_response.h
@@ -282,6 +282,9 @@
   bool IsLegacyTLSVersion() const { return is_legacy_tls_version_; }
   void SetIsLegacyTLSVersion(bool value) { is_legacy_tls_version_ = value; }
 
+  bool TimingAllowPassed() const { return timing_allow_passed_; }
+  void SetTimingAllowPassed(bool value) { timing_allow_passed_ = value; }
+
   SecurityStyle GetSecurityStyle() const { return security_style_; }
   void SetSecurityStyle(SecurityStyle security_style) {
     security_style_ = security_style;
@@ -504,6 +507,10 @@
   // will be removed in the future.
   bool is_legacy_tls_version_ = false;
 
+  // True if the Timing-Allow-Origin check passes.
+  // https://fetch.spec.whatwg.org/#concept-response-timing-allow-passed
+  bool timing_allow_passed_ = false;
+
   // The time at which the resource's certificate expires. Null if there was no
   // certificate.
   base::Time cert_validity_start_;
diff --git a/third_party/blink/renderer/platform/peerconnection/rtc_ice_candidate_platform.cc b/third_party/blink/renderer/platform/peerconnection/rtc_ice_candidate_platform.cc
index 2e510b3..e9cbb3e 100644
--- a/third_party/blink/renderer/platform/peerconnection/rtc_ice_candidate_platform.cc
+++ b/third_party/blink/renderer/platform/peerconnection/rtc_ice_candidate_platform.cc
@@ -40,26 +40,6 @@
 
 }  // namespace
 
-// static
-RTCIceCandidatePlatform* RTCIceCandidatePlatform::Create(
-    String candidate,
-    String sdp_mid,
-    base::Optional<uint16_t> sdp_m_line_index,
-    String username_fragment) {
-  return MakeGarbageCollected<RTCIceCandidatePlatform>(
-      std::move(candidate), std::move(sdp_mid), std::move(sdp_m_line_index),
-      std::move(username_fragment));
-}
-
-RTCIceCandidatePlatform* RTCIceCandidatePlatform::Create(String candidate,
-                                                         String sdp_mid,
-                                                         int sdp_m_line_index) {
-  return MakeGarbageCollected<RTCIceCandidatePlatform>(
-      std::move(candidate), std::move(sdp_mid),
-      sdp_m_line_index < 0 ? base::Optional<uint16_t>()
-                           : base::Optional<uint16_t>(sdp_m_line_index));
-}
-
 RTCIceCandidatePlatform::RTCIceCandidatePlatform(
     String candidate,
     String sdp_mid,
diff --git a/third_party/blink/renderer/platform/peerconnection/rtc_ice_candidate_platform.h b/third_party/blink/renderer/platform/peerconnection/rtc_ice_candidate_platform.h
index 0c7bb50..2751f57 100644
--- a/third_party/blink/renderer/platform/peerconnection/rtc_ice_candidate_platform.h
+++ b/third_party/blink/renderer/platform/peerconnection/rtc_ice_candidate_platform.h
@@ -44,21 +44,12 @@
   // Creates a new RTCIceCandidatePlatform using |candidate|, |sdp_mid| and
   // |sdp_m_line_index|. If |sdp_m_line_index| is negative, it is
   // considered as having no value.
-  static RTCIceCandidatePlatform* Create(String candidate,
-                                         String sdp_mid,
-                                         int sdp_m_line_index);
-
-  // Creates a new RTCIceCandidatePlatform using |candidate|, |sdp_mid|,
-  // |sdp_m_line_index|, and |username_fragment|.
-  static RTCIceCandidatePlatform* Create(
-      String candidate,
-      String sdp_mid,
-      base::Optional<uint16_t> sdp_m_line_index,
-      String username_fragment);
-
   RTCIceCandidatePlatform(String candidate,
                           String sdp_mid,
                           base::Optional<uint16_t> sdp_m_line_index);
+
+  // Creates a new RTCIceCandidatePlatform using |candidate|, |sdp_mid|,
+  // |sdp_m_line_index|, and |username_fragment|.
   RTCIceCandidatePlatform(String candidate,
                           String sdp_mid,
                           base::Optional<uint16_t> sdp_m_line_index,
diff --git a/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py b/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
index f7088043..30a099a 100755
--- a/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
+++ b/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
@@ -866,6 +866,7 @@
             'third_party/blink/renderer/core/layout/layout_theme.cc',
             'third_party/blink/renderer/core/paint/fallback_theme.cc',
             'third_party/blink/renderer/core/paint/fallback_theme.h',
+            'third_party/blink/renderer/core/paint/object_painter_base.cc',
             'third_party/blink/renderer/core/paint/theme_painter.cc',
         ],
         'allowed': ['ui::NativeTheme.*'],
diff --git a/third_party/blink/web_tests/FlagExpectations/composite-after-paint b/third_party/blink/web_tests/FlagExpectations/composite-after-paint
index a8de3af..14e1e874 100644
--- a/third_party/blink/web_tests/FlagExpectations/composite-after-paint
+++ b/third_party/blink/web_tests/FlagExpectations/composite-after-paint
@@ -57,8 +57,6 @@
 virtual/android/url-bar/bottom-fixed-adjusted-when-showing-url-bar.html [ Crash ]
 
 # Composited filters are not working.
-crbug.com/1008501 compositing/culling/filter-occlusion-blur-large.html [ Failure ]
-crbug.com/1008501 compositing/culling/filter-occlusion-blur.html [ Failure ]
 crbug.com/1008501 compositing/reflections/deeply-nested-reflections.html [ Failure ]
 
 # Wrong contentsOpaque or background color.
@@ -238,3 +236,41 @@
 crbug.com/1039401 virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125.html [ Failure ]
 crbug.com/1039401 virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance.html [ Failure ]
 crbug.com/1039401 virtual/scroll_customization/fast/scrolling/scrollbar-mousedown-mouseup.html [ Failure Pass ]
+
+# TODO(iopopesc) these need to be rebaselined for FormControlsRefresh focus ring.
+crbug.com/1035582 fast/css/focus-ring-detached.html [ Skip ]
+crbug.com/1035582 fast/events/sequential-focus-navigation-starting-point.html [ Skip ]
+crbug.com/1035582 fast/inline/continuation-outlines-with-layers.html [ Skip ]
+crbug.com/1035582 fast/inline/continuation-outlines.html [ Skip ]
+crbug.com/1035582 paint/invalidation/4776765.html [ Skip ]
+crbug.com/1035582 paint/invalidation/clip/caret-ancestor-clip-change.html [ Skip ]
+crbug.com/1035582 paint/invalidation/invalidate-caret-before-text-node-update.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/focus-continuations.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/focus-enable-continuations.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/focus-ring-on-child-move.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/focus-ring-on-continuation-move.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/focus-ring-on-inline-continuation-move.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/outline-become-affected-by-descendant.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/outline-become-not-affected-by-descendant.html [ Skip ]
+crbug.com/1035582 paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container.html [ Skip ]
+crbug.com/1035582 paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container.html [ Skip ]
+crbug.com/1035582 paint/invalidation/svg/focus-element.html [ Skip ]
+crbug.com/1035582 paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem.html [ Skip ]
+crbug.com/1035582 paint/invalidation/svg/transform-focus-ring-repaint.html [ Skip ]
+crbug.com/1035582 paint/invalidation/table/caret-contenteditable-content-after.html [ Skip ]
+crbug.com/1035582 virtual/controls-refresh/focus-rect/focus-ring-detached.html [ Skip ]
+crbug.com/1035582 virtual/mouseevent_fractional/fast/events/sequential-focus-navigation-starting-point.html [ Skip ]
+crbug.com/1035582 external/wpt/css/css-pseudo/selection-text-shadow-016.html [ Skip ]
+crbug.com/1035582 external/wpt/css/css-text-decor/text-decoration-subelements-001.html [ Skip ]
+crbug.com/1035582 paint/background/background-clip-text-descendants.html [ Skip ]
+crbug.com/1035582 tables/mozilla/bugs/bug2479-3.html [ Skip ]
+crbug.com/1035582 virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic.html [ Skip ]
+crbug.com/1035582 virtual/composite-after-paint/paint/background/background-clip-text-descendants.html [ Skip ]
+crbug.com/1035582 virtual/forced-high-contrast-cascade/external/wpt/forced-colors-mode/forced-colors-mode-14.html [ Skip ]
+crbug.com/1035582 virtual/form-controls-refresh-disabled/fast/forms/select-popup/popup-menu-appearance-zoom.html [ Skip ]
+crbug.com/1035582 virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance.html [ Skip ]
+crbug.com/1035582 fast/hidpi/scrollbar-appearance-increase-device-scale-factor.html [ Skip ]
+crbug.com/1035582 paint/invalidation/overflow/float-overflow-right.html [ Skip ]
+crbug.com/1035582 virtual/prefer_compositing_to_lcd_text/scrollbars/listbox-scrollbar-combinations.html [ Skip ]
+crbug.com/1035582 virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance.html [ Skip ]
+crbug.com/1035582 paint/invalidation/forms/submit-focus-by-mouse-then-keydown.html [ Skip ]
diff --git a/third_party/blink/web_tests/FlagExpectations/disable-layout-ng b/third_party/blink/web_tests/FlagExpectations/disable-layout-ng
index e3e8ba09..018a9f0 100644
--- a/third_party/blink/web_tests/FlagExpectations/disable-layout-ng
+++ b/third_party/blink/web_tests/FlagExpectations/disable-layout-ng
@@ -425,7 +425,6 @@
 virtual/text-antialias/ellipsis-with-self-painting-layer.html [ Failure ]
 virtual/text-antialias/zwnj-disables-kerning.html [ Failure ]
 virtual/text-antialias/international/shape-across-elements-simple.html [ Failure ]
-paint/invalidation/overflow/float-overflow-right.html [ Failure ]
 paint/invalidation/overflow/float-overflow.html [ Failure ]
 scrollingcoordinator/non-fast-scrollable-transform-changed.html [ Crash ]
 svg/zoom/text/zoom-svg-float-border-padding.xml [ Failure ]
@@ -456,3 +455,41 @@
 crbug.com/6606 external/wpt/mathml/* [ Skip ]
 
 crbug.com/1034944 webexposed/global-interface-listing.html [ Skip ]
+
+# TODO(iopopesc) these need to be rebaselined for FormControlsRefresh focus ring.
+crbug.com/1035582 fast/css/focus-ring-detached.html [ Skip ]
+crbug.com/1035582 fast/events/sequential-focus-navigation-starting-point.html [ Skip ]
+crbug.com/1035582 fast/inline/continuation-outlines-with-layers.html [ Skip ]
+crbug.com/1035582 fast/inline/continuation-outlines.html [ Skip ]
+crbug.com/1035582 paint/invalidation/4776765.html [ Skip ]
+crbug.com/1035582 paint/invalidation/clip/caret-ancestor-clip-change.html [ Skip ]
+crbug.com/1035582 paint/invalidation/invalidate-caret-before-text-node-update.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/focus-continuations.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/focus-enable-continuations.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/focus-ring-on-child-move.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/focus-ring-on-continuation-move.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/focus-ring-on-inline-continuation-move.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/outline-become-affected-by-descendant.html [ Skip ]
+crbug.com/1035582 paint/invalidation/outline/outline-become-not-affected-by-descendant.html [ Skip ]
+crbug.com/1035582 paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container.html [ Skip ]
+crbug.com/1035582 paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container.html [ Skip ]
+crbug.com/1035582 paint/invalidation/svg/focus-element.html [ Skip ]
+crbug.com/1035582 paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem.html [ Skip ]
+crbug.com/1035582 paint/invalidation/svg/transform-focus-ring-repaint.html [ Skip ]
+crbug.com/1035582 paint/invalidation/table/caret-contenteditable-content-after.html [ Skip ]
+crbug.com/1035582 virtual/controls-refresh/focus-rect/focus-ring-detached.html [ Skip ]
+crbug.com/1035582 virtual/mouseevent_fractional/fast/events/sequential-focus-navigation-starting-point.html [ Skip ]
+crbug.com/1035582 external/wpt/css/css-pseudo/selection-text-shadow-016.html [ Skip ]
+crbug.com/1035582 external/wpt/css/css-text-decor/text-decoration-subelements-001.html [ Skip ]
+crbug.com/1035582 paint/background/background-clip-text-descendants.html [ Skip ]
+crbug.com/1035582 tables/mozilla/bugs/bug2479-3.html [ Skip ]
+crbug.com/1035582 virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic.html [ Skip ]
+crbug.com/1035582 virtual/composite-after-paint/paint/background/background-clip-text-descendants.html [ Skip ]
+crbug.com/1035582 virtual/forced-high-contrast-cascade/external/wpt/forced-colors-mode/forced-colors-mode-14.html [ Skip ]
+crbug.com/1035582 virtual/form-controls-refresh-disabled/fast/forms/select-popup/popup-menu-appearance-zoom.html [ Skip ]
+crbug.com/1035582 virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance.html [ Skip ]
+crbug.com/1035582 fast/hidpi/scrollbar-appearance-increase-device-scale-factor.html [ Skip ]
+crbug.com/1035582 paint/invalidation/overflow/float-overflow-right.html [ Skip ]
+crbug.com/1035582 virtual/prefer_compositing_to_lcd_text/scrollbars/listbox-scrollbar-combinations.html [ Skip ]
+crbug.com/1035582 virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance.html [ Skip ]
+crbug.com/1035582 http/tests/devtools/sources/debugger-breakpoints/disable-breakpoints.js [ Skip ]
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 771fbf70..629fa67 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -2650,6 +2650,10 @@
 crbug.com/1035582 external/wpt/css/css-pseudo/spelling-error-003-manual.html [ Skip ]
 crbug.com/1035582 external/wpt/css/css-transforms/transform-input-015.html [ Skip ]
 
+# Focus ring related
+crbug.com/1035582 fast/forms/text/input-appearance-autocomplete-very-long-value.html [ Skip ]
+crbug.com/1035582 virtual/text-antialias/selection/mixed-directionality-selection.html [ Skip ]
+
 # ======
 # ====== End of rebaselines for crbug.com/1035582 ======
 # ======
@@ -3692,6 +3696,7 @@
 crbug.com/626703 [ Mac ] external/wpt/service-workers/service-worker/ready.https.window.html [ Timeout ]
 crbug.com/626703 [ Win ] external/wpt/service-workers/service-worker/ready.https.window.html [ Timeout ]
 crbug.com/626703 [ Win7 ] external/wpt/pointerevents/pointerevent_touch-action-pan-x-css_touch.html [ Timeout ]
+crbug.com/1040874 [ Mac ] external/wpt/pointerevents/pointerevent_pointercapture_in_frame.html [ Pass Failure ]
 crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-anchor-transform-box-fill-box-003.html [ Failure ]
 crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-anchor-transform-box-fill-box-003.html [ Failure ]
 crbug.com/626703 [ Win ] external/wpt/css/motion/offset-anchor-transform-box-fill-box-003.html [ Failure ]
@@ -6761,10 +6766,6 @@
 crbug.com/994692 [ Linux ] compositing/reflections/nested-reflection-anchor-point.html [ Pass Failure ]
 crbug.com/994692 [ Win ] compositing/reflections/nested-reflection-anchor-point.html [ Pass Failure ]
 
-crbug.com/1003943 external/wpt/element-timing/multi-redirect-image.html [ Failure ]
-crbug.com/1003943 virtual/scalefactor200/external/wpt/element-timing/multi-redirect-image.html [ Failure ]
-crbug.com/1003943 virtual/scalefactor200withoutzoom/external/wpt/element-timing/multi-redirect-image.html [ Failure ]
-
 # Video flakily not being being rendered on Mac
 crbug.com/979298 [ Mac ] media/controls/captions-menu-always-visible.html [ Pass Failure ]
 crbug.com/979298 [ Mac ] media/controls/overflow-menu-always-visible.html [ Pass Failure ]
@@ -7106,7 +7107,7 @@
 crbug.com/1034492 http/tests/devtools/unit/soft-drop-down.js [ Pass Failure ]
 
 # Sheriff 2019-12-17
-crbug.com/1034789 [ Mac10.13 ] http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change-async.html [ Pass Timeout ]
+crbug.com/1034789 [ Mac ] http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change-async.html [ Pass Timeout ]
 crbug.com/1034789 [ Mac10.13 ] virtual/threaded/fast/scroll-snap/snap-to-target-on-layout-change.html [ Pass Timeout ]
 crbug.com/1034789 [ Mac10.13 ] external/wpt/pointerevents/pointerevent_coalesced_events_attributes.html [ Pass Failure ]
 crbug.com/1034839 css3/filters/effect-reference-image.html [ Pass Failure ]
@@ -7174,7 +7175,6 @@
 crbug.com/1039401 [ Linux ] external/wpt/css/css-images/image-orientation/image-orientation-none.html [ Failure ]
 crbug.com/1039401 [ Linux ] external/wpt/css/css-text-decor/text-decoration-subelements-002.html [ Failure ]
 crbug.com/1039401 [ Linux ] external/wpt/css/css-text-decor/text-decoration-subelements-003.html [ Failure ]
-crbug.com/1039401 [ Linux ] fast/backgrounds/background-svg-scaling.html [ Failure ]
 crbug.com/1039401 [ Linux ] fast/backgrounds/size/contain-and-cover.html [ Failure ]
 crbug.com/1039401 [ Linux ] fast/dom/HTMLMeterElement/meter-boundary-values.html [ Failure ]
 crbug.com/1039401 [ Linux ] fast/dom/HTMLMeterElement/meter-optimums.html [ Failure ]
@@ -7183,7 +7183,6 @@
 crbug.com/1039401 [ Linux ] paint/invalidation/forms/range-focus-by-mouse-then-keydown.html [ Failure ]
 crbug.com/1039401 [ Linux ] svg/W3C-SVG-1.1/filters-turb-01-f.svg [ Failure ]
 crbug.com/1039401 [ Linux ] svg/as-background-image/background-image-preserveaspectRatio-support.html [ Failure ]
-crbug.com/1039401 [ Linux ] svg/as-image/image-respects-deviceScaleFactor.html [ Failure ]
 crbug.com/1039401 [ Linux ] svg/zoom/page/zoom-background-image-tiled.html [ Failure ]
 crbug.com/1039401 [ Linux ] svg/zoom/page/zoom-background-images.html [ Failure ]
 crbug.com/1039401 [ Linux ] svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html [ Failure ]
@@ -7236,3 +7235,6 @@
 
 # Temporarily disabled to land Animations accessibility changes in DevTools
 crbug.com/963183 http/tests/devtools/animation/animation-timeline.js [ Pass Failure ]
+
+# Broken in https://chromium-review.googlesource.com/c/chromium/src/+/1636716
+crbug.com/963183 http/tests/devtools/sources/debugger-breakpoints/disable-breakpoints.js [ Pass Failure ]
\ No newline at end of file
diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites
index e37f8df..344f801 100644
--- a/third_party/blink/web_tests/VirtualTestSuites
+++ b/third_party/blink/web_tests/VirtualTestSuites
@@ -68,13 +68,15 @@
     "prefix": "gpu-rasterization",
     "bases": ["images"],
     "args": ["--force-gpu-rasterization",
-             "--enable-features=DecodeLossyWebPImagesToYUV"]
+             "--enable-features=DecodeLossyWebPImagesToYUV",
+             "--enable-features=DecodeJpeg420ImagesToYUV"]
   },
   {
     "prefix": "gpu-rasterization-disable-yuv",
     "bases": ["images/yuv-decode-eligible"],
     "args": ["--force-gpu-rasterization",
-             "--disable-features=DecodeLossyWebPImagesToYUV"]
+             "--disable-features=DecodeLossyWebPImagesToYUV",
+             "--disable-features=DecodeJpeg420ImagesToYUV"]
   },
   {
     "prefix": "exotic-color-space",
diff --git a/third_party/blink/web_tests/WPTOverrideExpectations b/third_party/blink/web_tests/WPTOverrideExpectations
index cf1ca2c..85f79c1 100644
--- a/third_party/blink/web_tests/WPTOverrideExpectations
+++ b/third_party/blink/web_tests/WPTOverrideExpectations
@@ -847,6 +847,7 @@
 # Here are tests that were failing on WPT waterfall as of Dec. 2, 2019. They are triaged.
 # ---
 # Reftest with pixel diff. Fails locally. Fails on wpt.fyi
+external/wpt/compat/webkit-box-rtl-flex.html [ Failure ]
 external/wpt/css/css-fonts/font-display/font-display-change.html [ Failure ]
 external/wpt/css/css-layout-api/fallback-layout/constructor-error.https.html [ Failure ]
 external/wpt/mathml/presentation-markup/direction/direction-007.html [ Failure ]
diff --git a/third_party/blink/web_tests/WebDriverExpectations b/third_party/blink/web_tests/WebDriverExpectations
index 913d0a4e..3a89302 100644
--- a/third_party/blink/web_tests/WebDriverExpectations
+++ b/third_party/blink/web_tests/WebDriverExpectations
@@ -161,3 +161,4 @@
 crbug.com/626703 [ Linux ] external/wpt/webdriver/tests/new_session/default_values.py>>test_desired [ Failure ]
 crbug.com/626703 [ Linux ] external/wpt/webdriver/tests/take_screenshot/user_prompts.py>>test_dismiss_and_notify[capabilities0-alert] [ Failure ]
 crbug.com/626703 [ Linux ] external/wpt/webdriver/tests/take_element_screenshot/user_prompts.py>>test_ignore[capabilities0-alert] [ Failure ]
+crbug.com/1023255 [ Linux ] external/wpt/webdriver/tests/take_element_screenshot/iframe.py>>test_frame_element [ Failure Pass ]
diff --git a/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-expected.png b/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-expected.png
index 46428a3..ed6192a 100644
--- a/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-expected.png
+++ b/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-large-expected.png b/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-large-expected.png
index 644f773..5338936 100644
--- a/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-large-expected.png
+++ b/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-large-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-large.html b/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-large.html
index 55743da..6ec4431 100644
--- a/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-large.html
+++ b/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur-large.html
@@ -10,8 +10,6 @@
     will-change: transform;
   }
   .yellow-parent {
-    width: 800px;
-    height:  800px;
     -webkit-filter: blur(10px);
   }
   .centered {
diff --git a/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur.html b/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur.html
index ded27518..6512f22a 100644
--- a/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur.html
+++ b/third_party/blink/web_tests/compositing/culling/filter-occlusion-blur.html
@@ -6,8 +6,6 @@
     will-change: transform;
   }
   .yellow-parent {
-    width: 600px;
-    height:  600px;
     -webkit-filter: blur(10px);
   }
   .centered {
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_7.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_7.json
index 8075d947..e33352b 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_7.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_7.json
@@ -251161,6 +251161,12 @@
      }
     ]
    ],
+   "html/cross-origin-opener-policy/popup-meta-http-equiv.https.html": [
+    [
+     "html/cross-origin-opener-policy/popup-meta-http-equiv.https.html",
+     {}
+    ]
+   ],
    "html/cross-origin-opener-policy/popup-redirect-cache.https.html": [
     [
      "html/cross-origin-opener-policy/popup-redirect-cache.https.html",
@@ -457367,6 +457373,10 @@
    "46ad58d83bf6e98913ca4c564b7acb8f19fa0093",
    "support"
   ],
+  "html/cross-origin-opener-policy/popup-meta-http-equiv.https.html": [
+   "e36b5190aafc0b42b043802422dd411a831a20a5",
+   "testharness"
+  ],
   "html/cross-origin-opener-policy/popup-meta-http-equiv.https.html.headers": [
    "46ad58d83bf6e98913ca4c564b7acb8f19fa0093",
    "support"
diff --git a/third_party/blink/web_tests/external/wpt/css/css-overflow/overflow-recalc-001.html b/third_party/blink/web_tests/external/wpt/css/css-overflow/overflow-recalc-001.html
new file mode 100644
index 0000000..9c5919a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-overflow/overflow-recalc-001.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>CSS Overflow: Overflow recalc after font-size change</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/css-overflow/">
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1036644">
+<link rel="match" href="reference/overflow-recalc-001-ref.html">
+<meta name="assert" content="Checks that overflow of an inline element is properly recomputed after changes on the descendants.">
+<script src="/common/reftest-wait.js"></script>
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+#scroller {
+  height: 200px;
+  overflow: scroll;
+  position: relative;
+}
+#wrapper {
+  margin-top: 100px;
+  width: 200px;
+  height: 200px;
+  overflow: hidden;
+  font-family: Ahem;
+  line-height: 1;
+  color: green;
+}
+#red {
+  background: red;
+  width: 200px;
+  height: 200px;
+  position: absolute;
+  top: 100px;
+  z-index: -1;
+}
+</style>
+<p>Test passes if there is <strong>no red</strong>.</p>
+<div id="scroller">
+  <div id="wrapper">
+    <span id="inlineouter">
+      <span id="inlineinner">X</span>
+    </span>
+  </div>
+  <div id="red"></div>
+</div>
+
+<script>
+  requestAnimationFrame(() => requestAnimationFrame(() => {
+    inlineinner.style.fontSize = "200px";
+    takeScreenshot();
+  }));
+</script>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-overflow/reference/overflow-recalc-001-ref.html b/third_party/blink/web_tests/external/wpt/css/css-overflow/reference/overflow-recalc-001-ref.html
new file mode 100644
index 0000000..b18dee8c
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-overflow/reference/overflow-recalc-001-ref.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: Reference Overflow recalc after font-size change</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<style>
+#scroller {
+  height: 200px;
+  overflow: scroll;
+}
+#wrapper {
+  margin-top: 100px;
+  width: 200px;
+  height: 200px;
+  background: green;
+}
+</style>
+<p>Test passes if there is <strong>no red</strong>.</p>
+<div id="scroller">
+  <div id="wrapper"></div>
+</div>
diff --git a/third_party/blink/web_tests/external/wpt/element-timing/multi-redirect-image.html b/third_party/blink/web_tests/external/wpt/element-timing/multi-redirect-image.html
index c2f570f2..2a12c5f 100644
--- a/third_party/blink/web_tests/external/wpt/element-timing/multi-redirect-image.html
+++ b/third_party/blink/web_tests/external/wpt/element-timing/multi-redirect-image.html
@@ -18,7 +18,7 @@
             + '/resource-timing/resources/multi_redirect.py?';
     destUrl += 'page_origin=' +  get_host_info().HTTP_ORIGIN;
     destUrl += '&cross_origin=' + get_host_info().HTTP_REMOTE_ORIGIN;
-    destUrl += '&final_resource=' + '/images/blue.png';
+    destUrl += '&final_resource=' + '/element-timing/resources/circle.svg';
     destUrl += '&timing_allow=1';
     destUrl += '&tao_steps=';
     for (let taoSteps=0; taoSteps < 4; taoSteps++) {
diff --git a/third_party/blink/web_tests/external/wpt/element-timing/resources/circle.svg.headers b/third_party/blink/web_tests/external/wpt/element-timing/resources/circle.svg.headers
new file mode 100644
index 0000000..7296361
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/element-timing/resources/circle.svg.headers
@@ -0,0 +1 @@
+Timing-Allow-Origin: *
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/popup-meta-http-equiv.https.html b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/popup-meta-http-equiv.https.html
new file mode 100644
index 0000000..e36b519
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/popup-meta-http-equiv.https.html
@@ -0,0 +1,19 @@
+<!doctype html>
+<meta http-equiv="Cross-Origin-Opener-Policy" content="same-origin"><!-- should not be supported -->
+<meta charset=utf-8>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="resources/common.js"></script>
+
+<div id=log></div>
+<script>
+
+let tests = [
+  // popup Origin, popup COOP, expect opener
+  [SAME_ORIGIN, "", true],
+];
+
+run_coop_tests("same-origin", tests);
+
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/largest-contentful-paint/multi-redirects-TAO.html b/third_party/blink/web_tests/external/wpt/largest-contentful-paint/multi-redirects-TAO.html
new file mode 100644
index 0000000..4e462c7
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/largest-contentful-paint/multi-redirects-TAO.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>This test validates LargestContenfulPaint information for cross-origin redirect chain images.</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/largest-contentful-paint-helpers.js"></script>
+<script src=/common/get-host-info.sub.js></script>
+</head>
+<body>
+<script>
+async_test(t => {
+    if (!window.LargestContentfulPaint) {
+      assert_unreached("LargestContentfulPaint is not implemented");
+    }
+    let destUrl = get_host_info().HTTP_REMOTE_ORIGIN
+            + '/resource-timing/resources/multi_redirect.py?';
+    destUrl += 'page_origin=' +  get_host_info().HTTP_ORIGIN;
+    destUrl += '&cross_origin=' + get_host_info().HTTP_REMOTE_ORIGIN;
+    destUrl += '&final_resource=' + '/element-timing/resources/circle.svg';
+    destUrl += '&timing_allow=1';
+    destUrl += '&tao_steps=';
+
+    const image = document.createElement('img');
+    image.src = destUrl + '0';
+    image.setAttribute('id', 'id');
+    document.body.appendChild(image);
+
+    let numObserved = 0;
+    let beforeLoad = performance.now();
+
+    new PerformanceObserver(t.step_func(entries => {
+        assert_equals(entries.getEntries().length, 1);
+        const entry = entries.getEntries()[0];
+        const options = numObserved === 3 ? [] : ['renderTimeIs0'];
+        checkImage(entry, destUrl + numObserved, 'id', 200 * 200, beforeLoad, options);
+        numObserved++;
+        if (numObserved === 4)
+            t.done();
+        else {
+            // Change the image to trigger a new LCP entry.
+            const img = document.getElementById('id');
+            image.src = destUrl + numObserved;
+            beforeLoad = performance.now();
+        }
+    })).observe({type: 'largest-contentful-paint'});
+}, 'Cross-origin image without TAO should not have its renderTime set, with full TAO it should.');
+</script>
+</body>
+</html>
+
diff --git a/third_party/blink/web_tests/fast/overflow/visual-overflow-recalc-expected.html b/third_party/blink/web_tests/fast/overflow/visual-overflow-recalc-expected.html
deleted file mode 100644
index 58b1d2d3..0000000
--- a/third_party/blink/web_tests/fast/overflow/visual-overflow-recalc-expected.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<style>
-#scroller {
-  height: 200px;
-  overflow: scroll;
-}
-#wrapper {
-  margin-top: 100px;
-  width: 200px;
-  height: 200px;
-  background: green;
-}
-</style>
-<p>Test passes if there is <strong>no red</strong>.</p>
-<div id="scroller">
-  <div id="wrapper">
-</div>
diff --git a/third_party/blink/web_tests/fast/overflow/visual-overflow-recalc.html b/third_party/blink/web_tests/fast/overflow/visual-overflow-recalc.html
deleted file mode 100644
index d9e6ae8..0000000
--- a/third_party/blink/web_tests/fast/overflow/visual-overflow-recalc.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE html>
-<script src="../../resources/run-after-layout-and-paint.js"></script>
-<style>
-#scroller {
-  height: 200px;
-  overflow: scroll;
-  position: relative;
-}
-#wrapper {
-  margin-top: 100px;
-  width: 200px;
-  height: 200px;
-  overflow: hidden;
-  font-family: Ahem;
-  color: green;
-}
-#red {
-  background: red;
-  width: 200px;
-  height: 200px;
-  position: absolute;
-  top: 100px;
-  z-index: -1;
-}
-</style>
-<p>Test passes if there is <strong>no red</strong>.</p>
-<div id="scroller">
-  <div id="wrapper">
-    <span id="inlineouter">
-      <span id="inlineinner">X</span>
-    </span>
-  </div>
-  <div id="red"></div>
-</div>
-
-<script>
-  runAfterLayoutAndPaint(function() {
-    inlineinner.style.fontSize = "200px";
-  }, true);
-</script>
diff --git a/third_party/blink/web_tests/http/tests/push_messaging/subscribe-success-in-document.html b/third_party/blink/web_tests/http/tests/push_messaging/subscribe-success-in-document.html
index 9c64e1f..ee744e8 100644
--- a/third_party/blink/web_tests/http/tests/push_messaging/subscribe-success-in-document.html
+++ b/third_party/blink/web_tests/http/tests/push_messaging/subscribe-success-in-document.html
@@ -18,10 +18,13 @@
             swRegistration = serviceWorkerRegistration;
             return wait_for_state(test, swRegistration.installing, 'activated');
         })
-        .then(function() {
+        .then(async function() {
             // If running manually, grant permission when prompted.
-            if (window.testRunner)
-                testRunner.setPermission('push-messaging', 'granted', location.origin, location.origin);
+            if (window.internals) {
+                await window.internals.setPermission(
+                    {name: 'push', userVisibleOnly: true}, 'granted',
+                    location.origin, location.origin);
+            }
             return swRegistration.pushManager.subscribe({ userVisibleOnly: true });
         })
         .then(function(pushSubscription) {
diff --git a/third_party/blink/web_tests/http/tests/resources/permissions-helper.js b/third_party/blink/web_tests/http/tests/resources/permissions-helper.js
index 7e513aa..5ffc949 100644
--- a/third_party/blink/web_tests/http/tests/resources/permissions-helper.js
+++ b/third_party/blink/web_tests/http/tests/resources/permissions-helper.js
@@ -1,5 +1,5 @@
 // This file provides a PermissionsHelper object which can be used by
-// LayoutTests using testRunner to handle permissions. The methods in the object
+// LayoutTests to handle permissions. The methods in the object
 // return promises so can be used to write idiomatic, race-free code.
 //
 // The current available methods are:
@@ -46,21 +46,7 @@
 
   return {
     setPermission: function(name, state) {
-      return new Promise(function(resolver, reject) {
-        navigator.permissions.query(nameToObject(name)).then(function(result) {
-            if (result.state == state) {
-                resolver()
-                return;
-            }
-
-            result.onchange = function() {
-                result.onchange = null;
-                resolver();
-            };
-
-            testRunner.setPermission(name, state, location.origin, location.origin);
-        });
-      });
+      return internals.setPermission(nameToObject(name), state, location.origin, location.origin);
     }
   }
 })();
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-001-expected.png b/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-001-expected.png
new file mode 100644
index 0000000..cabbc51
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-002-expected.png b/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-002-expected.png
new file mode 100644
index 0000000..cabbc51
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-003-expected.png b/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-003-expected.png
new file mode 100644
index 0000000..cabbc51
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-004-expected.png b/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-004-expected.png
new file mode 100644
index 0000000..cabbc51
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-005-expected.png b/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-005-expected.png
new file mode 100644
index 0000000..cabbc51
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/editing/pasteboard/paste-line-endings-005-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/selection/6476-expected.png b/third_party/blink/web_tests/platform/fuchsia/editing/selection/6476-expected.png
new file mode 100644
index 0000000..ceb400f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/editing/selection/6476-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/selection/leave-requested-block-expected.png b/third_party/blink/web_tests/platform/fuchsia/editing/selection/leave-requested-block-expected.png
new file mode 100644
index 0000000..37487384
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/editing/selection/leave-requested-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/selection/previous-line-position-expected.png b/third_party/blink/web_tests/platform/fuchsia/editing/selection/previous-line-position-expected.png
new file mode 100644
index 0000000..d340897
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/editing/selection/previous-line-position-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/editing/style/block-styles-007-expected.png b/third_party/blink/web_tests/platform/fuchsia/editing/style/block-styles-007-expected.png
new file mode 100644
index 0000000..5dc9b6a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/editing/style/block-styles-007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/fast/css/focus-ring-multiline-expected.png b/third_party/blink/web_tests/platform/fuchsia/fast/css/focus-ring-multiline-expected.png
new file mode 100644
index 0000000..ca124578
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/fast/css/focus-ring-multiline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/fast/events/reveal-link-when-focused-expected.png b/third_party/blink/web_tests/platform/fuchsia/fast/events/reveal-link-when-focused-expected.png
new file mode 100644
index 0000000..512dd18
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/fast/events/reveal-link-when-focused-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/fast/inline/inline-focus-ring-expected.png b/third_party/blink/web_tests/platform/fuchsia/fast/inline/inline-focus-ring-expected.png
new file mode 100644
index 0000000..5c8370d
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/fast/inline/inline-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/fuchsia/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
new file mode 100644
index 0000000..f5dd483e
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/paint/invalidation/outline/focus-layers-expected.png b/third_party/blink/web_tests/platform/fuchsia/paint/invalidation/outline/focus-layers-expected.png
new file mode 100644
index 0000000..1b85754
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/paint/invalidation/outline/focus-layers-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/fuchsia/transforms/transformed-caret-expected.png b/third_party/blink/web_tests/platform/fuchsia/transforms/transformed-caret-expected.png
new file mode 100644
index 0000000..6f79b58
--- /dev/null
+++ b/third_party/blink/web_tests/platform/fuchsia/transforms/transformed-caret-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/custom-elements/form-validation-bubble-appearance-expected.png b/third_party/blink/web_tests/platform/linux/custom-elements/form-validation-bubble-appearance-expected.png
index 7c270a6..0b5af35 100644
--- a/third_party/blink/web_tests/platform/linux/custom-elements/form-validation-bubble-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/custom-elements/form-validation-bubble-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-011-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-011-expected.png
index 6287f9eb..edb2289 100644
--- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-011-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-011-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-014-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-014-expected.png
index 621b583c..0c7c5d97 100644
--- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-014-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-014-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-015-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-015-expected.png
index 1671265..070f97a3 100644
--- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-015-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-015-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-expected.png
index 9cdecd9..e19d66a4 100644
--- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/caret/caret-painting-low-dpi-expected.png b/third_party/blink/web_tests/platform/linux/editing/caret/caret-painting-low-dpi-expected.png
index 7d80646..8cfdafa 100644
--- a/third_party/blink/web_tests/platform/linux/editing/caret/caret-painting-low-dpi-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/caret/caret-painting-low-dpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/5369009-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/5369009-expected.png
index 908be8f..c0179f9 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/5369009-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/5369009-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/5433862-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/5433862-2-expected.png
index bf088a7..0c8e29b 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/5433862-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/5433862-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/5483370-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/5483370-expected.png
index 154409f..0b4b05a3 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/5483370-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/5483370-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/delete-at-paragraph-boundaries-011-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/delete-at-paragraph-boundaries-011-expected.png
index 5c1dec1..74846b4f 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/delete-at-paragraph-boundaries-011-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/delete-at-paragraph-boundaries-011-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/delete-br-013-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/delete-br-013-expected.png
index 6072475..3b17d20 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/delete-br-013-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/delete-br-013-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-015-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-015-expected.png
index 5f1d676..e016ab1 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-015-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-015-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-016-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-016-expected.png
index 88f879f..3544d82 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-016-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-016-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-017-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-017-expected.png
index 4b823b34..99aefac 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-017-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/delete-line-017-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/merge-different-styles-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/merge-different-styles-expected.png
index 1aa2738b..dac87cd 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/merge-different-styles-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/merge-different-styles-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/merge-endOfParagraph-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/merge-endOfParagraph-expected.png
index fd915560..8cf15d7b 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/merge-endOfParagraph-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/merge-endOfParagraph-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/merge-no-br-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/merge-no-br-expected.png
index 486d4190..bdef124 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/merge-no-br-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/merge-no-br-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/deleting/table-cells-expected.png b/third_party/blink/web_tests/platform/linux/editing/deleting/table-cells-expected.png
index c4b7c0d..132f8e5 100644
--- a/third_party/blink/web_tests/platform/linux/editing/deleting/table-cells-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/deleting/table-cells-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/execCommand/4916541-expected.png b/third_party/blink/web_tests/platform/linux/editing/execCommand/4916541-expected.png
index 2893d58..83a9972 100644
--- a/third_party/blink/web_tests/platform/linux/editing/execCommand/4916541-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/execCommand/4916541-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/execCommand/5142012-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/execCommand/5142012-1-expected.png
index b63d9d3..cb313fe 100644
--- a/third_party/blink/web_tests/platform/linux/editing/execCommand/5142012-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/execCommand/5142012-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/execCommand/format-block-with-trailing-br-expected.png b/third_party/blink/web_tests/platform/linux/editing/execCommand/format-block-with-trailing-br-expected.png
index 5754aab..2cf9db2 100644
--- a/third_party/blink/web_tests/platform/linux/editing/execCommand/format-block-with-trailing-br-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/execCommand/format-block-with-trailing-br-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/execCommand/insertImage-expected.png b/third_party/blink/web_tests/platform/linux/editing/execCommand/insertImage-expected.png
index e5dfa5c..5a02ded 100644
--- a/third_party/blink/web_tests/platform/linux/editing/execCommand/insertImage-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/execCommand/insertImage-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/input/caret-at-the-edge-of-contenteditable-expected.png b/third_party/blink/web_tests/platform/linux/editing/input/caret-at-the-edge-of-contenteditable-expected.png
index f604dbf3..f9c956f 100644
--- a/third_party/blink/web_tests/platform/linux/editing/input/caret-at-the-edge-of-contenteditable-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/input/caret-at-the-edge-of-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/input/caret-read-only-after-editable-expected.png b/third_party/blink/web_tests/platform/linux/editing/input/caret-read-only-after-editable-expected.png
index 9f90d05..9d8b375a 100644
--- a/third_party/blink/web_tests/platform/linux/editing/input/caret-read-only-after-editable-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/input/caret-read-only-after-editable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/input/reveal-caret-of-multiline-contenteditable-expected.png b/third_party/blink/web_tests/platform/linux/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
index 4769629..079b87a 100644
--- a/third_party/blink/web_tests/platform/linux/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/4278698-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/4278698-expected.png
index ab1b7c9..b7e0dee 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/4278698-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/4278698-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/4840662-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/4840662-expected.png
index b5b7c6e1..a254abb9 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/4840662-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/4840662-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/5002441-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/5002441-expected.png
index abb47489..399c98d 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/5002441-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/5002441-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/5058163-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/5058163-1-expected.png
index f710358..afd6350b 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/5058163-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/5058163-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/5058163-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/5058163-2-expected.png
index 72a64f3..6ca324d 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/5058163-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/5058163-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/5549929-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/5549929-2-expected.png
index 3f1eed6..c3d1a59 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/5549929-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/5549929-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/5549929-3-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/5549929-3-expected.png
index 86e8a4e0..1a0fda1 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/5549929-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/5549929-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/insert-3800346-fix-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/insert-3800346-fix-expected.png
index 92aac43..bc24fddaf 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/insert-3800346-fix-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/insert-3800346-fix-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/insert-space-in-empty-doc-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/insert-space-in-empty-doc-expected.png
index fe4a0fec..d1a114b 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/insert-space-in-empty-doc-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/insert-space-in-empty-doc-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/insert-text-at-tabspan-001-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/insert-text-at-tabspan-001-expected.png
index 1b332e25..3a9333c 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/insert-text-at-tabspan-001-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/insert-text-at-tabspan-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/insert-text-at-tabspan-003-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/insert-text-at-tabspan-003-expected.png
index 707c3ed4..410816e 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/insert-text-at-tabspan-003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/insert-text-at-tabspan-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/line-break-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/line-break-expected.png
index 4dadd33d..3c61a0f 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/line-break-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/line-break-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/paragraph-separator-in-table-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/paragraph-separator-in-table-1-expected.png
index 5ac9b69..738176f 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/paragraph-separator-in-table-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/paragraph-separator-in-table-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/inserting/paragraph-separator-in-table-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/inserting/paragraph-separator-in-table-2-expected.png
index 959d8227..494e770d 100644
--- a/third_party/blink/web_tests/platform/linux/editing/inserting/paragraph-separator-in-table-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/inserting/paragraph-separator-in-table-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/4631972-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/4631972-expected.png
index 9c6f9fa..e97f8ca 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/4631972-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/4631972-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/4947130-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/4947130-expected.png
index bc66a4c..ef0db17d 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/4947130-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/4947130-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5071074-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5071074-2-expected.png
index 738f1c11..b9c0e3b 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5071074-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5071074-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5071074-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5071074-expected.png
index 6861a46..0f0aace 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5071074-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5071074-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5134759-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5134759-expected.png
index dd7aa45f..7836a61 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5134759-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5134759-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5156401-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5156401-1-expected.png
index 944e986..c084263 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5156401-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5156401-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5478250-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5478250-expected.png
index ce61ee5..31f03d4 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5478250-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5478250-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5601583-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5601583-1-expected.png
index 53a6327..d9d7582 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/5601583-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/5601583-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/bad-placeholder-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/bad-placeholder-expected.png
index cf0243ac..7604934 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/bad-placeholder-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/bad-placeholder-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/copy-standalone-image-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/copy-standalone-image-expected.png
index 3d95990..30b711d 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/copy-standalone-image-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/copy-standalone-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png
index fffa07e..46840e4 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-blockquote-after-blockquote-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-blockquote-after-blockquote-expected.png
index 545d155..0af3046a 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-blockquote-after-blockquote-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-blockquote-after-blockquote-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png
index 0d72d2c..65145cdb 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-001-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-001-expected.png
index cabbc51..a4dd637 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-001-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-002-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-002-expected.png
index cabbc51..a4dd637 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-002-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-003-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-003-expected.png
index cabbc51..a4dd637 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-004-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-004-expected.png
index cabbc51..a4dd637 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-004-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-005-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-005-expected.png
index cabbc51..a4dd637 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-005-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-line-endings-005-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-text-at-tabspan-003-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-text-at-tabspan-003-expected.png
index 113897aa..dc8527bd 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-text-at-tabspan-003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/paste-text-at-tabspan-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/quirks-mode-br-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/quirks-mode-br-1-expected.png
index 16d9a5b..317a4b0 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/quirks-mode-br-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/quirks-mode-br-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/pasteboard/styled-element-markup-expected.png b/third_party/blink/web_tests/platform/linux/editing/pasteboard/styled-element-markup-expected.png
index f4901196..b41ae26 100644
--- a/third_party/blink/web_tests/platform/linux/editing/pasteboard/styled-element-markup-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/pasteboard/styled-element-markup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/5099303-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/5099303-expected.png
index b0f5110..d9444071 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/5099303-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/5099303-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/5195166-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/5195166-2-expected.png
index 964bcea2..09b682e 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/5195166-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/5195166-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/6476-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/6476-expected.png
index ceb400f..b0f78410 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/6476-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/6476-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-2-expected.png
index 9980886..14bcc3c 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-2-left-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-2-left-expected.png
index 2677329..9fc79ef3 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-2-left-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-2-left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-expected.png
index a0d9b7c..421f3e36 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-right-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-right-expected.png
index d37411e9..29518e2 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-right-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/caret-ltr-right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-2-expected.png
index 101db49d..635fe4f 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-2-left-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-2-left-expected.png
index 231bc4c..5b84dbf 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-2-left-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-2-left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-expected.png
index 606f3b2..67c9037 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-right-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-right-expected.png
index 077f221..1d62fbf7 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-right-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/caret-rtl-right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/click-start-of-line-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/click-start-of-line-expected.png
index 6fa774d..631c0d2 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/click-start-of-line-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/click-start-of-line-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/contains-boundaries-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/contains-boundaries-expected.png
index 9267e4d..31ae102e 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/contains-boundaries-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/contains-boundaries-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/contenteditable-click-inside-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/contenteditable-click-inside-expected.png
index 143a3a0..7208dc5c 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/contenteditable-click-inside-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/contenteditable-click-inside-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/extend-selection-bidi-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/extend-selection-bidi-expected.png
index 234af63..dc923d6 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/extend-selection-bidi-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/extend-selection-bidi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/leave-requested-block-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/leave-requested-block-expected.png
index 37487384..a12be89 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/leave-requested-block-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/leave-requested-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/move-backwords-by-word-001-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/move-backwords-by-word-001-expected.png
index 68fd791..311d2f1 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/move-backwords-by-word-001-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/move-backwords-by-word-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/move-by-line-002-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/move-by-line-002-expected.png
index 4a5cd68..389048e 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/move-by-line-002-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/move-by-line-002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/move-by-sentence-001-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/move-by-sentence-001-expected.png
index 14b374d..81e48e4 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/move-by-sentence-001-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/move-by-sentence-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/move-past-trailing-space-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/move-past-trailing-space-expected.png
index 9d740dc..1562b1f6 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/move-past-trailing-space-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/move-past-trailing-space-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/previous-line-position-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/previous-line-position-expected.png
index d340897..433bdfc 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/previous-line-position-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/previous-line-position-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-1-expected.png
index f3d3829..c18f18f6 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-2-expected.png
index 303f7bb..488971e 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-3-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-3-expected.png
index efe8bfaf..e5f1042 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-3-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/replaced-boundaries-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/select-missing-image-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/select-missing-image-expected.png
index ca7a2a52..018166a 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/select-missing-image-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/select-missing-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/triple-click-in-pre-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/triple-click-in-pre-expected.png
index 570d8b0..fe15f64 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/triple-click-in-pre-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/triple-click-in-pre-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/wrapped-line-caret-1-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/wrapped-line-caret-1-expected.png
index 8f5e543..e833f153 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/wrapped-line-caret-1-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/wrapped-line-caret-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/selection/wrapped-line-caret-2-expected.png b/third_party/blink/web_tests/platform/linux/editing/selection/wrapped-line-caret-2-expected.png
index 7c15dab..92ed0f1 100644
--- a/third_party/blink/web_tests/platform/linux/editing/selection/wrapped-line-caret-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/selection/wrapped-line-caret-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/style/4916887-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/4916887-expected.png
index 08653bd6..1c11189 100644
--- a/third_party/blink/web_tests/platform/linux/editing/style/4916887-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/style/4916887-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/style/5065910-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/5065910-expected.png
index a912e1a..827a0544 100644
--- a/third_party/blink/web_tests/platform/linux/editing/style/5065910-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/style/5065910-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/style/5084241-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/5084241-expected.png
index 75de4d96..b400b8e 100644
--- a/third_party/blink/web_tests/platform/linux/editing/style/5084241-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/style/5084241-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/style/5228141-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/5228141-expected.png
index 1101be18..3012b0c2 100644
--- a/third_party/blink/web_tests/platform/linux/editing/style/5228141-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/style/5228141-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/style/5279521-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/5279521-expected.png
index 8be20a7..bb9a6f4 100644
--- a/third_party/blink/web_tests/platform/linux/editing/style/5279521-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/style/5279521-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/style/block-styles-007-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/block-styles-007-expected.png
index 5dc9b6a..1ca1996 100644
--- a/third_party/blink/web_tests/platform/linux/editing/style/block-styles-007-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/style/block-styles-007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/style/highlight-expected.png b/third_party/blink/web_tests/platform/linux/editing/style/highlight-expected.png
index 26d53e3e..03564b35 100644
--- a/third_party/blink/web_tests/platform/linux/editing/style/highlight-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/style/highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-delete-001-expected.png b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-delete-001-expected.png
index 7d6441b..c75e0f0 100644
--- a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-delete-001-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-delete-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-delete-003-expected.png b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-delete-003-expected.png
index a590f30..4b7790e 100644
--- a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-delete-003-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-delete-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-type-after-expected.png b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-type-after-expected.png
index 8c83ee5d..1c59a9e 100644
--- a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-type-after-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-type-after-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-type-before-expected.png b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-type-before-expected.png
index e411dae..613e9247 100644
--- a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-type-before-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/list-type-before-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/table-type-after-expected.png b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/table-type-after-expected.png
index 66dcb7cc..91d224e 100644
--- a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/table-type-after-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/table-type-after-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/table-type-before-expected.png b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/table-type-before-expected.png
index e96ab959..a139ec1 100644
--- a/third_party/blink/web_tests/platform/linux/editing/unsupported-content/table-type-before-expected.png
+++ b/third_party/blink/web_tests/platform/linux/editing/unsupported-content/table-type-before-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/backgrounds/background-svg-scaling-expected.png b/third_party/blink/web_tests/platform/linux/fast/backgrounds/background-svg-scaling-expected.png
deleted file mode 100644
index e43aef8..0000000
--- a/third_party/blink/web_tests/platform/linux/fast/backgrounds/background-svg-scaling-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-continuations-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-continuations-expected.png
index 2f95ba9a..146a698 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-continuations-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-continuations-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-detached-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-detached-expected.png
index 5d68d50..3f40e03 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-detached-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-detached-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-multiline-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-multiline-expected.png
index ca124578..b1a79e1f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-multiline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-multiline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-multiline-writingmode-vertical-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-multiline-writingmode-vertical-expected.png
index 3a083bd..c3c1d9a8 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-multiline-writingmode-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-multiline-writingmode-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-color-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-color-expected.png
index 557e569..0b631b5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-offset-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-offset-expected.png
index b267d947..f16c9c3 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-offset-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-offset-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-width-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-width-expected.png
index b250eaa..5955278 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-width-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/focus-ring-outline-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/ignore-empty-focus-ring-rects-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/ignore-empty-focus-ring-rects-expected.png
index 5710296..7a6a117 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/ignore-empty-focus-ring-rects-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/ignore-empty-focus-ring-rects-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/outline-auto-empty-rects-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/outline-auto-empty-rects-expected.png
index 64a34f5b..7ed0967 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/outline-auto-empty-rects-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/outline-auto-empty-rects-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/css/outline-auto-location-expected.png b/third_party/blink/web_tests/platform/linux/fast/css/outline-auto-location-expected.png
index 76cd155..aeb0a15 100644
--- a/third_party/blink/web_tests/platform/linux/fast/css/outline-auto-location-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/css/outline-auto-location-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/dom/52776-expected.png b/third_party/blink/web_tests/platform/linux/fast/dom/52776-expected.png
index 42ba6bf..8ada27b 100644
--- a/third_party/blink/web_tests/platform/linux/fast/dom/52776-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/dom/52776-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/dom/focus-contenteditable-expected.png b/third_party/blink/web_tests/platform/linux/fast/dom/focus-contenteditable-expected.png
index ad8f854..2300b2f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/dom/focus-contenteditable-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/dom/focus-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/events/reveal-link-when-focused-expected.png b/third_party/blink/web_tests/platform/linux/fast/events/reveal-link-when-focused-expected.png
index 512dd18..1b3a91e 100644
--- a/third_party/blink/web_tests/platform/linux/fast/events/reveal-link-when-focused-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/events/reveal-link-when-focused-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-paint-order-expected.png
index 11c9346..6965322 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-paint-order-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/input-placeholder-paint-order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-outline-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-outline-expected.png
index 9e1a79f..d8770c5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-outline-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/text/textfield-outline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
index 3efbf27..0c8c4a71 100644
--- a/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/inline/25277-2-expected.png b/third_party/blink/web_tests/platform/linux/fast/inline/25277-2-expected.png
index 4c55675..9029bf0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/inline/25277-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/inline/25277-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/inline/25277-expected.png b/third_party/blink/web_tests/platform/linux/fast/inline/25277-expected.png
index 4c55675..9029bf0 100644
--- a/third_party/blink/web_tests/platform/linux/fast/inline/25277-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/inline/25277-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-expected.png b/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-expected.png
index 0becce9d..838b491f 100644
--- a/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-with-layers-2-expected.png b/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-with-layers-2-expected.png
index c2f92d85f..d6320f5 100644
--- a/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-with-layers-2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-with-layers-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-with-layers-expected.png b/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-with-layers-expected.png
index ea72ca4b..20334da 100644
--- a/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-with-layers-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/inline/continuation-outlines-with-layers-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/inline/inline-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/fast/inline/inline-focus-ring-expected.png
index 5c8370d..2032eef 100644
--- a/third_party/blink/web_tests/platform/linux/fast/inline/inline-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/inline/inline-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-focus-ring-expected.png
index 4c9875bb..732f573 100644
--- a/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/fast/overflow/overflow-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-1-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-1-and-click-expected.png
index c70bcc8..f45d7fb 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-1-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-1-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-10-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-10-and-click-expected.png
index 95fad259..35222a8 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-10-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-10-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-2-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-2-and-click-expected.png
index 8576ebb..c15fc31 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-2-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-2-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-3-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-3-and-click-expected.png
index 4b0f82f..77c04f9 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-3-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-3-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-4-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-4-and-click-expected.png
index 1e678c8..8353760a 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-4-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-4-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-5-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-5-and-click-expected.png
index ec66c3b..f3699d6 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-5-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-5-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-6-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-6-and-click-expected.png
index 95fad259..35222a8 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-6-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-6-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-7-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-7-and-click-expected.png
index 95fad259..35222a8 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-7-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-7-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-8-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-8-and-click-expected.png
index 066a9fe..9e084c7 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-8-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-8-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-9-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-9-and-click-expected.png
index 953e9e4e..7d65c180 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-9-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-add-summary-9-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-1-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-1-and-click-expected.png
index b2258be..358d84c 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-1-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-1-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-2-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-2-and-click-expected.png
index e2067f35..88fb71b 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-2-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-2-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-3-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-3-and-click-expected.png
index 70b4d8b..b30847f 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-3-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-3-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-4-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-4-and-click-expected.png
index dbefaf51..2a25f58 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-4-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-4-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-5-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-5-and-click-expected.png
index ada869f..d3bdec4c 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-5-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-5-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-6-and-click-expected.png b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-6-and-click-expected.png
index 136b37a..b79c81a 100644
--- a/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-6-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/html/details_summary/details-remove-summary-6-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-circle-focus-ring-expected.png
index a2e1995..88701e5 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-expected.png
index e8abbf0d..9a5875d4 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-in-positioned-container-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-in-positioned-container-expected.png
index 121bfce2..69cec8e 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-in-positioned-container-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-in-positioned-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-expected.png
index 0ba3b51..9e496c0 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
index 4566a28..5eb3037 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
index f5dd483e..b6a42b5c 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-with-paint-root-offset-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-with-paint-root-offset-expected.png
index fae588f2..bbb68ca6 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-with-paint-root-offset-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-with-paint-root-offset-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-with-scale-transform-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-with-scale-transform-expected.png
index cdbcf0e36..674bf05 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-with-scale-transform-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-with-scale-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-zoom-expected.png
index 33e3512..f7b90275 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-zoom-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-overflowing-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-overflowing-circle-focus-ring-expected.png
index 2bd1b4d..9da1992 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-overflowing-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-overflowing-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-overflowing-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-overflowing-polygon-focus-ring-expected.png
index 644ae3f..f282522 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-overflowing-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-overflowing-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/images/imagemap-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/images/imagemap-polygon-focus-ring-expected.png
index 8328cf6..9c9427b5 100644
--- a/third_party/blink/web_tests/platform/linux/images/imagemap-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/images/imagemap-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/4776765-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/4776765-expected.png
index f4a1fab..3883762 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/4776765-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/4776765-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/delete-into-nested-block-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/delete-into-nested-block-expected.png
index a216988..e470d42d 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/delete-into-nested-block-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/delete-into-nested-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png
index 870aa92..896752dd 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
index 23da500..c2ce56e 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
@@ -8,12 +8,12 @@
       "paintInvalidations": [
         {
           "object": "LayoutButton INPUT",
-          "rect": [7, 7, 59, 24],
+          "rect": [6, 6, 61, 26],
           "reason": "subtree"
         },
         {
           "object": "LayoutButton INPUT",
-          "rect": [7, 7, 59, 24],
+          "rect": [6, 6, 61, 26],
           "reason": "chunk appeared"
         },
         {
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-continuations-expected.txt b/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-continuations-expected.txt
index ea00e5c..7025df3 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-continuations-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-continuations-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "NGPhysicalBoxFragment LayoutInline SPAN id='outer'",
-          "rect": [7, 87, 88, 22],
+          "rect": [6, 86, 90, 24],
           "reason": "disappeared"
         }
       ]
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-enable-continuations-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-enable-continuations-expected.png
index 34f5876..b8ff8f2 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-enable-continuations-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-enable-continuations-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-enable-continuations-expected.txt b/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-enable-continuations-expected.txt
index 0adbadc..0167d17 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-enable-continuations-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-enable-continuations-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "NGPhysicalBoxFragment LayoutInline SPAN id='outer'",
-          "rect": [7, 87, 88, 22],
+          "rect": [6, 86, 90, 24],
           "reason": "appeared"
         }
       ]
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-layers-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-layers-expected.png
index 1b85754..85cbe44 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-layers-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/outline/focus-layers-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt
index a93af0c..c4fcde5 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt
@@ -8,13 +8,13 @@
     },
     {
       "name": "LayoutTextControl INPUT id='root'",
-      "position": [-1, -1],
-      "bounds": [63, 24],
+      "position": [-2, -2],
+      "bounds": [65, 26],
       "backgroundColor": "#FFFFFF",
       "paintInvalidations": [
         {
           "object": "LayoutTextControl INPUT id='root'",
-          "rect": [0, 0, 63, 24],
+          "rect": [0, 0, 65, 26],
           "reason": "full layer"
         },
         {
@@ -24,7 +24,7 @@
         },
         {
           "object": "Caret",
-          "rect": [58, 4, 1, 16],
+          "rect": [59, 5, 1, 16],
           "reason": "caret"
         }
       ],
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt
index a93af0c..c4fcde5 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt
@@ -8,13 +8,13 @@
     },
     {
       "name": "LayoutTextControl INPUT id='root'",
-      "position": [-1, -1],
-      "bounds": [63, 24],
+      "position": [-2, -2],
+      "bounds": [65, 26],
       "backgroundColor": "#FFFFFF",
       "paintInvalidations": [
         {
           "object": "LayoutTextControl INPUT id='root'",
-          "rect": [0, 0, 63, 24],
+          "rect": [0, 0, 65, 26],
           "reason": "full layer"
         },
         {
@@ -24,7 +24,7 @@
         },
         {
           "object": "Caret",
-          "rect": [58, 4, 1, 16],
+          "rect": [59, 5, 1, 16],
           "reason": "caret"
         }
       ],
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 6612fa82..fc040c62 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
index ae577667..b2df0cd 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
@@ -18,7 +18,7 @@
         },
         {
           "object": "NGPhysicalBoxFragment LayoutInline A",
-          "rect": [383, 971, 42, 21],
+          "rect": [382, 970, 44, 23],
           "reason": "appeared"
         },
         {
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/table/caret-contenteditable-content-after-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/table/caret-contenteditable-content-after-expected.png
index 87a6a23..70b65bd 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/table/caret-contenteditable-content-after-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/table/caret-contenteditable-content-after-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/table/caret-contenteditable-content-after-expected.txt b/third_party/blink/web_tests/platform/linux/paint/invalidation/table/caret-contenteditable-content-after-expected.txt
index ad1e3d3..b14e9e1 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/table/caret-contenteditable-content-after-expected.txt
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/table/caret-contenteditable-content-after-expected.txt
@@ -8,22 +8,22 @@
       "paintInvalidations": [
         {
           "object": "LayoutBlockFlow DIV id='editor'",
-          "rect": [7, 47, 786, 22],
+          "rect": [6, 46, 788, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutBlockFlow DIV id='editor'",
-          "rect": [7, 47, 786, 22],
+          "rect": [6, 46, 788, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutBlockFlow DIV id='editor'",
-          "rect": [7, 47, 786, 22],
+          "rect": [6, 46, 788, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutBlockFlow DIV id='editor'",
-          "rect": [7, 47, 786, 22],
+          "rect": [6, 46, 788, 24],
           "reason": "appeared"
         },
         {
diff --git a/third_party/blink/web_tests/platform/linux/paint/invalidation/transform/caret-with-transformation-expected.png b/third_party/blink/web_tests/platform/linux/paint/invalidation/transform/caret-with-transformation-expected.png
index b514d81e..9d704ff 100644
--- a/third_party/blink/web_tests/platform/linux/paint/invalidation/transform/caret-with-transformation-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/invalidation/transform/caret-with-transformation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-expected.png b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-expected.png
index 38bac42..6a2883e 100644
--- a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-font-64px-expected.png b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-font-64px-expected.png
index 74427c5..6071420 100644
--- a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-font-64px-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-font-64px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-font-8px-expected.png b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-font-8px-expected.png
index 65bcaba0..c5e6129 100644
--- a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-font-8px-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-font-8px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-125-expected.png b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-125-expected.png
index 7fa29aa..070a433 100644
--- a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-125-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-150-expected.png b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-150-expected.png
index 36c9433..dc2299e 100644
--- a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-150-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-175-expected.png b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-175-expected.png
index 9f48668e..5331c8f 100644
--- a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-175-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-175-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-200-expected.png b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-200-expected.png
index 7ad97609..afe077f 100644
--- a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-200-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-2000-expected.png b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-2000-expected.png
index 271982b..841f07e 100644
--- a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-2000-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-2000-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-250-expected.png b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-250-expected.png
index bf26630..342e61f 100644
--- a/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-250-expected.png
+++ b/third_party/blink/web_tests/platform/linux/paint/markers/document-markers-zoom-250-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/focus-ring-expected.png
index 6c30cf5..c1065fb 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/svg/custom/focus-ring-text-expected.png b/third_party/blink/web_tests/platform/linux/svg/custom/focus-ring-text-expected.png
index 6f197e5..1919c56 100644
--- a/third_party/blink/web_tests/platform/linux/svg/custom/focus-ring-text-expected.png
+++ b/third_party/blink/web_tests/platform/linux/svg/custom/focus-ring-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/transforms/transformed-caret-expected.png b/third_party/blink/web_tests/platform/linux/transforms/transformed-caret-expected.png
index 6f79b58..be729393 100644
--- a/third_party/blink/web_tests/platform/linux/transforms/transformed-caret-expected.png
+++ b/third_party/blink/web_tests/platform/linux/transforms/transformed-caret-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png
index 0502a01..5a3651e 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
index 64fe9ab..8c6d644f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png b/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
index 79b6e0e1..a88f446e 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png b/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
index b6f6340..c5d32807 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
index e4b8540..ddb816f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
index 7b1d119..4aa94ce 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
index 2524885..87a81a47 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
index a546fe80..4727f166 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index 6dc623b..c18a0f9 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index 1edbb01..bddd5eb3 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
index 6911fdf..b5f56c64 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
index de6ea58..9a166b1e0 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
index 133d888..7687e46e 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index 8babe498..9bc65c9 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
index bbdc9d0..071c4c04 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
index a2aef80..6bbc139 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
index b1f1372a..fb16b17 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
index 023ccb2f..47a86c73 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index 9746b9d8..bbc5eaf 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 7a99bf5..ccf2509 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 75a220e..a0668a5c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
index 8cec821..5c159bf6 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index 8344972..a2450ad 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
index 66f21ee..89928d54 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
index ad52197..df50a29a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index ae8c53a8..651f5c70 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index 25d9623..28c29b3b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index 4b89f778..058d39bb 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
index 479e2be..83c6ee88 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
index 1bad19f..d4c6e63 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
index a252df00..0a9ceec3a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
index 803e8ac..42372c5 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index df0a50e..6f98f25 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 351b500..7a79f643 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
index e5bedcd..48885e8 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
index 388f216..7a23828a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index 6c81cce2..19424d84 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
index 769d4d1..9b648e3e 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
index 740bb2f..3d7762f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
index 646c4ba..14799ef 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
index 769d4d1..9b648e3e 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
index 2d1d977..c1d8ed5 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
index c9401392..150732e6 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
index 3d2a7e7..885269d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
index aa8d65d..ea37ff8c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
index edee1e2..5010a5b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
index 2b0342b..3d28ba9 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
index b82223be..5b9664b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
index e6f4b7e..6307cb8 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
index ffe957ed..ac19185 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
index 2e8fedb..b6f359f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
index 620d5c1..8e291af 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
index 620d5c1..8e291af 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
index 58280c8..15d1ac3 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
index e2e039b..6a4f2a9d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
index 0794555..800ba82 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
index 03cecbd..fc9e650 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
index 30f2afb..8b27282 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
index 262b2f7..ab10dfc 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
index 6a95095..17733c7 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
index 5d72b31..011a03c4 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
index b48a52d..b00d37c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
index ad15d91..7a48f33 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
index 4c05da1..784c4da 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
index 3908463..bb1693e3 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
index 24b8180..f41ce1a3 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png
index 6c91446..7829f8b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
index 7dcf103..fc888be8 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
index 69e1d36..77091f572 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-border-radius-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-border-radius-expected.png
new file mode 100644
index 0000000..1edcf6a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-border-radius-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed-expected.png
similarity index 71%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
copy to third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed-expected.png
index b19ef2d5..d1bee74 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-detached-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-detached-expected.png
new file mode 100644
index 0000000..724205e8
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-detached-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-multiline-link-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-multiline-link-expected.png
new file mode 100644
index 0000000..5fc802f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-multiline-link-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical-expected.png
new file mode 100644
index 0000000..9a9c04b
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-outline-color-expected.png
similarity index 61%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-outline-color-expected.png
index ef426e5..4e767f02 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-zoom-expected.png
new file mode 100644
index 0000000..9671fbac
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png
new file mode 100644
index 0000000..9ad2e32
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/textfield-focus-ring-expected.png
similarity index 65%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
copy to third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/textfield-focus-ring-expected.png
index b19ef2d5..cbfc716 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/focus-rect/textfield-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
index 6e0f8cfd..49584d1 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-alt-f8-expected.png
index 4b89f778..058d39bb 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
index 4b89f778..058d39bb 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
index 184e4e95..b8d107f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
index 671e318..3545952 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
index 0c6c878..6dd3c3197 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
index 71b1d9c..7cc44858 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
index 4b89f778..058d39bb 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
index d3e5474..a4877ec 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
index 53dd09c..2c41229 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
index 5e2a7b472..64e86d1 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
index 4cd4a90..11e1ed81 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
index 6a0804e..cf7646f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
index d0ab457..a21a5e8 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
index 2fac4ca..0b723c22 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
index a393957..2912de6 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png
index d18d15c..7d234a11 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png
index 9e0c2cc..c1c1849 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png
index 8521d6ba..5b26cbe 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png
index c7dbd7d..d12ffdf 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
index 7db3caa..cf51bbc 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
index 7bc1471..57d7ce8 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png
index 80ae5b78..2f03248 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png
index 6e0a7aa..6860e7ef 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png
index 8535695..9ec7245 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png
index 97253a14..b7ff189 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png
index aada43e..3e2d777 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png
index db6cafd..1fbc038b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/form-controls-refresh-disabled/fast/forms/text/input-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/linux/virtual/form-controls-refresh-disabled/fast/forms/text/input-placeholder-paint-order-expected.png
new file mode 100644
index 0000000..11c9346
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/form-controls-refresh-disabled/fast/forms/text/input-placeholder-paint-order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/form-controls-refresh-disabled/fast/forms/text/textfield-outline-expected.png b/third_party/blink/web_tests/platform/linux/virtual/form-controls-refresh-disabled/fast/forms/text/textfield-outline-expected.png
new file mode 100644
index 0000000..9e1a79f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/form-controls-refresh-disabled/fast/forms/text/textfield-outline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/form-controls-refresh-disabled/fast/forms/textarea/textarea-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/linux/virtual/form-controls-refresh-disabled/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
new file mode 100644
index 0000000..3efbf27
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/form-controls-refresh-disabled/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png
index 6bbc239..369f27c 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png
index c2cd58b..960913d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png
index 4121391..e2b54b9 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png
index b467bfa..dc892c2 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
index bbba817..d97cffc9 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png
index 1d63322..4f7f83e9 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png
index 978eca6..2c1e99a8 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png
index ece997c..6ef557a 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png
index 1d2b2b8..ff291a3 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png
index ffc5c92..8eb3531 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png
index 9bab829..9bac769 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png b/third_party/blink/web_tests/platform/linux/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
index 512dd18..1b3a91e 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
index 5682c73..f8c749d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
index 206c123..b17d1832 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
index 823bb72..f9589a7f7 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index 64c0772..0dd7fa1 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
index d39f73f..25875b8d 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
index 2c32e3a..3781904 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index 59867dc..4d3a997 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png
index f14e395..e425a26 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
index 59867dc..4d3a997 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/data-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
index 392b838b..5f18008 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
index a8ed943f..7abbed0 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-disabled-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-disabled-expected.png
index 0bb0fb7..72976bf 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-disabled-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-disabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-enabled-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-enabled-expected.png
index 0fdfaee..c6d60dd 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-enabled-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-enabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png
index a26105a..94a1aeebe 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png
index 52a92ed..707e181 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png
index ccafa11..8ce6012 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png
index ec808df..62cd40b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png
index 4d59ce14..d3fc153e 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/delete-hard-break-character-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/delete-hard-break-character-expected.png
index cb4a694..9f3ca21 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/delete-hard-break-character-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/delete-hard-break-character-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/mixed-directionality-selection-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/mixed-directionality-selection-expected.png
index e2603aa..dfac66b 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/mixed-directionality-selection-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/mixed-directionality-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/rtl-caret-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/rtl-caret-expected.png
index 1b1c65f..df8d298 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/rtl-caret-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/rtl-caret-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png
index 94503faa..2a7634f 100644
--- a/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/fast/dom/52776-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/fast/dom/52776-expected.png
new file mode 100644
index 0000000..8ada27b
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/fast/dom/52776-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/fast/dom/focus-contenteditable-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/fast/dom/focus-contenteditable-expected.png
new file mode 100644
index 0000000..2300b2f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/fast/dom/focus-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png
similarity index 63%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
copy to third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png
index b19ef2d5..f45d7fb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-10-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-10-and-click-expected.png
new file mode 100644
index 0000000..35222a8
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-10-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-2-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-2-and-click-expected.png
new file mode 100644
index 0000000..c15fc31
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-2-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-3-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-3-and-click-expected.png
new file mode 100644
index 0000000..77c04f9
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-3-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-4-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-4-and-click-expected.png
new file mode 100644
index 0000000..8353760a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-4-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-5-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-5-and-click-expected.png
new file mode 100644
index 0000000..f3699d6
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-5-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-6-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-6-and-click-expected.png
new file mode 100644
index 0000000..35222a8
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-6-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-7-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-7-and-click-expected.png
new file mode 100644
index 0000000..35222a8
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-7-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-8-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-8-and-click-expected.png
new file mode 100644
index 0000000..9e084c7
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-8-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-9-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-9-and-click-expected.png
new file mode 100644
index 0000000..7d65c180
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-9-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-1-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-1-and-click-expected.png
new file mode 100644
index 0000000..358d84c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-1-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-2-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-2-and-click-expected.png
new file mode 100644
index 0000000..88fb71b
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-2-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-3-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-3-and-click-expected.png
new file mode 100644
index 0000000..b30847f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-3-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-4-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-4-and-click-expected.png
new file mode 100644
index 0000000..2a25f58
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-4-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-5-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-5-and-click-expected.png
new file mode 100644
index 0000000..d3bdec4c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-5-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-6-and-click-expected.png b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-6-and-click-expected.png
new file mode 100644
index 0000000..b79c81a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/linux/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-6-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
index 2a9071c7..ad300402 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
index 3f745c0..1782596 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
index 6695ec70..43fba0e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
index 61ea59e..1ae0fb7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index a693b5a..36b7765 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index f0cf2da..3141ce2 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
index b484b14..27bee9e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
index 75ab4a72..0b3da5f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
index d84db45..c631b31 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
similarity index 76%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
copy to third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index 527065b..1c3b3793 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
new file mode 100644
index 0000000..2b3cb380
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
index 0cba7cb..2f090a1 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
index cec2c10..41deb149 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
index 750e488..7d9301a 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index 63f680b..8f88db3b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 3194a49..d09b69cc 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 7d9c829..a8da296 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
index 905f519..321550d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index 3c86c2fe..026ce3d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
index dfe7c6c..e682a79 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index d86a0c03..32b9b8e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
index fbf152f..724bb50d2 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
index daa4ab7..d55ee6d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
index e189651..ff351d55 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
index 97b7b2e..642b630 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
index dfe7c6c..e682a79 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
index 33cde42..885ef33 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
deleted file mode 100644
index a673450..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index 1d815442..f679eaa 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
index 452ae4b..dd5f84b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
index 57f8e7c..5c73dcd0 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
index 04f7c84..7adb35c9 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
index 2c4f5820..9590fd4 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index 47cd928..96e78eb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
index 3441c5d0..8221f65d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
index e4bd6bb..5183b15 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
index f4a6682..33e433307 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index 878fbf3..34400152 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
index 8d1e798a..964bf740 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png
new file mode 100644
index 0000000..f3443bd
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
index 07cc94fb..368dad92 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
index 9f5f148..696393e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index 3ed5b30..c8272f0 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
index 6141d554..a8ca7ee6 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
index 0762f76..1510a01e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
index c34c03da..2027978 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
index 7a380f0d..3be1077 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
index aa5720c..0884c4b5 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
index 4c2d734a..45032f0 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
index e6209d2..1ee49e6 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
index 23097ab..2890e10 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
index 5979919..8ed372f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
new file mode 100644
index 0000000..207864c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
new file mode 100644
index 0000000..f731eff
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
index 6695ec70..43fba0e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..1ae0fb7
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
new file mode 100644
index 0000000..36b7765
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index 109b1c015..b65ca43 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
new file mode 100644
index 0000000..7edb77a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
new file mode 100644
index 0000000..5f3eca9
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
new file mode 100644
index 0000000..e937d29
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
similarity index 76%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
copy to third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index 527065b..1c3b3793 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
new file mode 100644
index 0000000..2b3cb380
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
index 0cba7cb..2f090a1 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
index cec2c10..41deb149 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..7d5a794f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..441fd878
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..63f1e8e
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..4b96d55
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..9caeeca
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index 14ad2959..ccaeb9d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
deleted file mode 100644
index a673450..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-alt-f8-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
deleted file mode 100644
index ef426e5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
deleted file mode 100644
index 527065b..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
deleted file mode 100644
index 7912dfd..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
deleted file mode 100644
index c84cbdd..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
deleted file mode 100644
index a3c2b66e..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.11/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
index a467e8a..207864c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
index e33b00c..f731eff 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
index 6695ec70..43fba0e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
index 61ea59e..1ae0fb7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index a693b5a..36b7765 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index 109b1c015..b65ca43 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
index b15e2d4..7edb77a 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
index fa776ba..5f3eca9 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
index 2f83522..e937d29 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
similarity index 76%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
copy to third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index 527065b..1c3b3793 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
new file mode 100644
index 0000000..2b3cb380
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
index 0cba7cb..2f090a1 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
index cec2c10..41deb149 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..7d5a794f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..441fd878
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..63f1e8e
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..4b96d55
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..9caeeca
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index 14ad2959..ccaeb9d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
index e3bd113..68bb49f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index 41a93c6..a127856 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
index c503e2e..e758fa7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
index 3c92b16..9cf99df 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
index 1586c37..7afaa50 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
index f14ccb3..a00da9a 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
index e3bd113..68bb49f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
index bd5249b..ed27b69 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
index 1221349..8e76b668 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
index a673450..8e75642 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index 8531eb63b5..d4f71d6 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index 9772416..2e161a6 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
index 21ab713..8020723 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
index 85ab889..f76214d7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
index 30a84bf..33d4c37 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index 1aefab9..05200e1e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
index c18f1c6a..2ddaa8d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
index e558a6f..df3ea751 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
index a3bc7785..7f1111a 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
index c18f1c6a..2ddaa8d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
index 0df61e8..32d4a07 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
index a2ebf3aa..0b115448 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
index 673b7d9..b0cc89b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
index 1934d5f..f9440c4 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
index b7023a1..10373c8 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
index c97b53e8..20828ab 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
index 365e8e9..64437e22 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
index 976df5f..12a82796 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
index 78d9117..b990472 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
index d5e7852..3ea8814 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
index 5a72d10..87248ed 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
index 5a72d10..87248ed 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
index 744026d..7be4494 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
index 6fbf45a..0e84c68 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
index 2b63d63e..cfb4f7d5 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
index 430ad28..3d855e2 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
index 4989767..085e56a 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
index 18412aa5..522a3a8d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
index 47cc3f7..dc3555b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
index cacbc05..4f9ba8bc 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
index c4565d5..53c4f6d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
index 3cd1234..fc7c01b 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
index 186af6d..27e7918 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
index 0be013e4..2acbf6d 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
index 7180578..8fdb449 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
index 7e31921..9f782388 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
index 0a39750..ba37d19 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
index 32ee326..f382d169 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
index a765e08..7216f414 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index 81a445c..8037960 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
index 1bcc044..6a036282 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-alt-f8-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
deleted file mode 100644
index ef426e5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
deleted file mode 100644
index 527065b..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
deleted file mode 100644
index 7912dfd..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
deleted file mode 100644
index c84cbdd..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
deleted file mode 100644
index a3c2b66e..0000000
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
index 08b68fc..96ab29c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
index 917caa9..6923411 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
index 9b31142..419bcba 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
index a709c9d6..ca537fb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
index 6b33b56..8774cbb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
index 2147d33..1385197a 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
index 784ddc3b..5f57ca3 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
index b1600612..643747e 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/mac-mac10.12/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
new file mode 100644
index 0000000..369ddd6
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
new file mode 100644
index 0000000..71e041b35
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
new file mode 100644
index 0000000..9d9e6f4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..84ff2c2
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
new file mode 100644
index 0000000..4f61399
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index c0ba1d03..9799d32 100644
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
new file mode 100644
index 0000000..ac8d5a4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
new file mode 100644
index 0000000..def75be
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
new file mode 100644
index 0000000..9fa2f7c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
similarity index 76%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
copy to third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index 527065b..1c3b3793 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
new file mode 100644
index 0000000..2b3cb380
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
index 0cba7cb..2f090a1 100644
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
index cec2c10..41deb149 100644
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..7d5a794f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..441fd878
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..63f1e8e
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..4b96d55
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..9caeeca
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index d3eef40..b32fb4f 100644
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
deleted file mode 100644
index ef0ecd6..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-alt-f8-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
deleted file mode 100644
index ef426e5..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
deleted file mode 100644
index 527065b..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
deleted file mode 100644
index 7912dfd..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
deleted file mode 100644
index c84cbdd..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
deleted file mode 100644
index b19ef2d5..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
deleted file mode 100644
index a3c2b66e..0000000
--- a/third_party/blink/web_tests/platform/mac-retina/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/fast/backgrounds/background-svg-scaling-expected.png b/third_party/blink/web_tests/platform/mac/fast/backgrounds/background-svg-scaling-expected.png
index 027a214..3a7ef208 100644
--- a/third_party/blink/web_tests/platform/mac/fast/backgrounds/background-svg-scaling-expected.png
+++ b/third_party/blink/web_tests/platform/mac/fast/backgrounds/background-svg-scaling-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/svg/as-image/image-respects-deviceScaleFactor-expected.png b/third_party/blink/web_tests/platform/mac/svg/as-image/image-respects-deviceScaleFactor-expected.png
index 73135f9..775efc4 100644
--- a/third_party/blink/web_tests/platform/mac/svg/as-image/image-respects-deviceScaleFactor-expected.png
+++ b/third_party/blink/web_tests/platform/mac/svg/as-image/image-respects-deviceScaleFactor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
index db833b07..369ddd6 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
index 4dc69b5e..71e041b35 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
index 0506476..9d9e6f4 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
index 3f1a166..84ff2c2 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index f3d54e6..4f61399 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index c0ba1d03..9799d32 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
index 78b9b8d5..ac8d5a4 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
index 5e8fe0d..def75be 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
index b54f638..9fa2f7c 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index 35b59d4d..1c3b3793 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
index 975f0ce..2b3cb380 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
index 0cba7cb..2f090a1 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
index cec2c10..41deb149 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
index 9b2bfee..7d5a794f 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index 208ae4c..441fd878 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
index fca7b15..63f1e8e 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 29d3959..4b96d55 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
index 0fcdee3..9caeeca 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index d3eef40..b32fb4f 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
index 4a8d4dd..93325947 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index e9aa6f7..18dfa4f 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
index 9398c57..80f060c 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
index 0545139..14c5996 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
index dceaeab..3096cbb 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
index 009a6dda..d00431a 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
index 4a8d4dd..93325947 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
index ffc336a..d64e114 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
index d76ad62..8473e1f 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
index ef0ecd6..fc491e4 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index e5179ef..ce8ea31 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index e11ba70eb..55d6754 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
index 4aa3fe5..0305e187 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
index 90f019e..fa02738b 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
index 44f123d..0afffa82 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index b19ef2d5..b11a008 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
index 7cb61c8..6c4de7a 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
index 4dab192..d068b03 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
index 60d93a46..f4f503d8 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
index cb5e9fe..1dab0aa 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index c9bbf1d3..470e234 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
index dafce97..d6fc450 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
index 149f93e..5050a88 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
index c50d655..d493b1aa 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index c7e9fc6..80da636 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
index 472b7cbb..29f3e17 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
index 2777e5e..0a842d6c 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
index 3a771b5..c9034fb 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
index 472b7cbb..29f3e17 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
index d7224dd..66d34db 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
index d4c7f47..7e7ab829 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
index 8dc58ec..2e38a15 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
index 8380ffd7..c292281d 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
index 236fb85..3fa2cca 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
index 4d7a46a..4d0266f 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
index b2b9877..c0dae31 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
index 2266fbee..997dc45 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
index 1331ff29..15dbe57 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
index 8b06bcf..231ac3ba 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
index 2bf6e04b..ec6b623 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
index 2bf6e04b..ec6b623 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
index 307468f7..0d61d62 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
index f3dd485..5f12e75 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
index 130d9bc..a0f7914 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
index 896918f..18c70ac 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
index cd8e63ea..2c81cf4 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
index 6acfe9c3..138bfda 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
index b4d50022..a4b54a8 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
index 1ae83c7..ae4fdefd 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
index 9ea95f9..4ef2969 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
index 5734410..7929635 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
index 83899c26..cb29008 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
index 1ee83f0..ba6facf 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
index ff3a2e5..705381d 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png
index bbd3e2e..3c5cfd4 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
index eaa2c3c..f0496ed 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
index a49b64b4..52d618b 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/checkbox-zoom-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/checkbox-zoom-focus-ring-expected.png
new file mode 100644
index 0000000..006eb49c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/checkbox-zoom-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-border-radius-expected.png
similarity index 60%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
copy to third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-border-radius-expected.png
index 7912dfd..38aa417 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-border-radius-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed-expected.png
similarity index 66%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
copy to third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed-expected.png
index c84cbdd..1a91a2e2 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-detached-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-detached-expected.png
new file mode 100644
index 0000000..77945681
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-detached-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-multiline-link-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-multiline-link-expected.png
new file mode 100644
index 0000000..4565aca
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-multiline-link-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical-expected.png
new file mode 100644
index 0000000..69713ba
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-outline-color-expected.png
similarity index 66%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
copy to third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-outline-color-expected.png
index c84cbdd..933eb6c 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-zoom-expected.png
new file mode 100644
index 0000000..119698a
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/radio-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/radio-focus-ring-expected.png
new file mode 100644
index 0000000..66b2597
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/radio-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png
new file mode 100644
index 0000000..b3fff1fc
--- /dev/null
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/textfield-focus-ring-expected.png
similarity index 70%
rename from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
rename to third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/textfield-focus-ring-expected.png
index ef426e5..79408a3 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/focus-rect/textfield-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
index 891f91c..5f8c17d1 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
index 7ab112e..756d91e 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index 8a8e4d8d..16af8346 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
index ca458d99..6f758c1 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-alt-f8-expected.png
index b19ef2d5..b11a008 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
index b19ef2d5..b11a008 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
index ef426e5..29718168 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
index 527065b..7fe0612 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
index 7912dfd..21d611d 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
index c84cbdd..7d3e81e 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
index b19ef2d5..b11a008 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
index a3c2b66e..3bda168 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
index b3dc43a..eae63e9 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
index ec4e4562..f395faa 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
index d6c995e1..2ea12043e 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
index 6ab2c36..2f3694e 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
index 54c5c6b..3aa39ec 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
index b742421..4a92f27 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
index 79ae69fd..88529d1 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
index a83cf8d..5967d90da 100644
--- a/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/mac/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/custom-elements/form-validation-bubble-appearance-expected.png b/third_party/blink/web_tests/platform/win/custom-elements/form-validation-bubble-appearance-expected.png
index 02ec64ac..a0d94fd 100644
--- a/third_party/blink/web_tests/platform/win/custom-elements/form-validation-bubble-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/custom-elements/form-validation-bubble-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-011-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-011-expected.png
index e7d65e9..bf816f6 100644
--- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-011-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-011-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-014-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-014-expected.png
index d434f2d..d8b98b6f 100644
--- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-014-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-014-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-015-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-015-expected.png
index c0c0f49..d4fec29 100644
--- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-015-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-015-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-expected.png
index a2c66bb..19de141 100644
--- a/third_party/blink/web_tests/platform/win/editing/caret/caret-color-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/caret/caret-painting-low-dpi-expected.png b/third_party/blink/web_tests/platform/win/editing/caret/caret-painting-low-dpi-expected.png
index 1e738c4..9df9327 100644
--- a/third_party/blink/web_tests/platform/win/editing/caret/caret-painting-low-dpi-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/caret/caret-painting-low-dpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/5369009-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/5369009-expected.png
index 0051f12..af99469 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/5369009-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/5369009-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/5433862-2-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/5433862-2-expected.png
index 7d1ad28..774368e 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/5433862-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/5433862-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/5483370-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/5483370-expected.png
index 116001a..1d08934 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/5483370-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/5483370-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/delete-at-paragraph-boundaries-011-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/delete-at-paragraph-boundaries-011-expected.png
index 14a4fbf..97a6c25 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/delete-at-paragraph-boundaries-011-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/delete-at-paragraph-boundaries-011-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/delete-br-013-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/delete-br-013-expected.png
index 19abe1b..5907d225 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/delete-br-013-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/delete-br-013-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-015-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-015-expected.png
index a214151..8249388 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-015-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-015-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-016-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-016-expected.png
index 7471a84c..5406c3d 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-016-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-016-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-017-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-017-expected.png
index 221af90..bb5c23b8 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-017-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/delete-line-017-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/merge-different-styles-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/merge-different-styles-expected.png
index 9bfdb6c..b4397da 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/merge-different-styles-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/merge-different-styles-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/merge-endOfParagraph-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/merge-endOfParagraph-expected.png
index 76e9e4b..1a42d8d 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/merge-endOfParagraph-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/merge-endOfParagraph-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/merge-no-br-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/merge-no-br-expected.png
index 9de3ccc..f2fb648 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/merge-no-br-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/merge-no-br-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/deleting/table-cells-expected.png b/third_party/blink/web_tests/platform/win/editing/deleting/table-cells-expected.png
index 828c784..22dec02 100644
--- a/third_party/blink/web_tests/platform/win/editing/deleting/table-cells-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/deleting/table-cells-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/execCommand/4916541-expected.png b/third_party/blink/web_tests/platform/win/editing/execCommand/4916541-expected.png
index 0d64ee4..b29ba36 100644
--- a/third_party/blink/web_tests/platform/win/editing/execCommand/4916541-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/execCommand/4916541-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/execCommand/5142012-1-expected.png b/third_party/blink/web_tests/platform/win/editing/execCommand/5142012-1-expected.png
index af105d2..1607b3b8 100644
--- a/third_party/blink/web_tests/platform/win/editing/execCommand/5142012-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/execCommand/5142012-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/execCommand/format-block-with-trailing-br-expected.png b/third_party/blink/web_tests/platform/win/editing/execCommand/format-block-with-trailing-br-expected.png
index dd6bf82..48e8cee 100644
--- a/third_party/blink/web_tests/platform/win/editing/execCommand/format-block-with-trailing-br-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/execCommand/format-block-with-trailing-br-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/execCommand/insertImage-expected.png b/third_party/blink/web_tests/platform/win/editing/execCommand/insertImage-expected.png
index b7157ee..cce0af8 100644
--- a/third_party/blink/web_tests/platform/win/editing/execCommand/insertImage-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/execCommand/insertImage-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/input/caret-at-the-edge-of-contenteditable-expected.png b/third_party/blink/web_tests/platform/win/editing/input/caret-at-the-edge-of-contenteditable-expected.png
index 64e80a97..99f9a34d 100644
--- a/third_party/blink/web_tests/platform/win/editing/input/caret-at-the-edge-of-contenteditable-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/input/caret-at-the-edge-of-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/input/caret-read-only-after-editable-expected.png b/third_party/blink/web_tests/platform/win/editing/input/caret-read-only-after-editable-expected.png
index f197421..8d78464 100644
--- a/third_party/blink/web_tests/platform/win/editing/input/caret-read-only-after-editable-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/input/caret-read-only-after-editable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/input/reveal-caret-of-multiline-contenteditable-expected.png b/third_party/blink/web_tests/platform/win/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
index 474b9294..d480448 100644
--- a/third_party/blink/web_tests/platform/win/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/input/reveal-caret-of-multiline-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/4278698-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/4278698-expected.png
index 9dd2945a..4a654412 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/4278698-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/4278698-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/4840662-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/4840662-expected.png
index e211ce6..a4c4e0e 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/4840662-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/4840662-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/5002441-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/5002441-expected.png
index 630335b..a126e06 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/5002441-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/5002441-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/5058163-1-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/5058163-1-expected.png
index d8f7c4d6..fb031eab 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/5058163-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/5058163-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/5058163-2-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/5058163-2-expected.png
index 39a7a45..1866747 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/5058163-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/5058163-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/5549929-2-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/5549929-2-expected.png
index 0797fa6a..f9a3bfa 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/5549929-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/5549929-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/5549929-3-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/5549929-3-expected.png
index 56fc645..0d13102 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/5549929-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/5549929-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/insert-3800346-fix-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/insert-3800346-fix-expected.png
index 59496afd..128372c 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/insert-3800346-fix-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/insert-3800346-fix-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/insert-space-in-empty-doc-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/insert-space-in-empty-doc-expected.png
index cc4b563..fafa674e 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/insert-space-in-empty-doc-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/insert-space-in-empty-doc-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/insert-text-at-tabspan-001-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/insert-text-at-tabspan-001-expected.png
index 0be08a7..3343e6fb 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/insert-text-at-tabspan-001-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/insert-text-at-tabspan-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/insert-text-at-tabspan-003-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/insert-text-at-tabspan-003-expected.png
index f139006..f0f0467 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/insert-text-at-tabspan-003-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/insert-text-at-tabspan-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/line-break-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/line-break-expected.png
index 2b8b3ce..017db59 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/line-break-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/line-break-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/paragraph-separator-in-table-1-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/paragraph-separator-in-table-1-expected.png
index 1e8704c..77f8d883 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/paragraph-separator-in-table-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/paragraph-separator-in-table-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/inserting/paragraph-separator-in-table-2-expected.png b/third_party/blink/web_tests/platform/win/editing/inserting/paragraph-separator-in-table-2-expected.png
index 02296d39..f0a33fd 100644
--- a/third_party/blink/web_tests/platform/win/editing/inserting/paragraph-separator-in-table-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/inserting/paragraph-separator-in-table-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/4631972-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/4631972-expected.png
index a8059e3..d55a3f8 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/4631972-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/4631972-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/4947130-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/4947130-expected.png
index e0e0137..793d9a2d 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/4947130-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/4947130-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/5071074-2-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/5071074-2-expected.png
index 9638ace..b9df7a0 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/5071074-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/5071074-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/5071074-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/5071074-expected.png
index 2d07465..1851566 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/5071074-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/5071074-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/5134759-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/5134759-expected.png
index 09f8ccb..8617fcf 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/5134759-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/5134759-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/5156401-1-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/5156401-1-expected.png
index f5d5588..990cbd3f 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/5156401-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/5156401-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/5478250-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/5478250-expected.png
index 2e5999e..ce1fa22 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/5478250-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/5478250-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/5601583-1-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/5601583-1-expected.png
index 48cff63..b426585 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/5601583-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/5601583-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/bad-placeholder-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/bad-placeholder-expected.png
index 7f21a9c..5479e0f 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/bad-placeholder-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/bad-placeholder-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/copy-standalone-image-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/copy-standalone-image-expected.png
index 543524ea..34bc9a4 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/copy-standalone-image-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/copy-standalone-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png
index 14108a8..bfcdf5c 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/drag-selected-image-to-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/input-field-1-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/input-field-1-expected.png
index a5e3c30f..f78a9be 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/input-field-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/input-field-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-blockquote-after-blockquote-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-blockquote-after-blockquote-expected.png
index 5434d792..276fca7 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-blockquote-after-blockquote-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-blockquote-after-blockquote-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png
index e72e371..a0049e98 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-001-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-001-expected.png
index 44a62f4..ab9ac0d 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-001-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-002-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-002-expected.png
index 44a62f4..ab9ac0d 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-002-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-003-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-003-expected.png
index 44a62f4..ab9ac0d 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-003-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-004-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-004-expected.png
index 44a62f4..ab9ac0d 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-004-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-004-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-005-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-005-expected.png
index 44a62f4..ab9ac0d 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-005-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-line-endings-005-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-text-at-tabspan-003-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-text-at-tabspan-003-expected.png
index 838fe586..0266cf0 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-text-at-tabspan-003-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/paste-text-at-tabspan-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/pasting-tabs-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/pasting-tabs-expected.png
index 932ba6b..4c608c5 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/pasting-tabs-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/pasting-tabs-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/quirks-mode-br-1-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/quirks-mode-br-1-expected.png
index ddd4109..031f890 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/quirks-mode-br-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/quirks-mode-br-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/pasteboard/styled-element-markup-expected.png b/third_party/blink/web_tests/platform/win/editing/pasteboard/styled-element-markup-expected.png
index 754f853..1a34ba7 100644
--- a/third_party/blink/web_tests/platform/win/editing/pasteboard/styled-element-markup-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/pasteboard/styled-element-markup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/5099303-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/5099303-expected.png
index 0c16f955..b3d434e 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/5099303-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/5099303-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/5195166-2-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/5195166-2-expected.png
index 39fdf35..19c5b8b 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/5195166-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/5195166-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/6476-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/6476-expected.png
index fe5421c..54aac6d 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/6476-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/6476-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-2-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-2-expected.png
index b718838..b7003f3 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-2-left-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-2-left-expected.png
index 3cfa390..98b1381c 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-2-left-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-2-left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-expected.png
index f0952b8..aba612ba 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-right-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-right-expected.png
index 27e465e..142eb8d3 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-right-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/caret-ltr-right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-2-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-2-expected.png
index c09e543..7a22f25f 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-2-left-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-2-left-expected.png
index eead280..98eb2f1ad 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-2-left-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-2-left-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-expected.png
index 8462902..ec96dec6 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-right-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-right-expected.png
index 20b3411..3444f8d 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-right-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/caret-rtl-right-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/click-start-of-line-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/click-start-of-line-expected.png
index 08da0b3..3ddcec2a3 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/click-start-of-line-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/click-start-of-line-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/contains-boundaries-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/contains-boundaries-expected.png
index 981a60f1..9a68607 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/contains-boundaries-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/contains-boundaries-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/contenteditable-click-inside-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/contenteditable-click-inside-expected.png
index 76b4860..9d8b8d6 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/contenteditable-click-inside-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/contenteditable-click-inside-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/extend-selection-bidi-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/extend-selection-bidi-expected.png
index e159b73..48870b8 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/extend-selection-bidi-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/extend-selection-bidi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/leave-requested-block-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/leave-requested-block-expected.png
index 7065b14..8d0d7a08 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/leave-requested-block-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/leave-requested-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/move-backwords-by-word-001-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/move-backwords-by-word-001-expected.png
index c00de72..2d60be03 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/move-backwords-by-word-001-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/move-backwords-by-word-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/move-by-line-002-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/move-by-line-002-expected.png
index 78d5645..da2dc9a 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/move-by-line-002-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/move-by-line-002-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/move-by-sentence-001-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/move-by-sentence-001-expected.png
index 61293fd..ff6a050 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/move-by-sentence-001-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/move-by-sentence-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/move-past-trailing-space-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/move-past-trailing-space-expected.png
index 865e455..2bd6b573 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/move-past-trailing-space-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/move-past-trailing-space-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/previous-line-position-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/previous-line-position-expected.png
index d94329a..ca354c7 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/previous-line-position-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/previous-line-position-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-1-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-1-expected.png
index 6b111b3..6a47b5f 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-2-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-2-expected.png
index 1bfa9cbb..62ed8c06 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-3-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-3-expected.png
index ebefac1..bd89c14 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-3-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/replaced-boundaries-3-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/select-box-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/select-box-expected.png
index 2edf8cfb..9313574 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/select-box-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/select-box-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/select-element-paragraph-boundary-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/select-element-paragraph-boundary-expected.png
index c831b82..7177d7aa 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/select-element-paragraph-boundary-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/select-element-paragraph-boundary-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/select-missing-image-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/select-missing-image-expected.png
index aed3f80..f206014d 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/select-missing-image-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/select-missing-image-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/triple-click-in-pre-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/triple-click-in-pre-expected.png
index 261857f..3cf8c0e 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/triple-click-in-pre-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/triple-click-in-pre-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/wrapped-line-caret-1-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/wrapped-line-caret-1-expected.png
index a30c703..b09c5cc 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/wrapped-line-caret-1-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/wrapped-line-caret-1-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/selection/wrapped-line-caret-2-expected.png b/third_party/blink/web_tests/platform/win/editing/selection/wrapped-line-caret-2-expected.png
index 5dfc8c2..f0b5028e 100644
--- a/third_party/blink/web_tests/platform/win/editing/selection/wrapped-line-caret-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/selection/wrapped-line-caret-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/style/4916887-expected.png b/third_party/blink/web_tests/platform/win/editing/style/4916887-expected.png
index a785d82..21fe771 100644
--- a/third_party/blink/web_tests/platform/win/editing/style/4916887-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/style/4916887-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/style/5065910-expected.png b/third_party/blink/web_tests/platform/win/editing/style/5065910-expected.png
index daa7314..db15b80 100644
--- a/third_party/blink/web_tests/platform/win/editing/style/5065910-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/style/5065910-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/style/5084241-expected.png b/third_party/blink/web_tests/platform/win/editing/style/5084241-expected.png
index 99ac039..af5c24f 100644
--- a/third_party/blink/web_tests/platform/win/editing/style/5084241-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/style/5084241-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/style/5228141-expected.png b/third_party/blink/web_tests/platform/win/editing/style/5228141-expected.png
index 2a0444a..521e25f5 100644
--- a/third_party/blink/web_tests/platform/win/editing/style/5228141-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/style/5228141-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/style/5279521-expected.png b/third_party/blink/web_tests/platform/win/editing/style/5279521-expected.png
index f38f46b..b2fd9e3f 100644
--- a/third_party/blink/web_tests/platform/win/editing/style/5279521-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/style/5279521-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/style/block-styles-007-expected.png b/third_party/blink/web_tests/platform/win/editing/style/block-styles-007-expected.png
index 7343583..80d98d0 100644
--- a/third_party/blink/web_tests/platform/win/editing/style/block-styles-007-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/style/block-styles-007-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/style/highlight-expected.png b/third_party/blink/web_tests/platform/win/editing/style/highlight-expected.png
index dc39a42..6221c47 100644
--- a/third_party/blink/web_tests/platform/win/editing/style/highlight-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/style/highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-delete-001-expected.png b/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-delete-001-expected.png
index d449cb3..90f4956 100644
--- a/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-delete-001-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-delete-001-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-delete-003-expected.png b/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-delete-003-expected.png
index a44a2f8..e214804 100644
--- a/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-delete-003-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-delete-003-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-type-after-expected.png b/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-type-after-expected.png
index 737e07d..39ada64 100644
--- a/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-type-after-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-type-after-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-type-before-expected.png b/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-type-before-expected.png
index 2d825d43..0d06be4 100644
--- a/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-type-before-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/unsupported-content/list-type-before-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/unsupported-content/table-type-after-expected.png b/third_party/blink/web_tests/platform/win/editing/unsupported-content/table-type-after-expected.png
index cef4e4a5..257bec7 100644
--- a/third_party/blink/web_tests/platform/win/editing/unsupported-content/table-type-after-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/unsupported-content/table-type-after-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/editing/unsupported-content/table-type-before-expected.png b/third_party/blink/web_tests/platform/win/editing/unsupported-content/table-type-before-expected.png
index db77879e..8ed2d5b 100644
--- a/third_party/blink/web_tests/platform/win/editing/unsupported-content/table-type-before-expected.png
+++ b/third_party/blink/web_tests/platform/win/editing/unsupported-content/table-type-before-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/backgrounds/background-svg-scaling-expected.png b/third_party/blink/web_tests/platform/win/fast/backgrounds/background-svg-scaling-expected.png
index 8bbd523..e43aef8 100644
--- a/third_party/blink/web_tests/platform/win/fast/backgrounds/background-svg-scaling-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/backgrounds/background-svg-scaling-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-continuations-expected.png b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-continuations-expected.png
index 173bdaba..4d69b45 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-continuations-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-continuations-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-detached-expected.png b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-detached-expected.png
index ea26655..1d9ea8a 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-detached-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-detached-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-multiline-expected.png b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-multiline-expected.png
index 50ff4990..4ad5bbf 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-multiline-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-multiline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-multiline-writingmode-vertical-expected.png b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-multiline-writingmode-vertical-expected.png
index f9cdc58..3a9a760a 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-multiline-writingmode-vertical-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-multiline-writingmode-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-color-expected.png b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-color-expected.png
index 077a275b..23d466b 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-color-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-offset-expected.png b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-offset-expected.png
index cf6cb1d..5b79e8e 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-offset-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-offset-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-width-expected.png b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-width-expected.png
index 9ac4c19..6d2863c9 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-width-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/focus-ring-outline-width-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/ignore-empty-focus-ring-rects-expected.png b/third_party/blink/web_tests/platform/win/fast/css/ignore-empty-focus-ring-rects-expected.png
index f542018..f1474e9 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/ignore-empty-focus-ring-rects-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/ignore-empty-focus-ring-rects-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/outline-auto-empty-rects-expected.png b/third_party/blink/web_tests/platform/win/fast/css/outline-auto-empty-rects-expected.png
index 44bbbff..ba9a2e8 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/outline-auto-empty-rects-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/outline-auto-empty-rects-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/css/outline-auto-location-expected.png b/third_party/blink/web_tests/platform/win/fast/css/outline-auto-location-expected.png
index ffb37c0..7663337 100644
--- a/third_party/blink/web_tests/platform/win/fast/css/outline-auto-location-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/css/outline-auto-location-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/dom/52776-expected.png b/third_party/blink/web_tests/platform/win/fast/dom/52776-expected.png
index 745540df..3913cc5 100644
--- a/third_party/blink/web_tests/platform/win/fast/dom/52776-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/dom/52776-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/dom/focus-contenteditable-expected.png b/third_party/blink/web_tests/platform/win/fast/dom/focus-contenteditable-expected.png
index 52c185e..56f1cd7 100644
--- a/third_party/blink/web_tests/platform/win/fast/dom/focus-contenteditable-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/dom/focus-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/events/reveal-link-when-focused-expected.png b/third_party/blink/web_tests/platform/win/fast/events/reveal-link-when-focused-expected.png
index 8a3696f..7149f78 100644
--- a/third_party/blink/web_tests/platform/win/fast/events/reveal-link-when-focused-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/events/reveal-link-when-focused-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-paint-order-expected.png
index 6c13269..3106e77a 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-paint-order-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/input-placeholder-paint-order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-outline-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-outline-expected.png
index 8518a76..0f6f155 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-outline-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/text/textfield-outline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
index d706709..7150d3b 100644
--- a/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/hidpi/focus-rings-expected.png b/third_party/blink/web_tests/platform/win/fast/hidpi/focus-rings-expected.png
index 0bbf160..35b1bfe 100644
--- a/third_party/blink/web_tests/platform/win/fast/hidpi/focus-rings-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/hidpi/focus-rings-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/inline/25277-2-expected.png b/third_party/blink/web_tests/platform/win/fast/inline/25277-2-expected.png
index 205cbbc..e54c774 100644
--- a/third_party/blink/web_tests/platform/win/fast/inline/25277-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/inline/25277-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/inline/25277-expected.png b/third_party/blink/web_tests/platform/win/fast/inline/25277-expected.png
index 205cbbc..e54c774 100644
--- a/third_party/blink/web_tests/platform/win/fast/inline/25277-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/inline/25277-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-expected.png b/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-expected.png
index acaf2a5..ed9dee31 100644
--- a/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-with-layers-2-expected.png b/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-with-layers-2-expected.png
index e61fe5f9..4d1e4c98 100644
--- a/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-with-layers-2-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-with-layers-2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-with-layers-expected.png b/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-with-layers-expected.png
index a4713b8..f250101a 100644
--- a/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-with-layers-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/inline/continuation-outlines-with-layers-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/inline/inline-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/fast/inline/inline-focus-ring-expected.png
index 3fea33a..4a4148e 100644
--- a/third_party/blink/web_tests/platform/win/fast/inline/inline-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/inline/inline-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-focus-ring-expected.png
index a9318de..333ce0c6 100644
--- a/third_party/blink/web_tests/platform/win/fast/overflow/overflow-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/overflow/overflow-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/fast/table/table-row-focus-ring-paint-expected.png b/third_party/blink/web_tests/platform/win/fast/table/table-row-focus-ring-paint-expected.png
index 3ff3e4f..4fafa80 100644
--- a/third_party/blink/web_tests/platform/win/fast/table/table-row-focus-ring-paint-expected.png
+++ b/third_party/blink/web_tests/platform/win/fast/table/table-row-focus-ring-paint-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-1-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-1-and-click-expected.png
index 406c1d0..73bbd9f 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-1-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-1-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-10-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-10-and-click-expected.png
index f33d4ce0..1dce990 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-10-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-10-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-2-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-2-and-click-expected.png
index 1d5821d..25e150ed 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-2-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-2-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-3-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-3-and-click-expected.png
index b8e54bb..1f08ccb 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-3-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-3-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-4-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-4-and-click-expected.png
index b706406..e7cac614 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-4-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-4-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-5-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-5-and-click-expected.png
index eabedfe..4beb78f 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-5-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-5-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-6-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-6-and-click-expected.png
index f33d4ce0..1dce990 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-6-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-6-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-7-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-7-and-click-expected.png
index f33d4ce0..1dce990 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-7-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-7-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-8-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-8-and-click-expected.png
index 828e2a4..dbdd4c7 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-8-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-8-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-9-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-9-and-click-expected.png
index d038215b..fec28cba 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-9-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-add-summary-9-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-1-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-1-and-click-expected.png
index fb57785..771a7e4 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-1-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-1-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-2-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-2-and-click-expected.png
index 2da72af..76a7661 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-2-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-2-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-3-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-3-and-click-expected.png
index f89f0b0..98e2e37 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-3-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-3-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-4-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-4-and-click-expected.png
index 35d0bcd..0ce36680 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-4-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-4-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-5-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-5-and-click-expected.png
index db340ae..a4b89872 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-5-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-5-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-6-and-click-expected.png b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-6-and-click-expected.png
index a3a30bbe9..1274063 100644
--- a/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-6-and-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/html/details_summary/details-remove-summary-6-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-circle-focus-ring-expected.png
index 0af1e19..208906ad 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-expected.png
index fb5e8dc..c88bb83 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-in-positioned-container-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-in-positioned-container-expected.png
index c20213c..69d9c77 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-in-positioned-container-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-in-positioned-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-expected.png
index 045b593..70eafb5 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
index a372e35e..04f429ff 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
index 4a1a4b2..0d9cd9d 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-with-paint-root-offset-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-with-paint-root-offset-expected.png
index f6aa43e..a2e00a6 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-with-paint-root-offset-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-with-paint-root-offset-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-with-scale-transform-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-with-scale-transform-expected.png
index 704dbe4..db1824a0 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-with-scale-transform-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-with-scale-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-zoom-expected.png
index af0e4b2..804d9e29 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-zoom-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-overflowing-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-overflowing-circle-focus-ring-expected.png
index 56d050b..5c9990c 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-overflowing-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-overflowing-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-overflowing-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-overflowing-polygon-focus-ring-expected.png
index f23379f..e0510edd 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-overflowing-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-overflowing-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/images/imagemap-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/images/imagemap-polygon-focus-ring-expected.png
index 4f3ea68..1b4954f 100644
--- a/third_party/blink/web_tests/platform/win/images/imagemap-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/images/imagemap-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/4776765-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/4776765-expected.png
index 34d0c0c..4125c2c 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/4776765-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/4776765-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/4776765-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/4776765-expected.txt
index 353d546..09eb127 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/4776765-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/4776765-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutBlockFlow DIV",
-          "rect": [7, 43, 786, 62],
+          "rect": [6, 42, 788, 64],
           "reason": "geometry"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/clip/caret-ancestor-clip-change-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/clip/caret-ancestor-clip-change-expected.txt
index dfe13e7..b5cf3c4b 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/clip/caret-ancestor-clip-change-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/clip/caret-ancestor-clip-change-expected.txt
@@ -8,12 +8,12 @@
       "paintInvalidations": [
         {
           "object": "LayoutNGBlockFlow DIV",
-          "rect": [8, 58, 105, 62],
+          "rect": [8, 58, 106, 63],
           "reason": "incremental"
         },
         {
           "object": "LayoutTextControl INPUT id='target'",
-          "rect": [8, 58, 105, 62],
+          "rect": [8, 58, 106, 63],
           "reason": "incremental"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/delete-into-nested-block-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/delete-into-nested-block-expected.png
index 5f2b794..6e1003f 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/delete-into-nested-block-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/delete-into-nested-block-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png
index 37050d9..27b68c7 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt
index 8216fbe..e03a6504 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutSlider INPUT",
-          "rect": [9, 9, 131, 18],
+          "rect": [8, 8, 133, 20],
           "reason": "subtree"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/slider-thumb-float-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/slider-thumb-float-expected.png
index 7057a68..e78098d 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/slider-thumb-float-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/slider-thumb-float-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png
index e5b8d5a..aeb465b 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
index 1deb4c8c..b9274879 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt
@@ -8,12 +8,12 @@
       "paintInvalidations": [
         {
           "object": "LayoutButton INPUT",
-          "rect": [7, 7, 59, 24],
+          "rect": [6, 6, 61, 26],
           "reason": "subtree"
         },
         {
           "object": "LayoutButton INPUT",
-          "rect": [7, 7, 59, 24],
+          "rect": [6, 6, 61, 26],
           "reason": "chunk appeared"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/invalidate-caret-before-text-node-update-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/invalidate-caret-before-text-node-update-expected.png
index 0fb345c..fdc8bf8 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/invalidate-caret-before-text-node-update-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/invalidate-caret-before-text-node-update-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/invalidate-caret-before-text-node-update-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/invalidate-caret-before-text-node-update-expected.txt
index 8f17f59..596d17b 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/invalidate-caret-before-text-node-update-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/invalidate-caret-before-text-node-update-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutBlockFlow DIV id='root' class='editing'",
-          "rect": [7, 7, 786, 20],
+          "rect": [6, 6, 788, 22],
           "reason": "style change"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-continuations-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-continuations-expected.txt
index dee1b82..e28e0ff57 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-continuations-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-continuations-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "NGPhysicalBoxFragment LayoutInline SPAN id='outer'",
-          "rect": [7, 87, 85, 22],
+          "rect": [6, 86, 87, 24],
           "reason": "disappeared"
         }
       ]
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-enable-continuations-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-enable-continuations-expected.png
index 0c781fc..36c205b 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-enable-continuations-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-enable-continuations-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-enable-continuations-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-enable-continuations-expected.txt
index 8c51c130..5f79572 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-enable-continuations-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-enable-continuations-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "NGPhysicalBoxFragment LayoutInline SPAN id='outer'",
-          "rect": [7, 87, 85, 22],
+          "rect": [6, 86, 87, 24],
           "reason": "appeared"
         }
       ]
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-layers-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-layers-expected.png
index ffd7761..48c75ef 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-layers-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-layers-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-expected.png
index 02e9d72..964514b 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-on-continuation-move-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-on-continuation-move-expected.txt
index ae1f713..7d086c3 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-on-continuation-move-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-on-continuation-move-expected.txt
@@ -8,12 +8,12 @@
       "paintInvalidations": [
         {
           "object": "NGPhysicalBoxFragment LayoutInline SPAN",
-          "rect": [207, 231, 102, 102],
+          "rect": [206, 230, 104, 104],
           "reason": "outline"
         },
         {
           "object": "NGPhysicalBoxFragment LayoutInline SPAN",
-          "rect": [7, 231, 102, 102],
+          "rect": [6, 230, 104, 104],
           "reason": "outline"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-on-inline-continuation-move-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-on-inline-continuation-move-expected.txt
index 255c4d5..1b6207f 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-on-inline-continuation-move-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/focus-ring-on-inline-continuation-move-expected.txt
@@ -8,12 +8,12 @@
       "paintInvalidations": [
         {
           "object": "NGPhysicalBoxFragment LayoutInline SPAN",
-          "rect": [7, 7, 102, 106],
+          "rect": [6, 6, 104, 108],
           "reason": "outline"
         },
         {
           "object": "NGPhysicalBoxFragment LayoutInline SPAN",
-          "rect": [7, 87, 102, 102],
+          "rect": [6, 86, 104, 104],
           "reason": "outline"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/outline-become-affected-by-descendant-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/outline-become-affected-by-descendant-expected.txt
index e965c9d..41d42faf 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/outline-become-affected-by-descendant-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/outline-become-affected-by-descendant-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutNGBlockFlow DIV id='outline'",
-          "rect": [7, 7, 152, 102],
+          "rect": [6, 6, 154, 104],
           "reason": "outline"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/outline-become-not-affected-by-descendant-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/outline-become-not-affected-by-descendant-expected.txt
index 07deeb1..6427e9ee 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/outline/outline-become-not-affected-by-descendant-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/outline/outline-become-not-affected-by-descendant-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutNGBlockFlow DIV id='outline'",
-          "rect": [7, 7, 152, 102],
+          "rect": [6, 6, 154, 104],
           "reason": "geometry"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt
index b6aa8c4..0ba430c 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/invalidate-caret-in-composited-scrolling-container-expected.txt
@@ -8,13 +8,13 @@
     },
     {
       "name": "LayoutTextControl INPUT id='root'",
-      "position": [-1, -1],
-      "bounds": [70, 24],
+      "position": [-2, -2],
+      "bounds": [72, 26],
       "backgroundColor": "#FFFFFF",
       "paintInvalidations": [
         {
           "object": "LayoutTextControl INPUT id='root'",
-          "rect": [0, 0, 70, 24],
+          "rect": [0, 0, 72, 26],
           "reason": "full layer"
         },
         {
@@ -24,7 +24,7 @@
         },
         {
           "object": "Caret",
-          "rect": [65, 4, 1, 16],
+          "rect": [66, 5, 1, 16],
           "reason": "caret"
         }
       ],
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt
index b6aa8c4..0ba430c 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/scroll/invalidate-caret-in-non-composited-scrolling-container-expected.txt
@@ -8,13 +8,13 @@
     },
     {
       "name": "LayoutTextControl INPUT id='root'",
-      "position": [-1, -1],
-      "bounds": [70, 24],
+      "position": [-2, -2],
+      "bounds": [72, 26],
       "backgroundColor": "#FFFFFF",
       "paintInvalidations": [
         {
           "object": "LayoutTextControl INPUT id='root'",
-          "rect": [0, 0, 70, 24],
+          "rect": [0, 0, 72, 26],
           "reason": "full layer"
         },
         {
@@ -24,7 +24,7 @@
         },
         {
           "object": "Caret",
-          "rect": [65, 4, 1, 16],
+          "rect": [66, 5, 1, 16],
           "reason": "caret"
         }
       ],
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/focus-element-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/focus-element-expected.png
index 8d2fee6..ccdfba5 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/focus-element-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/focus-element-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/focus-element-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/focus-element-expected.txt
index 60bde34..763aba7f 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/focus-element-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/focus-element-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutSVGRect rect id='rect'",
-          "rect": [57, 57, 52, 52],
+          "rect": [56, 56, 54, 54],
           "reason": "style change"
         }
       ]
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 1368e0d..fd7df3e9 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
index bbc867d2..c2ba0403 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
@@ -18,7 +18,7 @@
         },
         {
           "object": "NGPhysicalBoxFragment LayoutInline A",
-          "rect": [384, 1011, 46, 21],
+          "rect": [383, 1010, 48, 23],
           "reason": "appeared"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/svg/transform-focus-ring-repaint-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/transform-focus-ring-repaint-expected.txt
new file mode 100644
index 0000000..fd365f4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/svg/transform-focus-ring-repaint-expected.txt
@@ -0,0 +1,48 @@
+{
+  "layers": [
+    {
+      "name": "Scrolling Contents Layer",
+      "bounds": [800, 600],
+      "contentsOpaque": true,
+      "backgroundColor": "#FFFFFF"
+    },
+    {
+      "name": "LayoutNGBlockFlow (positioned) DIV id='target'",
+      "position": [-2, -2],
+      "bounds": [204, 204],
+      "backfaceVisibility": "hidden",
+      "backgroundColor": "#FFFF00",
+      "paintInvalidations": [
+        {
+          "object": "LayoutNGBlockFlow (positioned) DIV id='target'",
+          "rect": [0, 0, 204, 204],
+          "reason": "full layer"
+        },
+        {
+          "object": "LayoutNGBlockFlow (positioned) DIV id='target'",
+          "rect": [0, 0, 200, 200],
+          "reason": "full layer"
+        }
+      ],
+      "transform": 1
+    },
+    {
+      "name": "Squashing Layer (first squashed layer: LayoutNGBlockFlow (positioned) DIV)",
+      "position": [100, 100],
+      "bounds": [300, 440],
+      "transform": 1
+    }
+  ],
+  "transforms": [
+    {
+      "id": 1,
+      "transform": [
+        [1, 0, 0, 0],
+        [0, 1, 0, 0],
+        [0, 0, 1, 0],
+        [8, 58, 0, 1]
+      ]
+    }
+  ]
+}
+
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/table/caret-contenteditable-content-after-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/table/caret-contenteditable-content-after-expected.png
index 6594da91..859136d 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/table/caret-contenteditable-content-after-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/table/caret-contenteditable-content-after-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/table/caret-contenteditable-content-after-expected.txt b/third_party/blink/web_tests/platform/win/paint/invalidation/table/caret-contenteditable-content-after-expected.txt
index 84f9747..ff7a984f 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/table/caret-contenteditable-content-after-expected.txt
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/table/caret-contenteditable-content-after-expected.txt
@@ -8,22 +8,22 @@
       "paintInvalidations": [
         {
           "object": "LayoutBlockFlow DIV id='editor'",
-          "rect": [7, 47, 786, 22],
+          "rect": [6, 46, 788, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutBlockFlow DIV id='editor'",
-          "rect": [7, 47, 786, 22],
+          "rect": [6, 46, 788, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutBlockFlow DIV id='editor'",
-          "rect": [7, 47, 786, 22],
+          "rect": [6, 46, 788, 24],
           "reason": "geometry"
         },
         {
           "object": "LayoutBlockFlow DIV id='editor'",
-          "rect": [7, 47, 786, 22],
+          "rect": [6, 46, 788, 24],
           "reason": "appeared"
         },
         {
diff --git a/third_party/blink/web_tests/platform/win/paint/invalidation/transform/caret-with-transformation-expected.png b/third_party/blink/web_tests/platform/win/paint/invalidation/transform/caret-with-transformation-expected.png
index 1bf8481..b3ad373 100644
--- a/third_party/blink/web_tests/platform/win/paint/invalidation/transform/caret-with-transformation-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/invalidation/transform/caret-with-transformation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-expected.png b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-expected.png
index 5924594..3230921c 100644
--- a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-font-64px-expected.png b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-font-64px-expected.png
index 3c3a340a..127379a 100644
--- a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-font-64px-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-font-64px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-font-8px-expected.png b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-font-8px-expected.png
index 80db476..0340037 100644
--- a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-font-8px-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-font-8px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-125-expected.png b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-125-expected.png
index f00b8fb..a3b996b 100644
--- a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-125-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-150-expected.png b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-150-expected.png
index 79cb6a2..7eca956 100644
--- a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-150-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-175-expected.png b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-175-expected.png
index c3447fa..efe18bb 100644
--- a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-175-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-175-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-200-expected.png b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-200-expected.png
index 32fea82..7feea42 100644
--- a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-200-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-2000-expected.png b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-2000-expected.png
index 7642fc25..4ab3990 100644
--- a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-2000-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-2000-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-250-expected.png b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-250-expected.png
index a81c833..9b430f34 100644
--- a/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-250-expected.png
+++ b/third_party/blink/web_tests/platform/win/paint/markers/document-markers-zoom-250-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/as-image/image-respects-deviceScaleFactor-expected.png b/third_party/blink/web_tests/platform/win/svg/as-image/image-respects-deviceScaleFactor-expected.png
index 20407b6..4aa17cf 100644
--- a/third_party/blink/web_tests/platform/win/svg/as-image/image-respects-deviceScaleFactor-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/as-image/image-respects-deviceScaleFactor-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/focus-ring-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/focus-ring-expected.png
index e5271c4..5f7fe4f 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/svg/custom/focus-ring-text-expected.png b/third_party/blink/web_tests/platform/win/svg/custom/focus-ring-text-expected.png
index f1cfd2b..d179531 100644
--- a/third_party/blink/web_tests/platform/win/svg/custom/focus-ring-text-expected.png
+++ b/third_party/blink/web_tests/platform/win/svg/custom/focus-ring-text-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/transforms/transformed-caret-expected.png b/third_party/blink/web_tests/platform/win/transforms/transformed-caret-expected.png
index 3a1b9d3..d825e8c 100644
--- a/third_party/blink/web_tests/platform/win/transforms/transformed-caret-expected.png
+++ b/third_party/blink/web_tests/platform/win/transforms/transformed-caret-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
index caa729f..76a85da 100644
--- a/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png
index 93536ba2..e1ddbce 100644
--- a/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
index 4f3f951..b2fe11c 100644
--- a/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png b/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
index 45b6389..e6f80ae3 100644
--- a/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png b/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
index 0c7aa00..af60cc9 100644
--- a/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
new file mode 100644
index 0000000..b35834b
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
new file mode 100644
index 0000000..80bdae4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
index 53e7683..fc30771 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..7b57b36
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
new file mode 100644
index 0000000..bba0f55
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index b4c099b..a034bc5 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
new file mode 100644
index 0000000..c8136af
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
new file mode 100644
index 0000000..ef7cc54
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
new file mode 100644
index 0000000..5c1cfa8b
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
similarity index 68%
rename from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
rename to third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index c84cbdd..f69b0a7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
new file mode 100644
index 0000000..29effb3e
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
new file mode 100644
index 0000000..60761d3
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
new file mode 100644
index 0000000..b0f23d4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..ce2fdaa1
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..2a5c60a1
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..e443cf4d
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..715c121
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..3c8a78d0
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index b0457aef..d3e7f5d 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
index 6dfaa5a..470ca9c 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index e6a8fe2..3ef156e 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
index 589c8a3..8a9bcb8 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
index 69d0c5d..e6e6789 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
index 923974e..880ba0b 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
index 7323fef..1b127a2 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
index 6dfaa5a..470ca9c 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
index e52d347..cd3d8aa 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
index d3c96b03..15db939 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
index 62e4cca..f45a5e9 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
index dcebf18..5643173 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index d1112112..5cf9f6a1 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
index e2f2ee7..8ac811c4 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
index d05f206..42b1f9bf5 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
index 834a396..a793d3bd 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index d80992b..82acd406 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
new file mode 100644
index 0000000..e40c00f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
new file mode 100644
index 0000000..adaa176
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
new file mode 100644
index 0000000..bdcd8d0
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
index 3225737..7bbec48 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
index 42b618a..84c57aa 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
index cb48707..1677eec 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
index c0d3008..ea79af5 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
index 210e5f02..0e8054ba 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index 19adc10..7b58e5de 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
index e96b861..72c2e297 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
index 92f8ebe..9f9f21d 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
index 6776ef2..f244968 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-down-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
index e96b861..72c2e297 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
index f0644fe..943f4ca 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
index 3f4655f..2513819 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
index 4dfe404..03956a7 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-left-keyboard-navigation-from-top-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
index 5e43cb4..f5db7957 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
index 9dbfbbd..71131460 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-right-keyboard-navigation-from-top-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
index 2a47431..5e3b372 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-left-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
index 6bd37a8c..4e4464f 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-color-well-up-keyboard-navigation-from-bottom-right-corner-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
index 5e07307..a8872bd 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hex-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
index 1e6b80ff..6b95e3c 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hsl-format-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
index 85ffe05..59136c28c 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-accelerated-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
index c959607d..1d630b18 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
index c959607d..1d630b18 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-drag-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
index 758ce17..8dd87156 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-keyboard-navigation-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
index dbf011f4..7109590 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-left-edge-zero-hue-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
index 47407a4..aab15fd 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-hue-slider-right-edge-zero-hue-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
index 6b94fb1..39e516c3 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-imperfect-match-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
index b985cc1..c1c05531 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-manual-color-change-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
index 87be1f6..27b1eb5 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-set-value-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
index f989b7a..9f2da970 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
index edbf519..a19b86f3 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
index c8f313e..d8cddb18 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
index 6b39669..2567ebc5 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-empty-list-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
index cf6f5040..fe646b50 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-one-row-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
index 57bb5b33..d38c389 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-two-rows-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
index 225334b..fadab2e5 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-value-attribute-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png
index 369d1bd..e7d9d69 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
index a18a4b0..59c882c3 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/color/color-suggestion-picker-appearance-zoom200-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
index 769a96b..63b6472 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/focus-rect/checkbox-zoom-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/focus-rect/checkbox-zoom-focus-ring-expected.png
new file mode 100644
index 0000000..c3a6849
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/focus-rect/checkbox-zoom-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/focus-rect/focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/focus-rect/focus-ring-zoom-expected.png
new file mode 100644
index 0000000..6123378
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/focus-rect/focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
index 631cc0c..51f8b5b 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
index fa584477..40b2daad 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index e08dfec..6a3fc93 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
index e6b9354..1a8fffd2 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-alt-f8-expected.png
index d80992b..82acd406 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-alt-f8-twice-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
index d80992b..82acd406 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-alt-f8-twice-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
index 639312e..85ed8d2 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
index 8a739bd..a68fa09 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
index e58188c..79dba2e2 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
index 47466e4..c2c01c1 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-mismatched_glyph-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
index d80992b..82acd406 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-mismatched_glyph-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
index 1f3834f..d434075 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
index 8e2b79c..f5d999c 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-12-AM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
index 52e0d94..7fa0ccf7 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-12-PM-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
index 561cebcb..ee4b373 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-24-hour-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
index 6a0b344d..b470470a 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-arrowdown-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
index 3d4112be..766b2c7 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-arrowup-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
index 21ed4c8..79c04bd 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
index 8a2d80fb..220c134 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-milliseconds-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
index 282e845..28e8dbb 100644
--- a/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/controls-refresh/time-picker/time-picker-appearance-seconds-pm-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png
index 3c75d67..ce7a020f 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png
index 94ac255..2997287 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png
index 8f58f48..e80b560 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png
index 0b2b524..7ffaa08 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
index 36691a2f..80dc4e5 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
index 5b6e63e..b4cacfb 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png
index efca983..a46c967 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png
index 425e555e..eeb3ef3 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png
index 7e99a0be..7170f95 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png
index b3756a6..77f6ecb0 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png
index 4274da1..c37200c 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png
index 8414dc3..ac082b12 100644
--- a/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/form-controls-refresh-disabled/fast/forms/text/input-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/win/virtual/form-controls-refresh-disabled/fast/forms/text/input-placeholder-paint-order-expected.png
new file mode 100644
index 0000000..6c13269
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/form-controls-refresh-disabled/fast/forms/text/input-placeholder-paint-order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/form-controls-refresh-disabled/fast/forms/text/textfield-outline-expected.png b/third_party/blink/web_tests/platform/win/virtual/form-controls-refresh-disabled/fast/forms/text/textfield-outline-expected.png
new file mode 100644
index 0000000..8518a76
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/form-controls-refresh-disabled/fast/forms/text/textfield-outline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/form-controls-refresh-disabled/fast/forms/textarea/textarea-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/win/virtual/form-controls-refresh-disabled/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
new file mode 100644
index 0000000..d706709
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/form-controls-refresh-disabled/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png
index 928fce3..4ffe6080 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png
index c4f06e4..f70900e 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png
index 922e4a4..ab27d45 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png
index 15991e01..b427c7d 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
index 2656621..dda041f 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png
index c415917..0f6f0c6 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png
index a2b51547..47ed400 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png
index 1cd6e7a6..a64613f 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png
index 80d3f5d..2c8b197 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png
index 0e2ee09f..eacd08b 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png
index 213f88c..c698a08 100644
--- a/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png b/third_party/blink/web_tests/platform/win/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
new file mode 100644
index 0000000..7149f78
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
index c8ddef9..d08bbbb 100644
--- a/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
index fb11c48..8c20c94 100644
--- a/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
index 328dc8f..fa127e6 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
index 9b4ea6c..c44af57 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
index 38a1413..63605020 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png
index e4f0b3b..f95ee41 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
index 1083dc32..fa4c58a4 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
index 33b91c7..65b02c6 100644
--- a/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-disabled-expected.png b/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-disabled-expected.png
index edea03e..f82533a 100644
--- a/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-disabled-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-disabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-enabled-expected.png b/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-enabled-expected.png
index b9ccdc8..6d82ae9 100644
--- a/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-enabled-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-enabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png b/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png
index 2d1d84b..aba2821 100644
--- a/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png
index 0e02c686..8409c85 100644
--- a/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png
index 1b43ae5..e6504528 100644
--- a/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png
index 6baf253..cf43f7b 100644
--- a/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png
index 94dd979..0d401a9 100644
--- a/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/delete-hard-break-character-expected.png b/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/delete-hard-break-character-expected.png
index 4152ad2..5718486 100644
--- a/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/delete-hard-break-character-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/delete-hard-break-character-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/rtl-caret-expected.png b/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/rtl-caret-expected.png
index e1dc046..9a81d1a1 100644
--- a/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/rtl-caret-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/rtl-caret-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png b/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png
index 4aeadb48..950294e5 100644
--- a/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/fast/dom/52776-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/fast/dom/52776-expected.png
new file mode 100644
index 0000000..3913cc5
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/fast/dom/52776-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/fast/dom/focus-contenteditable-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/fast/dom/focus-contenteditable-expected.png
new file mode 100644
index 0000000..56f1cd7
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/fast/dom/focus-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png
index ef426e5..73bbd9f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-10-and-click-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-10-and-click-expected.png
index ef426e5..1dce990 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-10-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-2-and-click-expected.png
similarity index 73%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-2-and-click-expected.png
index b19ef2d5..25e150ed 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-2-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-3-and-click-expected.png
similarity index 69%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-3-and-click-expected.png
index 7912dfd..1f08ccb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-3-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-4-and-click-expected.png
similarity index 68%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-4-and-click-expected.png
index 527065b..e7cac614 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-4-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-5-and-click-expected.png
similarity index 68%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-5-and-click-expected.png
index a3c2b66e..4beb78f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-5-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-6-and-click-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-6-and-click-expected.png
index ef426e5..1dce990 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-6-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-7-and-click-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-7-and-click-expected.png
index ef426e5..1dce990 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-7-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-8-and-click-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-8-and-click-expected.png
index ef426e5..dbdd4c7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-8-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-9-and-click-expected.png
similarity index 74%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-9-and-click-expected.png
index 7912dfd..fec28cba 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-9-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-1-and-click-expected.png
similarity index 76%
rename from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
rename to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-1-and-click-expected.png
index 527065b..771a7e4 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-1-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-2-and-click-expected.png
similarity index 73%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-2-and-click-expected.png
index 7912dfd..76a7661 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-2-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-3-and-click-expected.png
similarity index 68%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-3-and-click-expected.png
index ef426e5..98e2e37 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-3-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-4-and-click-expected.png
similarity index 75%
rename from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
rename to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-4-and-click-expected.png
index a3c2b66e..0ce36680 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-4-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-5-and-click-expected.png
similarity index 71%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
copy to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-5-and-click-expected.png
index a3c2b66e..a4b89872 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-5-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-6-and-click-expected.png
similarity index 74%
rename from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
rename to third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-6-and-click-expected.png
index 7912dfd..1274063 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/win/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-6-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/custom-elements/form-validation-bubble-appearance-expected.png b/third_party/blink/web_tests/platform/win7/custom-elements/form-validation-bubble-appearance-expected.png
index b0639f6..2cb858f 100644
--- a/third_party/blink/web_tests/platform/win7/custom-elements/form-validation-bubble-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/custom-elements/form-validation-bubble-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/blink/web_tests/platform/win7/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
index 9f5f13b..aab0d8d 100644
--- a/third_party/blink/web_tests/platform/win7/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
+++ b/third_party/blink/web_tests/platform/win7/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
index 869fd52..02a2b4e 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..e1ddbce
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
new file mode 100644
index 0000000..b2fe11c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/datetimelocal/datetimelocal-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png b/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
new file mode 100644
index 0000000..e6f80ae3
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png b/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
index 2e859d4..5c041a44 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/cascade/fast/forms/select-popup/popup-menu-appearance-zoom110-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
index 85305ca..af73e88e 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
index f5f23bf..92bbaf4 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
new file mode 100644
index 0000000..fc30771
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..7b57b36
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
new file mode 100644
index 0000000..bba0f55
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/color/color-suggestion-picker-appearance-with-scrollbar-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index 1f7c2586..719427c 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
index 0dad089..25ece75 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
index bd985e9..bfc27ef 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
index 0a7a472..3153171 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
similarity index 68%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
index c84cbdd..f69b0a7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-4x-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/password/password-with-reveal-button-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
new file mode 100644
index 0000000..29effb3e
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
new file mode 100644
index 0000000..60761d3
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
new file mode 100644
index 0000000..b0f23d4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..ce2fdaa1
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/date-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..2a5c60a1
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
index e518576..431a1e80 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..715c121
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/time-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
new file mode 100644
index 0000000..3c8a78d0
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/suggestion-picker/week-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
index b0457aef..d3e7f5d 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh-hc/virtual/controls-refresh/color-scheme/time-picker/time-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
index 9043cdb..4f3eead 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-coarse-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
index ef44020..e7078c0 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-disabled-previous-month-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
index a2c4ab7..c503f7e 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
index a408cbb..345f1d7 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-step-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
index 08280656..6d5eccc 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
index 59cd069..f22efacf 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/calendar-picker/date-picker-month-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
index 9043cdb..4f3eead 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
index 0de972a..247e6a2 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/calendar-picker/date-picker-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
index bff1ee3..a09c4590 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/datetimelocal-picker/datetimelocal-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
index 48e0cfa..ff18fef 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-disabled-values-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
index 2d08858..5a9595a 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
index 350e63b..7134a8e 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/month-picker/month-picker-appearance-highlight-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
index bdcba8c..3dbcb3a 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/color-scheme/suggestion-picker/month-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
index 0bae342..60f7d39 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/datetimelocal-picker/datetimelocal-picker-step2-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
index f151430..5efd148e 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-disabled-today-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
index 9a75b94..176a1a50 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
index 4051a11..a1216bc 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-value-not-in-interval-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
index 3edf8e8..9138128 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/month-picker/month-picker-appearance-zoom150-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
index b278bd7..6606e39 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/controls-refresh/time-picker/time-picker-appearance-ko-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png
new file mode 100644
index 0000000..ce7a020f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png
new file mode 100644
index 0000000..2997287
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png
new file mode 100644
index 0000000..e80b560
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-in-positioned-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png
new file mode 100644
index 0000000..7ffaa08
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
new file mode 100644
index 0000000..80dc4e5
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
new file mode 100644
index 0000000..b4cacfb
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-outline-color-not-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png
new file mode 100644
index 0000000..a46c967
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-with-paint-root-offset-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png
new file mode 100644
index 0000000..eeb3ef3
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-with-scale-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png
new file mode 100644
index 0000000..7170f95
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png
new file mode 100644
index 0000000..77f6ecb0
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-overflowing-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png
new file mode 100644
index 0000000..c37200c
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-overflowing-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png
new file mode 100644
index 0000000..ac082b12
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/exotic-color-space/images/imagemap-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/form-controls-refresh-disabled/fast/forms/text/input-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/win7/virtual/form-controls-refresh-disabled/fast/forms/text/input-placeholder-paint-order-expected.png
new file mode 100644
index 0000000..6c13269
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/form-controls-refresh-disabled/fast/forms/text/input-placeholder-paint-order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/form-controls-refresh-disabled/fast/forms/text/textfield-outline-expected.png b/third_party/blink/web_tests/platform/win7/virtual/form-controls-refresh-disabled/fast/forms/text/textfield-outline-expected.png
new file mode 100644
index 0000000..8518a76
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/form-controls-refresh-disabled/fast/forms/text/textfield-outline-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/form-controls-refresh-disabled/fast/forms/textarea/textarea-placeholder-paint-order-expected.png b/third_party/blink/web_tests/platform/win7/virtual/form-controls-refresh-disabled/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
new file mode 100644
index 0000000..d706709
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/form-controls-refresh-disabled/fast/forms/textarea/textarea-placeholder-paint-order-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png
new file mode 100644
index 0000000..4ffe6080
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png
new file mode 100644
index 0000000..f70900e
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png
new file mode 100644
index 0000000..ab27d45
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-in-positioned-container-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png
new file mode 100644
index 0000000..b427c7d
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
new file mode 100644
index 0000000..dda041f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-outline-color-explicitly-inherited-from-map-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png
new file mode 100644
index 0000000..0f6f0c6
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-with-paint-root-offset-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png
new file mode 100644
index 0000000..47ed400
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-with-scale-transform-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png
new file mode 100644
index 0000000..a64613f
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-focus-ring-zoom-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png
new file mode 100644
index 0000000..2c8b197
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-overflowing-circle-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png
new file mode 100644
index 0000000..eacd08b
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-overflowing-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png
new file mode 100644
index 0000000..c698a08
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/gpu-rasterization/images/imagemap-polygon-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png b/third_party/blink/web_tests/platform/win7/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
new file mode 100644
index 0000000..7149f78
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/mouseevent_fractional/fast/events/reveal-link-when-focused-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/blink/web_tests/platform/win7/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
new file mode 100644
index 0000000..d08bbbb
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/blink/web_tests/platform/win7/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
new file mode 100644
index 0000000..8c20c94
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
index 918c7ac..2c52cb2 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
new file mode 100644
index 0000000..c44af57
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
new file mode 100644
index 0000000..63605020
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/scalefactor150/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png
index 95060cf..5aa0320c 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/calendar-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
new file mode 100644
index 0000000..fa4c58a4
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
new file mode 100644
index 0000000..65b02c6
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/scalefactor200withzoom/fast/hidpi/static/validation-bubble-appearance-hidpi-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-disabled-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-disabled-expected.png
index eca6e4b..c0dbd28 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-disabled-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-disabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-enabled-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-enabled-expected.png
index ba02d54bb..cfac6f8e 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-enabled-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-enabled-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png
index e287e19..7b3d0a7 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/caps-lock-indicator-enabled-rtl-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png
index 25c30a3..d28f01ed 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-ltr-text-in-ltr-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png
index c9611ac..12a89da 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-ltr-text-in-rtl-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png
index d88edc0..54ffc02 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-rtl-text-in-ltr-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png
index 93fc59d..fa4b518 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/ellipsis-rtl-text-in-rtl-flow-underline-composition-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/delete-hard-break-character-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/delete-hard-break-character-expected.png
index e9ddd4d..01c129a 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/delete-hard-break-character-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/delete-hard-break-character-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/mixed-directionality-selection-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/mixed-directionality-selection-expected.png
index 569351f..e5f6adb 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/mixed-directionality-selection-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/mixed-directionality-selection-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/rtl-caret-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/rtl-caret-expected.png
index 73c8bc68..bdc2b9c 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/rtl-caret-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/rtl-caret-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png
index b44c4fb..d94d37cc 100644
--- a/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/text-antialias/selection/select-new-line-with-line-break-normal-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/fast/dom/52776-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/fast/dom/52776-expected.png
new file mode 100644
index 0000000..3913cc5
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/fast/dom/52776-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/fast/dom/focus-contenteditable-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/fast/dom/focus-contenteditable-expected.png
new file mode 100644
index 0000000..56f1cd7
--- /dev/null
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/fast/dom/focus-contenteditable-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png
index ef426e5..73bbd9f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-1-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-10-and-click-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-10-and-click-expected.png
index ef426e5..1dce990 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-10-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-2-and-click-expected.png
similarity index 73%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-2-and-click-expected.png
index b19ef2d5..25e150ed 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-2-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-3-and-click-expected.png
similarity index 69%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-3-and-click-expected.png
index 7912dfd..1f08ccb 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-3-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-4-and-click-expected.png
similarity index 68%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-4-and-click-expected.png
index 527065b..e7cac614 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-4-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-5-and-click-expected.png
similarity index 68%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-5-and-click-expected.png
index a3c2b66e..4beb78f 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-5-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-6-and-click-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-6-and-click-expected.png
index ef426e5..1dce990 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-6-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-7-and-click-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-7-and-click-expected.png
index ef426e5..1dce990 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-7-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-8-and-click-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-8-and-click-expected.png
index ef426e5..dbdd4c7 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-8-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-9-and-click-expected.png
similarity index 74%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-9-and-click-expected.png
index 7912dfd..fec28cba 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-add-summary-9-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-1-and-click-expected.png
similarity index 76%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-1-and-click-expected.png
index 527065b..771a7e4 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-1-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-2-and-click-expected.png
similarity index 73%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-2-and-click-expected.png
index 7912dfd..76a7661 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-2-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-3-and-click-expected.png
similarity index 68%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-3-and-click-expected.png
index ef426e5..98e2e37 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-3-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-4-and-click-expected.png
similarity index 75%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-4-and-click-expected.png
index a3c2b66e..0ce36680 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-4-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-5-and-click-expected.png
similarity index 71%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-5-and-click-expected.png
index a3c2b66e..a4b89872 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-5-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-6-and-click-expected.png
similarity index 74%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
copy to third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-6-and-click-expected.png
index 7912dfd..1274063 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-zoom-0.5x-expected.png
+++ b/third_party/blink/web_tests/platform/win7/virtual/web-components-v0-disabled/html/details_summary/details-remove-summary-6-and-click-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/serial/serial_requestPort.html b/third_party/blink/web_tests/serial/serial_requestPort.html
index e253efb..aa04ee1 100644
--- a/third_party/blink/web_tests/serial/serial_requestPort.html
+++ b/third_party/blink/web_tests/serial/serial_requestPort.html
@@ -55,5 +55,34 @@
   assert_true(firstPort === secondPort);
 }, 'requestPort() returns the same port object every time');
 
+serial_test(async (t, fake) => {
+  let guid = fake.addPort();
+  fake.setSelectedPort(guid);
+
+  await trustedClick();
+  let port = await navigator.serial.requestPort({ filters: [] });
+  assert_true(port instanceof SerialPort);
+}, 'An empty list of filters is valid');
+
+serial_test(async (t, fake) => {
+  let guid = fake.addPort();
+  fake.setSelectedPort(guid);
+
+  await trustedClick();
+  return promise_rejects(t, new TypeError(), navigator.serial.requestPort({
+    filters: [{}],
+  }));
+}, 'An empty filter is not valid');
+
+serial_test(async (t, fake) => {
+  let guid = fake.addPort();
+  fake.setSelectedPort(guid);
+
+  await trustedClick();
+  return promise_rejects(t, new TypeError(), navigator.serial.requestPort({
+    filters: [{ usbProductId: 0x0001 }],
+  }));
+}, 'requestPort() requires a USB vendor ID if a product ID specified');
+
 </script>
 </body>
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
deleted file mode 100644
index df69cee..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/color-scheme/select/select-inpage-appearance-basic-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
deleted file mode 100644
index 900c0d6..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/color-scheme/select/select-multiple-appearance-basic-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
deleted file mode 100644
index bb7c03696..0000000
--- a/third_party/blink/web_tests/virtual/controls-refresh/color-scheme/select/select-popup-appearance-basic-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/checkbox-zoom-focus-ring.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/checkbox-zoom-focus-ring.html
new file mode 100644
index 0000000..9f7f100
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/checkbox-zoom-focus-ring.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<script>
+window.onload = function() {
+    document.getElementById("input").focus();
+}
+</script>
+</head>
+<body style="background-color: green;">
+<input id="input" type="checkbox" checked style="zoom: 10"/>
+</body>
+</head>
+</html>
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-radius-expected.png
similarity index 61%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
copy to third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-radius-expected.png
index a3c2b66e..060657b0 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-small-size-alt-f8-expected.png
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-radius-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-radius.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-radius.html
new file mode 100644
index 0000000..7a72fad6
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-radius.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<script>
+window.onload = function() {
+  document.getElementById("input").focus();
+}
+</script>
+</head>
+<body style="background-color: green;">
+<input id="input" type="text" style="border-radius: 40px;"/>
+</body>
+</head>
+</html>
\ No newline at end of file
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed-expected.png
similarity index 67%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
copy to third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed-expected.png
index ef426e5..094f334 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-48px-expected.png
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed.html
new file mode 100644
index 0000000..2658e7a
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-border-width-changed.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<script>
+window.onload = function() {
+  document.getElementById("input").focus();
+}
+</script>
+</head>
+<body style="background-color: blue">
+<input id="input" type="text" style="border-width: 6px;" />
+</body>
+</head>
+</html>
\ No newline at end of file
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-detached-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-detached-expected.png
new file mode 100644
index 0000000..eb60f66ae
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-detached-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-detached.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-detached.html
new file mode 100644
index 0000000..1f6adbc3
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-detached.html
@@ -0,0 +1,18 @@
+<html>
+<head>
+<script>
+window.onload = function() {
+  document.getElementById("detached").focus();
+}
+</script>
+</head>
+<body style="background-color: green;">
+<table>
+<tr>
+<td width=100px >This is some filler text. This is some filler text.This is some filler text. </td>
+<td width=350px> The text in this anchor element <a href="#" id="detached">should <br>contain</a> 2 detached pieces. This test shows how the link would look text.</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-link-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-link-expected.png
new file mode 100644
index 0000000..cb4dda686
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-link-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-link.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-link.html
new file mode 100644
index 0000000..19ec2b498
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-link.html
@@ -0,0 +1,18 @@
+<html>
+<head>
+<script>
+window.onload = function() {
+  document.getElementById("multiline").focus();
+}
+</script>
+</head>
+<body style="background-color: magenta">
+<table>
+<tr>
+<td width=100px>The <a href="#" id="multiline">text in this anchor element should spawn multiple lines. This test shows how multiline link would look</a>like. </td>
+<td width=350px>This is some filler text. This is some filler text. This is some filler text. This is some filler text. </td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical-expected.png
new file mode 100644
index 0000000..83f4872
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical.html
new file mode 100644
index 0000000..a50241d
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-multiline-writingmode-vertical.html
@@ -0,0 +1,15 @@
+<html>
+<head>
+<script>
+window.onload = function() {
+  document.getElementById("multiline").focus();
+}
+</script>
+</head>
+<body style="background-color: red">
+<div id="multiline" style="-webkit-writing-mode: vertical-rl; width: 10em; height: 10em;" contenteditable>
+Assuming the port-specific theme draws focus rings, this test draws focus rings around editable multiline text in vertical writing mode.
+</div>
+</body>
+</html>
+
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-outline-color-expected.png
similarity index 70%
copy from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
copy to third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-outline-color-expected.png
index 527065b..5fa8db6 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-eye-icon-font-size-4px-expected.png
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-outline-color-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-outline-color.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-outline-color.html
new file mode 100644
index 0000000..4e34ca39
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-outline-color.html
@@ -0,0 +1,15 @@
+<html>
+<head>
+<style>
+a:focus { outline-color: green; }
+</style>
+<script>
+window.onload = function() {
+  document.getElementById("link").focus();
+}
+</script>
+</head>
+<body style="background-color: red">
+<a id="link" href="#"/>Test</a>
+</body>
+</html>
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-zoom.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-zoom.html
new file mode 100644
index 0000000..1cc4078
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/focus-ring-zoom.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<script>
+window.onload = function() {
+    document.getElementById("input").focus();
+}
+</script>
+</head>
+<body style="background-color: green;">
+<input id="input" type="text" value="test" style="zoom: 8; width: 30px"/>
+</body>
+</head>
+</html>
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/radio-focus-ring-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/radio-focus-ring-expected.png
new file mode 100644
index 0000000..695777a1b
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/radio-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/radio-focus-ring.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/radio-focus-ring.html
new file mode 100644
index 0000000..dbb759b
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/radio-focus-ring.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<script>
+window.onload = function() {
+    document.getElementById("input").focus();
+}
+</script>
+</head>
+<body style="background-color: green;">
+<input id="input" type="radio" checked style="zoom: 30"/>
+</body>
+</head>
+</html>
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png
new file mode 100644
index 0000000..ed760f9
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring.html
new file mode 100644
index 0000000..efcf7da
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textarea-scrolled-focus-ring.html
@@ -0,0 +1,18 @@
+<!doctype html>
+<head>
+<script>
+function test() {
+  ta.setSelectionRange(ta.value.length, ta.value.length);
+  ta.focus();
+}
+</script>
+</head>
+<body onload="test()" style="background-color: green">
+Test passes if a focus ring is visible around text area when focused and scrolled to bottom.<br>
+<textarea id="ta" rows=2>
+1
+2
+3
+4
+</textarea>
+</body>
diff --git a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textfield-focus-ring-expected.png
similarity index 73%
rename from third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
rename to third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textfield-focus-ring-expected.png
index b19ef2d5..4e20550 100644
--- a/third_party/blink/web_tests/platform/mac-mac10.10/virtual/controls-refresh/password/password-alt-f8-expected.png
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textfield-focus-ring-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textfield-focus-ring.html b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textfield-focus-ring.html
new file mode 100644
index 0000000..8ba51ae
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/controls-refresh/focus-rect/textfield-focus-ring.html
@@ -0,0 +1,13 @@
+<html>
+<head>
+<script>
+window.onload = function() {
+    document.getElementById("input").focus();
+}
+</script>
+</head>
+<body style="background-color: green;">
+<input id="input" type="text" value="test"/>
+</body>
+</head>
+</html>
diff --git a/third_party/blink/web_tests/wake-lock/wakelock-document-hidden.https.html b/third_party/blink/web_tests/wake-lock/wakelock-document-hidden.https.html
index 73986d7..6b47191 100644
--- a/third_party/blink/web_tests/wake-lock/wakelock-document-hidden.https.html
+++ b/third_party/blink/web_tests/wake-lock/wakelock-document-hidden.https.html
@@ -6,9 +6,10 @@
 <script>
 'use strict';
 
-self.testRunner.setPermission('wake-lock-screen', 'granted', location.origin, location.origin);
+promise_test(async t => {
+  await internals.setPermission({name: 'wake-lock', type: 'screen'}, 'granted',
+                                location.origin, location.origin);
 
-promise_test(t => {
   window.testRunner.setPageVisibility('hidden');
   assert_true(document.hidden);
   return promise_rejects(t, "NotAllowedError", navigator.wakeLock.request('screen'));
@@ -21,7 +22,10 @@
 // A more interoperable test would allow both |screenLock| to reject with
 // NotAllowedError as well as it resolving to a WakeLockSentinel that would fire
 // a "release" event upon page vsibility change.
-promise_test(t => {
+promise_test(async t => {
+  await internals.setPermission({name: 'wake-lock', type: 'screen'}, 'granted',
+                                location.origin, location.origin);
+
   window.testRunner.setPageVisibility('visible');
 
   const screenLock = navigator.wakeLock.request('screen');
@@ -31,6 +35,9 @@
 }, "navigator.wakeLock.request('screen') aborts when the page is hidden");
 
 promise_test(async t => {
+  await internals.setPermission({name: 'wake-lock', type: 'screen'}, 'granted',
+                                location.origin, location.origin);
+
   window.testRunner.setPageVisibility('visible');
 
   const screenLock1 = await navigator.wakeLock.request('screen');
diff --git a/third_party/blink/web_tests/wake-lock/wakelock-request-denied.html b/third_party/blink/web_tests/wake-lock/wakelock-request-denied.html
index 2819e5ca..ff22918 100644
--- a/third_party/blink/web_tests/wake-lock/wakelock-request-denied.html
+++ b/third_party/blink/web_tests/wake-lock/wakelock-request-denied.html
@@ -6,8 +6,9 @@
 <script>
 'use strict';
 
-promise_test(t => {
-  self.testRunner.setPermission('wake-lock-screen', 'denied', location.origin, location.origin);
+promise_test(async t => {
+  await internals.setPermission({name: 'wake-lock', type: 'screen'}, 'denied',
+                                location.origin, location.origin);
   return promise_rejects(t, "NotAllowedError", navigator.wakeLock.request('screen'));
 }, 'Denied requests should abort with NotAllowedError');
 </script>
diff --git a/third_party/blink/web_tests/wpt_internal/display-lock/css-render-subtree/activated-removes-size-containment-ref.html b/third_party/blink/web_tests/wpt_internal/display-lock/css-render-subtree/activated-removes-size-containment-ref.html
new file mode 100644
index 0000000..f0e85ba
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/display-lock/css-render-subtree/activated-removes-size-containment-ref.html
@@ -0,0 +1,17 @@
+<!doctype HTML>
+<html>
+<meta charset="utf8">
+<title>activated element removes size containment</title>
+<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
+<link rel="help" href="https://github.com/WICG/display-locking">
+
+<style>
+.border {
+  border: 1px solid black;
+}
+</style>
+
+<div class=border>
+  Test passes if there is a border around this text.
+</div>
+</html>
diff --git a/third_party/blink/web_tests/wpt_internal/display-lock/css-render-subtree/activated-removes-size-containment.html b/third_party/blink/web_tests/wpt_internal/display-lock/css-render-subtree/activated-removes-size-containment.html
new file mode 100644
index 0000000..63c6a15
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/display-lock/css-render-subtree/activated-removes-size-containment.html
@@ -0,0 +1,36 @@
+<!doctype HTML>
+<html class="reftest-wait">
+<meta charset="utf8">
+<title>activated element removes size containment</title>
+<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
+<link rel="help" href="https://github.com/WICG/display-locking">
+<link rel="match" href="activated-removes-size-containment-ref.html">
+<meta name="assert" content="activated render-subtree removes size containment.">
+<script src="/common/reftest-wait.js"></script>
+
+<style>
+.locked {
+  render-subtree: invisible;
+
+  border: 1px solid black;
+}
+</style>
+
+<div class=locked>
+  Test passes if there is a border around this text.
+</div>
+
+<script>
+
+window.onload = requestAnimationFrame(() => {
+  requestAnimationFrame(() => {
+    requestAnimationFrame(() => {
+      takeScreenshot();
+    });
+  });
+});
+
+</script>
+</html>
+
+
diff --git a/third_party/blink/web_tests/wpt_internal/display-lock/css-render-subtree/element-unlocked-and-relocked.html b/third_party/blink/web_tests/wpt_internal/display-lock/css-render-subtree/element-unlocked-and-relocked.html
new file mode 100644
index 0000000..73bb0e8
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/display-lock/css-render-subtree/element-unlocked-and-relocked.html
@@ -0,0 +1,84 @@
+<!doctype HTML>
+<html>
+<meta charset="utf8">
+<title>Element is unlocked near the viewport, and relocked again</title>
+<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
+<link rel="help" href="https://github.com/WICG/display-locking">
+<meta name="assert" content="element is unlocked near the viewport">
+<meta name="assert" content="element is relocked when moving away from the viewport">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/utils.js"></script>
+
+<style>
+#container {
+  height: 10000px;
+  background: lightblue;
+  display: inline-block;
+  padding-top: 5000px;
+}
+.locked {
+  render-subtree: invisible;
+  border: 1px solid black;
+  width: max-content;
+}
+</style>
+
+<div id=container>
+  <div class=locked>This is a locked element</div>
+</div>
+
+<script>
+async_test((t) => {
+  let container;
+
+  function enqueueStep1() {
+    container = document.getElementById("container");
+    requestAnimationFrame(runStep1);
+  }
+
+  function runStep1() {
+    t.step(() => {
+      // The container should be 2 wide to account for the border
+      // on the locked element.
+      assert_equals(container.getBoundingClientRect().width, 2);
+    });
+
+    enqueueStep2();
+  }
+
+  function enqueueStep2() {
+    window.scrollTo(0, 5000);
+    requestAnimationFrame(runStep2);
+  }
+
+  function runStep2() {
+    t.step(() => {
+      // The container should be wider than before because the element
+      // is now unlocked.
+      assert_greater_than(container.getBoundingClientRect().width, 50);
+    });
+
+    enqueueStep3();
+  }
+
+  function enqueueStep2() {
+    window.scrollTo(0, 10000);
+    requestAnimationFrame(runStep3);
+  }
+
+  function runStep3() {
+    t.step(() => {
+      // The container should be 2 wide again since we relocked the
+      // element.
+      assert_equals(container.getBoundingClientRect().width, 2);
+    });
+    t.done();
+  }
+
+  window.onload = () => {
+    requestAnimationFrame(enqueueStep1);
+  };
+}, "Element unlocking and relocking test");
+</script>
diff --git a/third_party/test_fonts/BUILD.gn b/third_party/test_fonts/BUILD.gn
index 532142b..a0b69d22 100644
--- a/third_party/test_fonts/BUILD.gn
+++ b/third_party/test_fonts/BUILD.gn
@@ -36,6 +36,6 @@
   ]
 
   outputs = [
-    "${root_build_dir}/test_fonts/{{source_file_part}}",
+    "$root_out_dir/test_fonts/{{source_file_part}}",
   ]
 }
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 6faf0c4..2b54a42 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -21715,6 +21715,8 @@
   <int value="1429" label="AUTOTESTPRIVATE_ISARCPACKAGELISTINITIALREFRESHED"/>
   <int value="1430" label="AUTOTESTPRIVATE_STARTTRACING"/>
   <int value="1431" label="AUTOTESTPRIVATE_STOPTRACING"/>
+  <int value="1432" label="LOGIN_LOCKMANAGEDGUESTSESSION"/>
+  <int value="1433" label="LOGIN_UNLOCKMANAGEDGUESTSESSION"/>
 </enum>
 
 <enum name="ExtensionIconState">
@@ -37514,6 +37516,7 @@
   <int value="-530480158" label="EnableSuggestedFiles:enabled"/>
   <int value="-528927088" label="AutofillCreditCardPopupLayout:disabled"/>
   <int value="-528149352" label="WebRtcUseEchoCanceller3:enabled"/>
+  <int value="-526236814" label="WebAssemblyTiering:enabled"/>
   <int value="-523030434" label="EnableBackgroundBlur:enabled"/>
   <int value="-520004021" label="WebXRHitTest:disabled"/>
   <int value="-519960638" label="enable-site-engagement-service"/>
@@ -38626,6 +38629,7 @@
   <int value="916316159" label="disable-new-app-list-mixer"/>
   <int value="918046854" label="NtlmV2Enabled:disabled"/>
   <int value="921536672" label="OfflinePagesDescriptiveFailStatus:enabled"/>
+  <int value="921561616" label="WebAssemblyTiering:disabled"/>
   <int value="925712999" label="V8Orinoco:enabled"/>
   <int value="926852901" label="DataReductionProxyMainMenu:disabled"/>
   <int value="928900043" label="OmniboxLooseMaxLimitOnDedicatedRows:disabled"/>
@@ -38670,6 +38674,7 @@
   <int value="983311394" label="tab-management-experiment-type"/>
   <int value="986796748" label="AccountConsistency:enabled"/>
   <int value="987843084" label="TerminalSystemApp:enabled"/>
+  <int value="988781221" label="SyncSetupFriendlySettings:disabled"/>
   <int value="988981463" label="ImageCaptureAPI:enabled"/>
   <int value="989062160" label="ModuleScriptsImportMetaUrl:enabled"/>
   <int value="994317727"
@@ -39472,6 +39477,7 @@
   <int value="1961425320" label="force-qtkit"/>
   <int value="1962485086" label="DesktopPWAsLocalUpdating:enabled"/>
   <int value="1964816410" label="AndroidPayIntegrationV2:enabled"/>
+  <int value="1965055310" label="SyncSetupFriendlySettings:enabled"/>
   <int value="1965976546" label="NewOverviewAnimations:disabled"/>
   <int value="1966730288" label="disable-threaded-compositing"/>
   <int value="1969604362" label="enable-pinch-virtual-viewport"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index bdbe3b3..88b6186 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -59081,6 +59081,16 @@
   </summary>
 </histogram>
 
+<histogram name="HttpCache.HardReset" enum="Boolean" expires_after="2020-06-15">
+  <owner>ericrobinson@chromium.org</owner>
+  <owner>shivanisha@chromium.org</owner>
+  <summary>
+    Whether the HttpCache was forced to reset upon creation, effectively
+    clearing out its previous content. This is recorded when the cache is
+    created for the browsing session.
+  </summary>
+</histogram>
+
 <histogram name="HttpCache.NetworkIsolationKeyPresent"
     enum="BooleanNetworkIsolationKeyPresent" expires_after="2020-06-07">
   <obsolete>
@@ -148297,7 +148307,10 @@
 </histogram>
 
 <histogram name="Startup.BrowserMainToRendererMain" units="ms"
-    expires_after="2020-07-06">
+    expires_after="M81">
+  <obsolete>
+    Removed 01/2020. Data is not used.
+  </obsolete>
   <owner>fdoray@chromium.org</owner>
   <summary>
     Time from the ChromeMain() entry in the browser process to the first
@@ -165940,7 +165953,7 @@
 </histogram>
 
 <histogram name="WebAudio.AudioBuffer.Length" units="frames"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -165950,7 +165963,7 @@
 </histogram>
 
 <histogram name="WebAudio.AudioBuffer.NumberOfChannels" units="units"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -165974,7 +165987,7 @@
 </histogram>
 
 <histogram name="WebAudio.AudioBuffer.SampleRate384kHz" units="Hz"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -165999,7 +166012,7 @@
 </histogram>
 
 <histogram name="WebAudio.AudioBuffer.SampleRateRatio384kHz" units="units"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -166020,7 +166033,7 @@
 </histogram>
 
 <histogram name="WebAudio.AudioContext.MaxChannelsAvailable" units="units"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -166053,7 +166066,7 @@
 </histogram>
 
 <histogram name="WebAudio.AudioDestination.CallbackBufferSize" units="units"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -166183,7 +166196,7 @@
 </histogram>
 
 <histogram name="WebAudio.BiquadFilter.Type" enum="BiquadFilterType"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -166205,7 +166218,7 @@
 </histogram>
 
 <histogram name="WebAudio.IIRFilterNode.Order" units="units"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -166216,7 +166229,7 @@
 </histogram>
 
 <histogram name="WebAudio.OfflineAudioContext.ChannelCount" units="units"
-    expires_after="M81">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -166227,7 +166240,7 @@
 </histogram>
 
 <histogram name="WebAudio.OfflineAudioContext.Length" units="frames"
-    expires_after="M81">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -166264,7 +166277,7 @@
 </histogram>
 
 <histogram name="WebAudio.PannerNode.PanningModel" enum="PanningModelType"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -166277,7 +166290,7 @@
 </histogram>
 
 <histogram name="WebAudio.PushPullFIFO.UnderflowGlitches" enum="Boolean"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
@@ -166288,7 +166301,7 @@
 </histogram>
 
 <histogram name="WebAudio.PushPullFIFO.UnderflowPercentage" units="%"
-    expires_after="2020-07-06">
+    expires_after="2021-01-06">
   <owner>rtoy@chromium.org</owner>
   <owner>hongchan@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/ukm/ukm.xml b/tools/metrics/ukm/ukm.xml
index aab1b72..d66d6ff2 100644
--- a/tools/metrics/ukm/ukm.xml
+++ b/tools/metrics/ukm/ukm.xml
@@ -6283,6 +6283,9 @@
     </summary>
   </metric>
   <metric name="Experimental.PaintTiming.NavigationToLargestImagePaint">
+    <obsolete>
+      Removed on 01/2020
+    </obsolete>
     <summary>
       Measures the time in milliseconds from navigation timing's navigation
       start to the time when the page first paints the largest image within
@@ -6303,6 +6306,9 @@
     </summary>
   </metric>
   <metric name="Experimental.PaintTiming.NavigationToLargestTextPaint">
+    <obsolete>
+      Removed on 01/2020
+    </obsolete>
     <summary>
       Measures the time in milliseconds from navigation timing's navigation
       start to the time when the page first paints the largest text within
diff --git a/tools/traffic_annotation/summary/annotations.xml b/tools/traffic_annotation/summary/annotations.xml
index b87b5add..a71e020d 100644
--- a/tools/traffic_annotation/summary/annotations.xml
+++ b/tools/traffic_annotation/summary/annotations.xml
@@ -130,8 +130,9 @@
  <item id="google_url_tracker" hash_code="5492492" type="0" deprecated="2019-08-01" content_hash_code="54474899" file_path=""/>
  <item id="headless_url_request" hash_code="29865866" type="0" deprecated="2018-07-10" content_hash_code="76700151" file_path=""/>
  <item id="hintsfetcher_gethintsrequest" hash_code="34557599" type="0" content_hash_code="57003380" os_list="linux,windows" file_path="components/optimization_guide/hints_fetcher.cc"/>
- <item id="history_notice_utils_notice" hash_code="102595701" type="1" second_id="110307337" content_hash_code="130829410" os_list="linux,windows" semantics_fields="2,3,4" policy_fields="4" file_path="components/browsing_data/core/history_notice_utils.cc"/>
+ <item id="history_notice_utils_notice" hash_code="102595701" type="1" second_id="110307337" deprecated="2020-01-07" content_hash_code="130829410" file_path=""/>
  <item id="history_notice_utils_popup" hash_code="80832574" type="1" second_id="110307337" content_hash_code="30618510" os_list="linux,windows" semantics_fields="2,3,4" policy_fields="4" file_path="components/browsing_data/core/history_notice_utils.cc"/>
+ <item id="history_recording_enabled" hash_code="18918377" type="1" second_id="110307337" content_hash_code="24841534" os_list="linux,windows" semantics_fields="2,3,4" policy_fields="4" file_path="components/browsing_data/core/history_notice_utils.cc"/>
  <item id="history_ui_favicon_request_handler_get_favicon" hash_code="17562717" type="0" content_hash_code="64054629" os_list="linux,windows" file_path="components/favicon/core/history_ui_favicon_request_handler_impl.cc"/>
  <item id="http_server_error_response" hash_code="32197336" type="0" content_hash_code="61082230" os_list="linux,windows" file_path="net/server/http_server.cc"/>
  <item id="https_server_previews_navigation" hash_code="35725390" type="0" content_hash_code="84423109" os_list="linux,windows" file_path="chrome/browser/previews/previews_lite_page_redirect_serving_url_loader.cc"/>
@@ -169,8 +170,8 @@
  <item id="oauth2_access_token_fetcher" hash_code="27915688" type="0" content_hash_code="33501872" os_list="linux,windows" file_path="google_apis/gaia/oauth2_access_token_fetcher_impl.cc"/>
  <item id="oauth2_api_call_flow" hash_code="29188932" type="2" content_hash_code="108831236" os_list="linux,windows" policy_fields="-1" file_path="google_apis/gaia/oauth2_api_call_flow.cc"/>
  <item id="oauth2_mint_token_flow" hash_code="1112842" type="1" second_id="29188932" content_hash_code="91581432" os_list="linux,windows" semantics_fields="1,2,3,4,5" policy_fields="3,4" file_path="google_apis/gaia/oauth2_mint_token_flow.cc"/>
- <item id="ocsp_start_url_request" hash_code="60921996" type="0" content_hash_code="6288676" os_list="linux" file_path="net/cert_net/nss_ocsp_session_url_request.cc"/>
  <item id="ocsp_start_url_loader" hash_code="3646641" type="0" content_hash_code="106270072" os_list="linux" file_path="services/network/public/cpp/cert_verifier/nss_ocsp_session_url_loader.cc"/>
+ <item id="ocsp_start_url_request" hash_code="60921996" type="0" content_hash_code="6288676" os_list="linux" file_path="net/cert_net/nss_ocsp_session_url_request.cc"/>
  <item id="offline_prefetch" hash_code="19185953" type="0" content_hash_code="112039446" os_list="linux,windows" file_path="components/offline_pages/core/prefetch/prefetch_request_fetcher.cc"/>
  <item id="omnibox_documentsuggest" hash_code="6055066" type="0" content_hash_code="126973249" os_list="linux,windows" file_path="components/omnibox/browser/document_suggestions_service.cc"/>
  <item id="omnibox_navigation_observer" hash_code="61684939" type="0" content_hash_code="70941231" os_list="linux,windows" file_path="chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc"/>
diff --git a/ui/file_manager/file_manager/foreground/elements/files_quick_view.js b/ui/file_manager/file_manager/foreground/elements/files_quick_view.js
index f43e56dd..3cb1b84 100644
--- a/ui/file_manager/file_manager/foreground/elements/files_quick_view.js
+++ b/ui/file_manager/file_manager/foreground/elements/files_quick_view.js
@@ -48,6 +48,7 @@
 
   listeners: {
     'files-safe-media-tap-outside': 'close',
+    'files-safe-media-load-error': 'loaderror',
   },
 
   /**
@@ -80,6 +81,7 @@
         autoplay: false,
         browsable: false,
     });
+    this.removeAttribute('load-error');
     const video = this.$.contentPanel.querySelector('#videoSafeMedia');
     if (video) {
       video.src = '';
@@ -87,6 +89,12 @@
     }
   },
 
+  // Handle load error from the files-safe-media container.
+  loaderror: function() {
+    this.contentUrl = '';
+    this.setAttribute('load-error', '');
+  },
+
   /** @return {boolean} */
   isOpened: function() {
     return this.$.dialog.open;
diff --git a/ui/file_manager/file_manager/foreground/elements/files_safe_media.js b/ui/file_manager/file_manager/foreground/elements/files_safe_media.js
index f93a6f0..2a476798 100644
--- a/ui/file_manager/file_manager/foreground/elements/files_safe_media.js
+++ b/ui/file_manager/file_manager/foreground/elements/files_safe_media.js
@@ -10,7 +10,7 @@
  * files-safe-media-tap-outside events are fired depending on the position
  * of the tap.
  */
-var FilesSafeMedia = Polymer({
+const FilesSafeMedia = Polymer({
   is: 'files-safe-media',
 
   properties: {
@@ -107,6 +107,8 @@
         if (this.webview_) {
           this.webview_.removeAttribute('loaded');
         }
+      } else if (event.data === 'content-decode-failed') {
+        this.fire('files-safe-media-load-error');
       }
     });
   }
diff --git a/ui/file_manager/file_manager/foreground/elements/files_safe_media_webview_content.js b/ui/file_manager/file_manager/foreground/elements/files_safe_media_webview_content.js
index 108ad78..f13a4e7 100644
--- a/ui/file_manager/file_manager/foreground/elements/files_safe_media_webview_content.js
+++ b/ui/file_manager/file_manager/foreground/elements/files_safe_media_webview_content.js
@@ -40,12 +40,10 @@
         content.src = event.data.src;
         content.decode()
             .then(() => {
-              content.removeAttribute('generic-thumbnail');
               document.body.appendChild(content);
             })
             .catch(() => {
-              content.setAttribute('generic-thumbnail', 'image');
-              document.body.appendChild(content);
+              contentDecodeFailed();
             });
         break;
       default:
@@ -68,6 +66,10 @@
     sendMessage(src ? 'webview-loaded' : 'webview-cleared');
   }
 
+  function contentDecodeFailed() {
+    sendMessage('content-decode-failed');
+  }
+
   function sendMessage(message) {
     if (messageSource) {
       messageSource.postMessage(message, FILES_APP_ORIGIN);
diff --git a/ui/file_manager/integration_tests/file_manager/quick_view.js b/ui/file_manager/integration_tests/file_manager/quick_view.js
index 26eaa0fe..825c400b 100644
--- a/ui/file_manager/integration_tests/file_manager/quick_view.js
+++ b/ui/file_manager/integration_tests/file_manager/quick_view.js
@@ -1304,4 +1304,20 @@
           'requestAnimationFrame', appId, []));
     }
   };
+
+  /**
+   * Tests opening a broken JPEG doesn't display a broken image icon.
+   */
+  testcase.openQuickViewBrokenImage = async () => {
+    // Open Files app on Downloads containing ENTRIES.brokenJpeg.
+    const appId = await setupAndWaitUntilReady(
+        RootPath.DOWNLOADS, [ENTRIES.brokenJpeg], []);
+
+    // Open the file in Quick View.
+    await openQuickView(appId, ENTRIES.brokenJpeg.nameText);
+
+    // Check: the quick view should have the attribute 'load-error'.
+    const element =
+        await remoteCall.waitForElement(appId, '#quick-view[load-error]');
+  };
 })();
diff --git a/ui/file_manager/integration_tests/test_util.js b/ui/file_manager/integration_tests/test_util.js
index 61981c6..74e551d 100644
--- a/ui/file_manager/integration_tests/test_util.js
+++ b/ui/file_manager/integration_tests/test_util.js
@@ -608,6 +608,17 @@
     typeText: 'JPEG image'
   }),
 
+  brokenJpeg: new TestEntryInfo({
+    type: EntryType.FILE,
+    sourceFileName: 'broken.jpg',
+    targetPath: 'broken.jpg',
+    mimeType: 'image/jpeg',
+    lastModifiedTime: 'Jan 18, 2038, 1:02 AM',
+    nameText: 'broken.jpg',
+    sizeText: '1 byte',
+    typeText: 'JPEG image'
+  }),
+
   exifImage: new TestEntryInfo({
     type: EntryType.FILE,
     sourceFileName: 'exif.jpg',
diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc
index d9175ae..c20f145 100644
--- a/ui/native_theme/native_theme.cc
+++ b/ui/native_theme/native_theme.cc
@@ -19,6 +19,13 @@
   memcpy(this, &other, sizeof(*this));
 }
 
+float NativeTheme::GetBorderRadiusForPart(Part part,
+                                          float width,
+                                          float height,
+                                          float zoom) const {
+  return 0;
+}
+
 void NativeTheme::AddObserver(NativeThemeObserver* observer) {
   native_theme_observers_.AddObserver(observer);
 }
diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h
index 0303c1b..a88a858 100644
--- a/ui/native_theme/native_theme.h
+++ b/ui/native_theme/native_theme.h
@@ -278,6 +278,11 @@
                                 State state,
                                 const ExtraParams& extra) const = 0;
 
+  virtual float GetBorderRadiusForPart(Part part,
+                                       float width,
+                                       float height,
+                                       float zoom) const;
+
   // Paint the part to the canvas.
   virtual void Paint(
       cc::PaintCanvas* canvas,
diff --git a/ui/native_theme/native_theme_base.cc b/ui/native_theme/native_theme_base.cc
index 54af53c..a0a4057 100644
--- a/ui/native_theme/native_theme_base.cc
+++ b/ui/native_theme/native_theme_base.cc
@@ -112,20 +112,17 @@
 constexpr SkColor kButtonBorderColor[2] = {SK_ColorBLACK, SK_ColorWHITE};
 constexpr SkColor kProgressBackgroundColor[2] = {SK_ColorWHITE, SK_ColorBLACK};
 
-const int kCheckboxBorderRadius = 2;
 // The "dash" is 8x2 px by default (the checkbox is 13x13 px).
 const SkScalar kIndeterminateInsetWidthRatio = (13 - 8) / 2.0f / 13;
 const SkScalar kIndeterminateInsetHeightRatio = (13 - 2) / 2.0f / 13;
 const SkScalar kBorderWidth = 1.f;
 const SkScalar kSliderTrackHeight = 8.f;
-const SkScalar kSliderTrackBorderRadius = 40.f;
 const SkScalar kSliderThumbBorderWidth = 1.f;
 const SkScalar kSliderThumbBorderHoveredWidth = 1.f;
 // Default height for progress is 16px and the track is 8px.
 const SkScalar kTrackHeightRatio = 8.0f / 16;
 const SkScalar kMenuListArrowStrokeWidth = 2.f;
 const int kSliderThumbSize = 16;
-const int kInputBorderRadius = 2;
 
 // Get a color constant based on color-scheme
 SkColor GetColor(const SkColor colors[2],
@@ -213,6 +210,35 @@
   return gfx::Size();
 }
 
+float NativeThemeBase::GetBorderRadiusForPart(Part part,
+                                              float width,
+                                              float height,
+                                              float zoom) const {
+  if (!features::IsFormControlsRefreshEnabled()) {
+    NOTREACHED() << "GetBorderRadiusForPart only supports FormControlsRefresh.";
+    return 0;
+  }
+
+  switch (part) {
+    case kCheckbox:
+      return 2.f * zoom;
+    case kPushButton:
+    case kTextField:
+      return 2.f;
+    case kRadio:
+      return std::max(width, height) * 0.5;
+    case kProgressBar:
+    case kSliderTrack:
+      // default border radius for progress and range is 40px.
+      return 40.f;
+    case kSliderThumb:
+      return std::max(width, height) * 0.5;
+    default:
+      break;
+  }
+  return 0;
+}
+
 void NativeThemeBase::Paint(cc::PaintCanvas* canvas,
                             Part part,
                             State state,
@@ -576,8 +602,8 @@
                                     const ButtonExtraParams& button,
                                     ColorScheme color_scheme) const {
   if (features::IsFormControlsRefreshEnabled()) {
-    const float border_radius =
-        SkIntToScalar(kCheckboxBorderRadius) * button.zoom;
+    const float border_radius = GetBorderRadiusForPart(
+        kCheckbox, rect.width(), rect.height(), button.zoom);
     SkRect skrect = PaintCheckboxRadioCommon(canvas, state, rect, button, true,
                                              border_radius, color_scheme);
 
@@ -811,11 +837,10 @@
   if (features::IsFormControlsRefreshEnabled()) {
     // Most of a radio button is the same as a checkbox, except the the rounded
     // square is a circle (i.e. border radius >= 100%).
-    const SkScalar radius = SkFloatToScalar(
-        static_cast<float>(std::max(rect.width(), rect.height())) * 0.5);
-
+    const float border_radius = GetBorderRadiusForPart(
+        kRadio, rect.width(), rect.height(), button.zoom);
     SkRect skrect = PaintCheckboxRadioCommon(canvas, state, rect, button, false,
-                                             radius, color_scheme);
+                                             border_radius, color_scheme);
     if (!skrect.isEmpty() && button.checked) {
       // Draw the dot.
       cc::PaintFlags flags;
@@ -826,7 +851,7 @@
       skrect.inset(skrect.width() * 0.2, skrect.height() * 0.2);
       // Use drawRoundedRect instead of drawOval to be completely consistent
       // with the border in PaintCheckboxRadioNewCommon.
-      canvas->drawRoundRect(skrect, radius, radius, flags);
+      canvas->drawRoundRect(skrect, border_radius, border_radius, flags);
     }
     return;
   }
@@ -871,20 +896,20 @@
       return;
     }
 
+    float border_radius = GetBorderRadiusForPart(kPushButton, rect.width(),
+                                                 rect.height(), button.zoom);
     // Paint the background (is not visible behind the rounded corners).
     skrect.inset(kBorderWidth / 2, kBorderWidth / 2);
-    PaintLightenLayer(canvas, skrect, state, kInputBorderRadius, color_scheme);
+    PaintLightenLayer(canvas, skrect, state, border_radius, color_scheme);
     flags.setColor(ControlsFillColorForState(state, color_scheme));
-    canvas->drawRoundRect(skrect, kInputBorderRadius, kInputBorderRadius,
-                          flags);
+    canvas->drawRoundRect(skrect, border_radius, border_radius, flags);
 
     // Paint the border: 1px solid.
     if (button.has_border) {
       flags.setStyle(cc::PaintFlags::kStroke_Style);
       flags.setStrokeWidth(kBorderWidth);
       flags.setColor(ControlsBorderColorForState(state, color_scheme));
-      canvas->drawRoundRect(skrect, kInputBorderRadius, kInputBorderRadius,
-                            flags);
+      canvas->drawRoundRect(skrect, border_radius, border_radius, flags);
     }
     return;
   }
@@ -945,16 +970,17 @@
                                      ColorScheme color_scheme) const {
   if (features::IsFormControlsRefreshEnabled()) {
     SkRect bounds = gfx::RectToSkRect(rect);
-    const SkScalar borderRadius = SkIntToScalar(kInputBorderRadius);
+    const SkScalar border_radius = GetBorderRadiusForPart(
+        kTextField, rect.width(), rect.height(), /*zoom level=*/1);
 
     // Paint the background (is not visible behind the rounded corners).
     bounds.inset(kBorderWidth / 2, kBorderWidth / 2);
     cc::PaintFlags fill_flags;
     fill_flags.setStyle(cc::PaintFlags::kFill_Style);
     if (text.background_color != 0) {
-      PaintLightenLayer(canvas, bounds, state, borderRadius, color_scheme);
+      PaintLightenLayer(canvas, bounds, state, border_radius, color_scheme);
       fill_flags.setColor(ControlsBackgroundColorForState(state, color_scheme));
-      canvas->drawRoundRect(bounds, borderRadius, borderRadius, fill_flags);
+      canvas->drawRoundRect(bounds, border_radius, border_radius, fill_flags);
     }
 
     // Paint the border: 1px solid.
@@ -962,7 +988,7 @@
     stroke_flags.setColor(ControlsBorderColorForState(state, color_scheme));
     stroke_flags.setStyle(cc::PaintFlags::kStroke_Style);
     stroke_flags.setStrokeWidth(kBorderWidth);
-    canvas->drawRoundRect(bounds, borderRadius, borderRadius, stroke_flags);
+    canvas->drawRoundRect(bounds, border_radius, border_radius, stroke_flags);
     return;
   }
 
@@ -1116,13 +1142,13 @@
       track_rect.inset(0, 1);
     else
       track_rect.inset(1, 0);
-    canvas->drawRoundRect(track_rect, kSliderTrackBorderRadius,
-                          kSliderTrackBorderRadius, flags);
+    float border_radius = GetBorderRadiusForPart(kSliderTrack, rect.width(),
+                                                 rect.height(), slider.zoom);
+    canvas->drawRoundRect(track_rect, border_radius, border_radius, flags);
 
     // Clip the track to create rounded corners for the value bar.
     SkRRect rounded_rect;
-    rounded_rect.setRectXY(track_rect, kSliderTrackBorderRadius,
-                           kSliderTrackBorderRadius);
+    rounded_rect.setRectXY(track_rect, border_radius, border_radius);
     canvas->clipRRect(rounded_rect, SkClipOp::kIntersect, true);
 
     // Paint the value slider track.
@@ -1138,8 +1164,7 @@
       border_color = SkColorSetA(border_color, 0x80);
     flags.setColor(border_color);
     track_rect.inset(kBorderWidth / 2, kBorderWidth / 2);
-    canvas->drawRoundRect(track_rect, kSliderTrackBorderRadius,
-                          kSliderTrackBorderRadius, flags);
+    canvas->drawRoundRect(track_rect, border_radius, border_radius, flags);
     return;
   }
 
@@ -1166,8 +1191,8 @@
                                        const SliderExtraParams& slider,
                                        ColorScheme color_scheme) const {
   if (features::IsFormControlsRefreshEnabled()) {
-    const SkScalar radius = SkFloatToScalar(
-        static_cast<float>(std::max(rect.width(), rect.height())) * 0.5);
+    const float radius = GetBorderRadiusForPart(kSliderThumb, rect.width(),
+                                                rect.height(), slider.zoom);
     SkRect thumb_rect = gfx::RectToSkRect(rect);
 
     cc::PaintFlags flags;
@@ -1269,13 +1294,13 @@
     slider.vertical = false;
     float track_height = rect.height() * kTrackHeightRatio;
     SkRect track_rect = AlignSliderTrack(rect, slider, false, track_height);
-    canvas->drawRoundRect(track_rect, kSliderTrackBorderRadius,
-                          kSliderTrackBorderRadius, flags);
+    float border_radius = GetBorderRadiusForPart(
+        kProgressBar, rect.width(), rect.height(), /*zoom level=*/1);
+    canvas->drawRoundRect(track_rect, border_radius, border_radius, flags);
 
     // Clip the track to create rounded corners for the value bar.
     SkRRect rounded_rect;
-    rounded_rect.setRectXY(track_rect, kSliderTrackBorderRadius,
-                           kSliderTrackBorderRadius);
+    rounded_rect.setRectXY(track_rect, border_radius, border_radius);
     canvas->clipRRect(rounded_rect, SkClipOp::kIntersect, true);
 
     // Paint the progress value bar.
@@ -1292,8 +1317,7 @@
     if (progress_bar.determinate) {
       canvas->drawRect(value_rect, flags);
     } else {
-      canvas->drawRoundRect(value_rect, kSliderTrackBorderRadius,
-                            kSliderTrackBorderRadius, flags);
+      canvas->drawRoundRect(value_rect, border_radius, border_radius, flags);
     }
 
     // Paint the border.
@@ -1304,8 +1328,7 @@
       border_color = SkColorSetA(border_color, 0x80);
     flags.setColor(border_color);
     track_rect.inset(kBorderWidth / 2, kBorderWidth / 2);
-    canvas->drawRoundRect(track_rect, kSliderTrackBorderRadius,
-                          kSliderTrackBorderRadius, flags);
+    canvas->drawRoundRect(track_rect, border_radius, border_radius, flags);
     return;
   }
 
diff --git a/ui/native_theme/native_theme_base.h b/ui/native_theme/native_theme_base.h
index a0530ef..0273ee3 100644
--- a/ui/native_theme/native_theme_base.h
+++ b/ui/native_theme/native_theme_base.h
@@ -27,6 +27,10 @@
   gfx::Size GetPartSize(Part part,
                         State state,
                         const ExtraParams& extra) const override;
+  float GetBorderRadiusForPart(Part part,
+                               float width,
+                               float height,
+                               float zoom) const override;
   void Paint(cc::PaintCanvas* canvas,
              Part part,
              State state,
diff --git a/weblayer/BUILD.gn b/weblayer/BUILD.gn
index 9ae4f8b..5fb141d 100644
--- a/weblayer/BUILD.gn
+++ b/weblayer/BUILD.gn
@@ -220,7 +220,8 @@
     "//components/security_interstitials/content/renderer:security_interstitial_page_controller",
     "//components/security_interstitials/core",
     "//components/spellcheck:buildflags",
-    "//components/startup_metric_utils/browser:lib",
+    "//components/ssl_errors",
+    "//components/startup_metric_utils/browser",
     "//components/user_prefs",
     "//components/version_info",
     "//components/web_cache/browser",
diff --git a/weblayer/browser/DEPS b/weblayer/browser/DEPS
index d47f233..e9553e85 100644
--- a/weblayer/browser/DEPS
+++ b/weblayer/browser/DEPS
@@ -16,6 +16,7 @@
   "+components/safe_browsing",
   "+components/security_interstitials",
   "+components/spellcheck/browser",
+  "+components/ssl_errors",
   "+components/startup_metric_utils",
   "+components/version_info",
   "+components/web_cache/browser",
diff --git a/weblayer/browser/browser_process.cc b/weblayer/browser/browser_process.cc
index 076fe49..c4278a6 100644
--- a/weblayer/browser/browser_process.cc
+++ b/weblayer/browser/browser_process.cc
@@ -24,6 +24,8 @@
 std::unique_ptr<PrefService> CreatePrefService() {
   auto pref_registry = base::MakeRefCounted<PrefRegistrySimple>();
 
+  network_time::NetworkTimeTracker::RegisterPrefs(pref_registry.get());
+
   PrefServiceFactory pref_service_factory;
   pref_service_factory.set_user_prefs(
       base::MakeRefCounted<InMemoryPrefStore>());
diff --git a/weblayer/browser/ssl_browsertest.cc b/weblayer/browser/ssl_browsertest.cc
index d3be75bc..26c6a39 100644
--- a/weblayer/browser/ssl_browsertest.cc
+++ b/weblayer/browser/ssl_browsertest.cc
@@ -8,7 +8,9 @@
 #include "base/macros.h"
 #include "base/optional.h"
 #include "build/build_config.h"
+#include "components/network_time/network_time_tracker.h"
 #include "net/test/embedded_test_server/embedded_test_server.h"
+#include "weblayer/browser/browser_process.h"
 #include "weblayer/browser/ssl_error_handler.h"
 #include "weblayer/shell/browser/shell.h"
 #include "weblayer/test/interstitial_utils.h"
@@ -37,8 +39,15 @@
     https_server_mismatched_->AddDefaultHandlers(
         base::FilePath(FILE_PATH_LITERAL("weblayer/test/data")));
 
+    https_server_expired_ = std::make_unique<net::EmbeddedTestServer>(
+        net::EmbeddedTestServer::TYPE_HTTPS);
+    https_server_expired_->SetSSLConfig(net::EmbeddedTestServer::CERT_EXPIRED);
+    https_server_expired_->AddDefaultHandlers(
+        base::FilePath(FILE_PATH_LITERAL("weblayer/test/data")));
+
     ASSERT_TRUE(https_server_->Start());
     ASSERT_TRUE(https_server_mismatched_->Start());
+    ASSERT_TRUE(https_server_expired_->Start());
   }
 
   void PostRunTestOnMainThread() override {
@@ -53,9 +62,9 @@
     EXPECT_FALSE(IsShowingSecurityInterstitial(shell()->tab()));
   }
 
-  void NavigateToPageWithSslErrorExpectSSLInterstitial() {
+  void NavigateToPageWithMismatchedCertExpectSSLInterstitial() {
     // Do a navigation that should result in an SSL error.
-    NavigateAndWaitForFailure(bad_ssl_url(), shell());
+    NavigateAndWaitForFailure(mismatched_cert_url(), shell());
     // First check that there *is* an interstitial.
     ASSERT_TRUE(IsShowingSecurityInterstitial(shell()->tab()));
 
@@ -67,9 +76,9 @@
     // ssl_browsertest.cc's CheckAuthenticationBrokenState() function.
   }
 
-  void NavigateToPageWithSslErrorExpectCaptivePortalInterstitial() {
+  void NavigateToPageWithMismatchedCertExpectCaptivePortalInterstitial() {
     // Do a navigation that should result in an SSL error.
-    NavigateAndWaitForFailure(bad_ssl_url(), shell());
+    NavigateAndWaitForFailure(mismatched_cert_url(), shell());
     // First check that there *is* an interstitial.
     ASSERT_TRUE(IsShowingSecurityInterstitial(shell()->tab()));
 
@@ -82,8 +91,36 @@
     // ssl_browsertest.cc's CheckAuthenticationBrokenState() function.
   }
 
-  void NavigateToPageWithSslErrorExpectNotBlocked() {
-    NavigateAndWaitForCompletion(bad_ssl_url(), shell());
+  void NavigateToPageWithExpiredCertExpectSSLInterstitial() {
+    // Do a navigation that should result in an SSL error.
+    NavigateAndWaitForFailure(expired_cert_url(), shell());
+    // First check that there *is* an interstitial.
+    ASSERT_TRUE(IsShowingSecurityInterstitial(shell()->tab()));
+
+    // Now verify that the interstitial is in fact an SSL interstitial.
+    EXPECT_TRUE(IsShowingSSLInterstitial(shell()->tab()));
+
+    // TODO(blundell): Check the security state once security state is available
+    // via the public WebLayer API, following the example of //chrome's
+    // ssl_browsertest.cc's CheckAuthenticationBrokenState() function.
+  }
+
+  void NavigateToPageWithExpiredCertExpectBadClockInterstitial() {
+    // Do a navigation that should result in an SSL error.
+    NavigateAndWaitForFailure(expired_cert_url(), shell());
+    // First check that there *is* an interstitial.
+    ASSERT_TRUE(IsShowingSecurityInterstitial(shell()->tab()));
+
+    // Now verify that the interstitial is in fact a bad clock interstitial.
+    EXPECT_TRUE(IsShowingBadClockInterstitial(shell()->tab()));
+
+    // TODO(blundell): Check the security state once security state is available
+    // via the public WebLayer API, following the example of //chrome's
+    // ssl_browsertest.cc's CheckAuthenticationBrokenState() function.
+  }
+
+  void NavigateToPageWithMismatchedCertExpectNotBlocked() {
+    NavigateAndWaitForCompletion(mismatched_cert_url(), shell());
     EXPECT_FALSE(IsShowingSecurityInterstitial(shell()->tab()));
 
     // TODO(blundell): Check the security state once security state is available
@@ -95,7 +132,7 @@
       bool proceed,
       base::Optional<GURL> previous_url = base::nullopt) {
     GURL expected_url =
-        proceed ? bad_ssl_url() : previous_url.value_or(ok_url());
+        proceed ? mismatched_cert_url() : previous_url.value_or(ok_url());
     ASSERT_TRUE(IsShowingSSLInterstitial(shell()->tab()));
 
     TestNavigationObserver navigation_observer(
@@ -144,13 +181,18 @@
   }
 
   GURL ok_url() { return https_server_->GetURL("/simple_page.html"); }
-  GURL bad_ssl_url() {
+  GURL mismatched_cert_url() {
     return https_server_mismatched_->GetURL("/simple_page.html");
   }
 
+  GURL expired_cert_url() {
+    return https_server_expired_->GetURL("/simple_page.html");
+  }
+
  protected:
   std::unique_ptr<net::EmbeddedTestServer> https_server_;
   std::unique_ptr<net::EmbeddedTestServer> https_server_mismatched_;
+  std::unique_ptr<net::EmbeddedTestServer> https_server_expired_;
 
  private:
   DISALLOW_COPY_AND_ASSIGN(SSLBrowserTest);
@@ -159,7 +201,7 @@
 // Tests clicking "take me back" on the interstitial page.
 IN_PROC_BROWSER_TEST_F(SSLBrowserTest, TakeMeBack) {
   NavigateToOkPage();
-  NavigateToPageWithSslErrorExpectSSLInterstitial();
+  NavigateToPageWithMismatchedCertExpectSSLInterstitial();
 
   // Click "Take me back".
   SendInterstitialNavigationCommandAndWait(false /*proceed*/);
@@ -169,13 +211,13 @@
 
   // Navigate to the bad SSL page again, an interstitial shows again (in
   // contrast to what would happen had the user chosen to proceed).
-  NavigateToPageWithSslErrorExpectSSLInterstitial();
+  NavigateToPageWithMismatchedCertExpectSSLInterstitial();
 }
 
 // Tests clicking "take me back" on the interstitial page when there's no
 // navigation history. The user should be taken to a safe page (about:blank).
 IN_PROC_BROWSER_TEST_F(SSLBrowserTest, TakeMeBackEmptyNavigationHistory) {
-  NavigateToPageWithSslErrorExpectSSLInterstitial();
+  NavigateToPageWithMismatchedCertExpectSSLInterstitial();
 
   // Click "Take me back".
   SendInterstitialNavigationCommandAndWait(false /*proceed*/,
@@ -184,19 +226,19 @@
 
 IN_PROC_BROWSER_TEST_F(SSLBrowserTest, Reload) {
   NavigateToOkPage();
-  NavigateToPageWithSslErrorExpectSSLInterstitial();
+  NavigateToPageWithMismatchedCertExpectSSLInterstitial();
 
   SendInterstitialReloadCommandAndWait();
 
   // TODO(blundell): Ideally we would fix the SSL error, reload, and verify
   // that the SSL interstitial isn't showing. However, currently this doesn't
   // work: Calling ResetSSLConfig() on |http_server_mismatched_| passing
-  // CERT_OK does not cause future reloads or navigations to bad_ssl_url() to
-  // succeed; they still fail and pop an interstitial. I verified that the
-  // LoadCompletionObserver is in fact waiting for a new load, i.e., there is
-  // actually a *new* SSL interstitial popped up. From looking at the
-  // ResetSSLConfig() impl there shouldn't be any waiting or anything needed
-  // within the client.
+  // CERT_OK does not cause future reloads or navigations to
+  // mismatched_cert_url() to succeed; they still fail and pop an interstitial.
+  // I verified that the LoadCompletionObserver is in fact waiting for a new
+  // load, i.e., there is actually a *new* SSL interstitial popped up. From
+  // looking at the ResetSSLConfig() impl there shouldn't be any waiting or
+  // anything needed within the client.
 }
 
 // Tests clicking proceed link on the interstitial page. This is a PRE_ test
@@ -204,26 +246,26 @@
 // across restarts.
 IN_PROC_BROWSER_TEST_F(SSLBrowserTest, PRE_Proceed) {
   NavigateToOkPage();
-  NavigateToPageWithSslErrorExpectSSLInterstitial();
+  NavigateToPageWithMismatchedCertExpectSSLInterstitial();
   SendInterstitialNavigationCommandAndWait(true /*proceed*/);
 
   // Go back to an OK page, then try to navigate again. The "Proceed" decision
   // should be saved, so no interstitial is shown this time.
   NavigateToOkPage();
-  NavigateToPageWithSslErrorExpectNotBlocked();
+  NavigateToPageWithMismatchedCertExpectNotBlocked();
 }
 
 // The proceed decision is not perpetuated across WebLayer sessions, i.e.
 // WebLayer will block again when navigating to the same bad page that was
 // previously proceeded through.
 IN_PROC_BROWSER_TEST_F(SSLBrowserTest, Proceed) {
-  NavigateToPageWithSslErrorExpectSSLInterstitial();
+  NavigateToPageWithMismatchedCertExpectSSLInterstitial();
 }
 
 // Tests navigating away from the interstitial page.
 IN_PROC_BROWSER_TEST_F(SSLBrowserTest, NavigateAway) {
   NavigateToOkPage();
-  NavigateToPageWithSslErrorExpectSSLInterstitial();
+  NavigateToPageWithMismatchedCertExpectSSLInterstitial();
   NavigateToOtherOkPage();
 }
 
@@ -234,11 +276,11 @@
 IN_PROC_BROWSER_TEST_F(SSLBrowserTest, OSReportsCaptivePortal) {
   SetDiagnoseSSLErrorsAsCaptivePortalForTesting(true);
 
-  NavigateToPageWithSslErrorExpectCaptivePortalInterstitial();
+  NavigateToPageWithMismatchedCertExpectCaptivePortalInterstitial();
 
   // Check that clearing the test setting causes behavior to revert to normal.
   SetDiagnoseSSLErrorsAsCaptivePortalForTesting(false);
-  NavigateToPageWithSslErrorExpectSSLInterstitial();
+  NavigateToPageWithMismatchedCertExpectSSLInterstitial();
 }
 
 #if defined(OS_ANDROID)
@@ -247,10 +289,28 @@
 IN_PROC_BROWSER_TEST_F(SSLBrowserTest, CaptivePortalConnectToLoginPage) {
   SetDiagnoseSSLErrorsAsCaptivePortalForTesting(true);
 
-  NavigateToPageWithSslErrorExpectCaptivePortalInterstitial();
+  NavigateToPageWithMismatchedCertExpectCaptivePortalInterstitial();
 
   SendInterstitialOpenLoginCommandAndWait();
 }
 #endif
 
+IN_PROC_BROWSER_TEST_F(SSLBrowserTest, BadClockInterstitial) {
+  // Without the NetworkTimeTracker reporting that the clock is ahead or
+  // behind, navigating to a page with an expired cert should result in the
+  // default SSL interstitial appearing.
+  NavigateToPageWithExpiredCertExpectSSLInterstitial();
+
+  // Set network time back ten minutes.
+  BrowserProcess::GetInstance()->GetNetworkTimeTracker()->UpdateNetworkTime(
+      base::Time::Now() - base::TimeDelta::FromMinutes(10),
+      base::TimeDelta::FromMilliseconds(1),   /* resolution */
+      base::TimeDelta::FromMilliseconds(500), /* latency */
+      base::TimeTicks::Now() /* posting time of this update */);
+
+  // Now navigating to a page with an expired cert should cause the bad clock
+  // interstitial to appear.
+  NavigateToPageWithExpiredCertExpectBadClockInterstitial();
+}
+
 }  // namespace weblayer
diff --git a/weblayer/browser/ssl_error_controller_client.cc b/weblayer/browser/ssl_error_controller_client.cc
index 45acb6a..be0a4d6 100644
--- a/weblayer/browser/ssl_error_controller_client.cc
+++ b/weblayer/browser/ssl_error_controller_client.cc
@@ -51,4 +51,8 @@
   OpenUrlInCurrentTab(url);
 }
 
+bool SSLErrorControllerClient::CanLaunchDateAndTimeSettings() {
+  return true;
+}
+
 }  // namespace weblayer
diff --git a/weblayer/browser/ssl_error_controller_client.h b/weblayer/browser/ssl_error_controller_client.h
index 17e526d..8f21222 100644
--- a/weblayer/browser/ssl_error_controller_client.h
+++ b/weblayer/browser/ssl_error_controller_client.h
@@ -38,6 +38,7 @@
   void GoBack() override;
   void Proceed() override;
   void OpenUrlInNewForegroundTab(const GURL& url) override;
+  bool CanLaunchDateAndTimeSettings() override;
 
  private:
   const int cert_error_;
diff --git a/weblayer/browser/ssl_error_handler.cc b/weblayer/browser/ssl_error_handler.cc
index 2ea089a..091dddf 100644
--- a/weblayer/browser/ssl_error_handler.cc
+++ b/weblayer/browser/ssl_error_handler.cc
@@ -6,6 +6,7 @@
 
 #include "base/threading/thread_task_runner_handle.h"
 #include "build/build_config.h"
+#include "components/security_interstitials/content/bad_clock_blocking_page.h"
 #include "components/security_interstitials/content/captive_portal_blocking_page.h"
 #include "components/security_interstitials/content/ssl_blocking_page.h"
 #include "components/security_interstitials/content/ssl_cert_reporter.h"
@@ -13,6 +14,8 @@
 #include "components/security_interstitials/core/metrics_helper.h"
 #include "components/security_interstitials/core/ssl_error_options_mask.h"
 #include "components/security_interstitials/core/ssl_error_ui.h"
+#include "components/ssl_errors/error_info.h"
+#include "weblayer/browser/browser_process.h"
 #include "weblayer/browser/ssl_error_controller_client.h"
 #include "weblayer/browser/weblayer_content_browser_overlay_manifest.h"
 
@@ -146,6 +149,40 @@
                                 base::WrapUnique(interstitial_page)));
 }
 
+// Constructs and shows a bad clock interstitial. Adapted from //chrome's
+// SSLErrorHandlerDelegateImpl::ShowCaptivePortalInterstitial().
+void ShowBadClockInterstitial(
+    content::WebContents* web_contents,
+    int cert_error,
+    const net::SSLInfo& ssl_info,
+    const GURL& request_url,
+    ssl_errors::ClockState clock_state,
+    std::unique_ptr<SSLCertReporter> ssl_cert_reporter,
+    base::OnceCallback<
+        void(std::unique_ptr<security_interstitials::SecurityInterstitialPage>)>
+        blocking_page_ready_callback) {
+  security_interstitials::MetricsHelper::ReportDetails report_details;
+  report_details.metric_prefix = "bad_clock";
+  auto metrics_helper = std::make_unique<security_interstitials::MetricsHelper>(
+      request_url, report_details, /*history_service=*/nullptr);
+
+  auto controller_client = std::make_unique<SSLErrorControllerClient>(
+      web_contents, cert_error, ssl_info, request_url,
+      std::move(metrics_helper));
+
+  auto* interstitial_page = new BadClockBlockingPage(
+      web_contents, cert_error, ssl_info, request_url,
+      base::Time::NowFromSystemTime(), clock_state,
+      std::move(ssl_cert_reporter), std::move(controller_client));
+
+  // Note: |blocking_page_ready_callback| must be posted due to
+  // HandleSSLError()'s guarantee that it will not invoke this callback
+  // synchronously.
+  base::ThreadTaskRunnerHandle::Get()->PostTask(
+      FROM_HERE, base::BindOnce(std::move(blocking_page_ready_callback),
+                                base::WrapUnique(interstitial_page)));
+}
+
 }  // namespace
 
 void HandleSSLError(
@@ -157,7 +194,35 @@
     base::OnceCallback<
         void(std::unique_ptr<security_interstitials::SecurityInterstitialPage>)>
         blocking_page_ready_callback) {
-  // First check for captive portal.
+  // Check for a clock error.
+  if (ssl_errors::ErrorInfo::NetErrorToErrorType(cert_error) ==
+      ssl_errors::ErrorInfo::CERT_DATE_INVALID) {
+    // This implementation is adapted from //chrome's
+    // SSLErrorHandler::HandleCertDateInvalidErrorImpl(). Note that we did not
+    // port the fetch of NetworkTimeTracker's time made in //chrome's
+    // SSLErrorHandler::HandleCertDateInvalidError() into //weblayer: this
+    // fetch introduces a fair degree of complexity into the flow by making it
+    // asynchronous, and it is not relevant on Android, where such fetches are
+    // not supported. This fetch will be incorporated when WebLayer shares
+    // //chrome's SSLErrorHandler implementation as part of crbug.com/1026547.
+
+    const base::Time now = base::Time::NowFromSystemTime();
+
+    network_time::NetworkTimeTracker* tracker =
+        BrowserProcess::GetInstance()->GetNetworkTimeTracker();
+    ssl_errors::ClockState clock_state =
+        ssl_errors::GetClockState(now, tracker);
+
+    if (clock_state == ssl_errors::CLOCK_STATE_FUTURE ||
+        clock_state == ssl_errors::CLOCK_STATE_PAST) {
+      ShowBadClockInterstitial(web_contents, cert_error, ssl_info, request_url,
+                               clock_state, std::move(ssl_cert_reporter),
+                               std::move(blocking_page_ready_callback));
+      return;
+    }
+  }
+
+  // Next check for a captive portal.
 
   // TODO(https://crbug.com/1030692): Share the check for known captive
   // portal certificates from //chrome's SSLErrorHandler:757.
diff --git a/weblayer/grit_strings_whitelist.txt b/weblayer/grit_strings_whitelist.txt
index e6ad7d7..603ce96 100644
--- a/weblayer/grit_strings_whitelist.txt
+++ b/weblayer/grit_strings_whitelist.txt
@@ -7,6 +7,12 @@
 IDS_CAPTIVE_PORTAL_PRIMARY_PARAGRAPH_WIFI
 IDS_CAPTIVE_PORTAL_PRIMARY_PARAGRAPH_WIRED
 IDS_CAPTIVE_PORTAL_PRIMARY_PARAGRAPH_WIFI_SSID
+IDS_CLOCK_ERROR_AHEAD_HEADING
+IDS_CLOCK_ERROR_BEHIND_HEADING
+IDS_CLOCK_ERROR_EXPLANATION
+IDS_CLOCK_ERROR_PRIMARY_PARAGRAPH
+IDS_CLOCK_ERROR_TITLE
+IDS_CLOCK_ERROR_UPDATE_DATE_AND_TIME
 IDS_SSL_OPEN_DETAILS_BUTTON
 IDS_SSL_CLOSE_DETAILS_BUTTON
 IDS_SSL_NONOVERRIDABLE_HSTS
diff --git a/weblayer/test/BUILD.gn b/weblayer/test/BUILD.gn
index b5314f5f..587392c5 100644
--- a/weblayer/test/BUILD.gn
+++ b/weblayer/test/BUILD.gn
@@ -81,6 +81,7 @@
     "//components/autofill/core/browser",
     "//components/autofill/core/browser:test_support",
     "//components/autofill/core/common",
+    "//components/network_time",
     "//components/security_interstitials/content:security_interstitial_page",
     "//content/public/browser",
     "//content/test:test_support",
diff --git a/weblayer/test/interstitial_utils.cc b/weblayer/test/interstitial_utils.cc
index 4266a77..7e0b9de 100644
--- a/weblayer/test/interstitial_utils.cc
+++ b/weblayer/test/interstitial_utils.cc
@@ -4,6 +4,7 @@
 
 #include "weblayer/test/interstitial_utils.h"
 
+#include "components/security_interstitials/content/bad_clock_blocking_page.h"
 #include "components/security_interstitials/content/captive_portal_blocking_page.h"
 #include "components/security_interstitials/content/security_interstitial_tab_helper.h"
 #include "components/security_interstitials/content/ssl_blocking_page.h"
@@ -57,4 +58,9 @@
       tab, CaptivePortalBlockingPage::kTypeForTesting);
 }
 
+bool IsShowingBadClockInterstitial(Tab* tab) {
+  return IsShowingInterstitialOfType(tab,
+                                     BadClockBlockingPage::kTypeForTesting);
+}
+
 }  // namespace weblayer
diff --git a/weblayer/test/interstitial_utils.h b/weblayer/test/interstitial_utils.h
index e8b7834..a1a1a063d 100644
--- a/weblayer/test/interstitial_utils.h
+++ b/weblayer/test/interstitial_utils.h
@@ -24,6 +24,9 @@
 // |tab|.
 bool IsShowingCaptivePortalInterstitial(Tab* tab);
 
+// Returns true iff a bad clock interstitial is currently displaying in |tab|.
+bool IsShowingBadClockInterstitial(Tab* tab);
+
 }  // namespace weblayer
 
 #endif  // WEBLAYER_TEST_INTERSTITIAL_UTILS_H_
